From 0277aa11b771cad13d09ab097354dc95fbfe1bdb Mon Sep 17 00:00:00 2001
From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
Date: Thu, 27 Jun 2024 09:28:53 -0700
Subject: [PATCH 01/16] Copy code from dt-mergebot
Unmodified as yet
---
packages/mergebot/DTMergeBot.PublishSettings | 1 +
packages/mergebot/LICENSE | 21 +
packages/mergebot/README.md | 151 +
packages/mergebot/apollo.config.js | 17 +
.../mergebot/docs/dt-mergebot-lifecycle.svg | 175 +
packages/mergebot/docs/how-it-works.md | 55 +
packages/mergebot/docs/policy.md | 64 +
packages/mergebot/host.json | 22 +
packages/mergebot/local.settings.json | 8 +
packages/mergebot/package-lock.json | 12982 ++++++++++++++++
packages/mergebot/package.json | 83 +
.../mergebot/src/_tests/cachedQueries.json | 322 +
.../mergebot/src/_tests/discussions.test.ts | 31 +
.../src/_tests/fixturedActions.test.ts | 64 +
.../src/_tests/fixtures/38979/_downloads.json | 3 +
.../src/_tests/fixtures/38979/_files.json | 4 +
.../src/_tests/fixtures/38979/_response.json | 2495 +++
.../src/_tests/fixtures/38979/derived.json | 339 +
.../src/_tests/fixtures/38979/mutations.json | 70 +
.../src/_tests/fixtures/38979/result.json | 30 +
.../src/_tests/fixtures/43136/_downloads.json | 3 +
.../src/_tests/fixtures/43136/_files.json | 4 +
.../src/_tests/fixtures/43136/_notes.txt | 1 +
.../src/_tests/fixtures/43136/_response.json | 336 +
.../src/_tests/fixtures/43136/derived.json | 46 +
.../src/_tests/fixtures/43136/mutations.json | 61 +
.../src/_tests/fixtures/43136/result.json | 23 +
.../src/_tests/fixtures/43144/_downloads.json | 3 +
.../src/_tests/fixtures/43144/_files.json | 4 +
.../src/_tests/fixtures/43144/_notes.txt | 1 +
.../src/_tests/fixtures/43144/_response.json | 277 +
.../src/_tests/fixtures/43144/derived.json | 46 +
.../src/_tests/fixtures/43144/mutations.json | 40 +
.../src/_tests/fixtures/43144/result.json | 20 +
.../src/_tests/fixtures/43151/_downloads.json | 3 +
.../src/_tests/fixtures/43151/_files.json | 3 +
.../src/_tests/fixtures/43151/_notes.txt | 1 +
.../src/_tests/fixtures/43151/_response.json | 221 +
.../src/_tests/fixtures/43151/derived.json | 48 +
.../src/_tests/fixtures/43151/mutations.json | 51 +
.../src/_tests/fixtures/43151/result.json | 20 +
.../src/_tests/fixtures/43160/_downloads.json | 3 +
.../src/_tests/fixtures/43160/_files.json | 4 +
.../src/_tests/fixtures/43160/_notes.txt | 1 +
.../src/_tests/fixtures/43160/_response.json | 214 +
.../src/_tests/fixtures/43160/derived.json | 46 +
.../src/_tests/fixtures/43160/mutations.json | 49 +
.../src/_tests/fixtures/43160/result.json | 25 +
.../src/_tests/fixtures/43175/_downloads.json | 3 +
.../src/_tests/fixtures/43175/_files.json | 4 +
.../src/_tests/fixtures/43175/_notes.txt | 1 +
.../src/_tests/fixtures/43175/_response.json | 277 +
.../src/_tests/fixtures/43175/derived.json | 51 +
.../src/_tests/fixtures/43175/mutations.json | 47 +
.../src/_tests/fixtures/43175/result.json | 28 +
.../src/_tests/fixtures/43235/_downloads.json | 3 +
.../src/_tests/fixtures/43235/_files.json | 4 +
.../src/_tests/fixtures/43235/_notes.txt | 1 +
.../src/_tests/fixtures/43235/_response.json | 139 +
.../src/_tests/fixtures/43235/derived.json | 40 +
.../src/_tests/fixtures/43235/mutations.json | 29 +
.../src/_tests/fixtures/43235/result.json | 17 +
.../src/_tests/fixtures/43314/_downloads.json | 3 +
.../src/_tests/fixtures/43314/_files.json | 3 +
.../src/_tests/fixtures/43314/_response.json | 260 +
.../src/_tests/fixtures/43314/derived.json | 48 +
.../src/_tests/fixtures/43314/mutations.json | 40 +
.../src/_tests/fixtures/43314/result.json | 20 +
.../43695-duplicate-comment/_downloads.json | 3 +
.../43695-duplicate-comment/_files.json | 3 +
.../43695-duplicate-comment/_response.json | 1266 ++
.../43695-duplicate-comment/derived.json | 61 +
.../43695-duplicate-comment/mutations.json | 69 +
.../43695-duplicate-comment/result.json | 29 +
.../43695-post-review/_downloads.json | 3 +
.../fixtures/43695-post-review/_files.json | 3 +
.../fixtures/43695-post-review/_response.json | 780 +
.../fixtures/43695-post-review/derived.json | 60 +
.../fixtures/43695-post-review/mutations.json | 40 +
.../fixtures/43695-post-review/result.json | 21 +
.../src/_tests/fixtures/43695/_downloads.json | 3 +
.../src/_tests/fixtures/43695/_files.json | 3 +
.../src/_tests/fixtures/43695/_response.json | 416 +
.../src/_tests/fixtures/43695/derived.json | 54 +
.../src/_tests/fixtures/43695/mutations.json | 40 +
.../src/_tests/fixtures/43695/result.json | 21 +
.../fixtures/43960-post-close/_downloads.json | 1 +
.../fixtures/43960-post-close/_files.json | 3 +
.../fixtures/43960-post-close/_response.json | 561 +
.../fixtures/43960-post-close/derived.json | 6 +
.../fixtures/43960-post-close/mutations.json | 10 +
.../fixtures/43960-post-close/result.json | 8 +
.../src/_tests/fixtures/43960/_downloads.json | 3 +
.../src/_tests/fixtures/43960/_files.json | 4 +
.../src/_tests/fixtures/43960/_response.json | 466 +
.../src/_tests/fixtures/43960/derived.json | 46 +
.../src/_tests/fixtures/43960/mutations.json | 31 +
.../src/_tests/fixtures/43960/result.json | 20 +
.../src/_tests/fixtures/44105/_downloads.json | 1 +
.../src/_tests/fixtures/44105/_files.json | 1 +
.../src/_tests/fixtures/44105/_response.json | 453 +
.../src/_tests/fixtures/44105/derived.json | 5 +
.../src/_tests/fixtures/44105/mutations.json | 10 +
.../src/_tests/fixtures/44105/result.json | 8 +
.../src/_tests/fixtures/44256/_downloads.json | 1 +
.../src/_tests/fixtures/44256/_files.json | 1 +
.../src/_tests/fixtures/44256/_response.json | 553 +
.../src/_tests/fixtures/44256/derived.json | 6 +
.../src/_tests/fixtures/44256/mutations.json | 10 +
.../src/_tests/fixtures/44256/result.json | 8 +
.../src/_tests/fixtures/44267/_downloads.json | 3 +
.../src/_tests/fixtures/44267/_files.json | 4 +
.../src/_tests/fixtures/44267/_response.json | 269 +
.../src/_tests/fixtures/44267/derived.json | 50 +
.../src/_tests/fixtures/44267/mutations.json | 51 +
.../src/_tests/fixtures/44267/result.json | 20 +
.../src/_tests/fixtures/44282/_downloads.json | 3 +
.../src/_tests/fixtures/44282/_files.json | 4 +
.../src/_tests/fixtures/44282/_response.json | 392 +
.../src/_tests/fixtures/44282/derived.json | 39 +
.../src/_tests/fixtures/44282/mutations.json | 31 +
.../src/_tests/fixtures/44282/result.json | 20 +
.../src/_tests/fixtures/44288/_downloads.json | 3 +
.../src/_tests/fixtures/44288/_files.json | 4 +
.../src/_tests/fixtures/44288/_response.json | 204 +
.../src/_tests/fixtures/44288/derived.json | 39 +
.../src/_tests/fixtures/44288/mutations.json | 20 +
.../src/_tests/fixtures/44288/result.json | 17 +
.../src/_tests/fixtures/44290/_downloads.json | 1 +
.../src/_tests/fixtures/44290/_files.json | 1 +
.../src/_tests/fixtures/44290/_response.json | 353 +
.../src/_tests/fixtures/44290/derived.json | 6 +
.../src/_tests/fixtures/44290/mutations.json | 1 +
.../src/_tests/fixtures/44290/result.json | 8 +
.../fixtures/44299-with-files/_downloads.json | 3 +
.../fixtures/44299-with-files/_files.json | 4 +
.../fixtures/44299-with-files/_response.json | 299 +
.../fixtures/44299-with-files/derived.json | 52 +
.../fixtures/44299-with-files/mutations.json | 40 +
.../fixtures/44299-with-files/result.json | 20 +
.../src/_tests/fixtures/44299/_downloads.json | 3 +
.../src/_tests/fixtures/44299/_files.json | 3 +
.../src/_tests/fixtures/44299/_response.json | 299 +
.../src/_tests/fixtures/44299/derived.json | 52 +
.../src/_tests/fixtures/44299/mutations.json | 40 +
.../src/_tests/fixtures/44299/result.json | 20 +
.../src/_tests/fixtures/44316/_downloads.json | 3 +
.../src/_tests/fixtures/44316/_files.json | 4 +
.../src/_tests/fixtures/44316/_response.json | 322 +
.../src/_tests/fixtures/44316/derived.json | 43 +
.../src/_tests/fixtures/44316/mutations.json | 31 +
.../src/_tests/fixtures/44316/result.json | 20 +
.../44343-pending-travis/_downloads.json | 3 +
.../fixtures/44343-pending-travis/_files.json | 4 +
.../44343-pending-travis/_response.json | 303 +
.../44343-pending-travis/derived.json | 35 +
.../44343-pending-travis/mutations.json | 31 +
.../fixtures/44343-pending-travis/result.json | 17 +
.../fixtures/44343-pre-travis/_downloads.json | 3 +
.../fixtures/44343-pre-travis/_files.json | 4 +
.../fixtures/44343-pre-travis/_response.json | 278 +
.../fixtures/44343-pre-travis/derived.json | 35 +
.../fixtures/44343-pre-travis/mutations.json | 31 +
.../fixtures/44343-pre-travis/result.json | 17 +
.../src/_tests/fixtures/44343/_downloads.json | 3 +
.../src/_tests/fixtures/44343/_files.json | 4 +
.../src/_tests/fixtures/44343/_response.json | 303 +
.../src/_tests/fixtures/44343/derived.json | 35 +
.../src/_tests/fixtures/44343/mutations.json | 31 +
.../src/_tests/fixtures/44343/result.json | 17 +
.../src/_tests/fixtures/44402/_downloads.json | 1 +
.../src/_tests/fixtures/44402/_files.json | 1 +
.../src/_tests/fixtures/44402/_response.json | 298 +
.../src/_tests/fixtures/44402/derived.json | 69 +
.../src/_tests/fixtures/44402/mutations.json | 41 +
.../src/_tests/fixtures/44402/result.json | 22 +
.../src/_tests/fixtures/44411/_downloads.json | 3 +
.../src/_tests/fixtures/44411/_files.json | 4 +
.../src/_tests/fixtures/44411/_response.json | 249 +
.../src/_tests/fixtures/44411/derived.json | 59 +
.../src/_tests/fixtures/44411/mutations.json | 31 +
.../src/_tests/fixtures/44411/result.json | 20 +
.../_downloads.json | 3 +
.../_files.json | 4 +
.../_response.json | 791 +
.../derived.json | 438 +
.../mutations.json | 32 +
.../result.json | 22 +
.../_downloads.json | 3 +
.../44424-2-after-travis-second/_files.json | 4 +
.../_response.json | 791 +
.../44424-2-after-travis-second/derived.json | 438 +
.../mutations.json | 23 +
.../44424-2-after-travis-second/result.json | 22 +
.../src/_tests/fixtures/44437/_downloads.json | 3 +
.../src/_tests/fixtures/44437/_files.json | 4 +
.../src/_tests/fixtures/44437/_response.json | 339 +
.../src/_tests/fixtures/44437/derived.json | 53 +
.../src/_tests/fixtures/44437/mutations.json | 31 +
.../src/_tests/fixtures/44437/result.json | 22 +
.../src/_tests/fixtures/44439/_downloads.json | 3 +
.../src/_tests/fixtures/44439/_files.json | 4 +
.../src/_tests/fixtures/44439/_response.json | 312 +
.../src/_tests/fixtures/44439/derived.json | 56 +
.../src/_tests/fixtures/44439/mutations.json | 31 +
.../src/_tests/fixtures/44439/result.json | 20 +
.../src/_tests/fixtures/44631/_downloads.json | 3 +
.../src/_tests/fixtures/44631/_files.json | 4 +
.../src/_tests/fixtures/44631/_response.json | 272 +
.../src/_tests/fixtures/44631/derived.json | 48 +
.../src/_tests/fixtures/44631/mutations.json | 59 +
.../src/_tests/fixtures/44631/result.json | 20 +
.../src/_tests/fixtures/44857/_downloads.json | 3 +
.../src/_tests/fixtures/44857/_files.json | 4 +
.../src/_tests/fixtures/44857/_response.json | 1047 ++
.../src/_tests/fixtures/44857/derived.json | 160 +
.../src/_tests/fixtures/44857/mutations.json | 42 +
.../src/_tests/fixtures/44857/result.json | 29 +
.../fixtures/44989-14days/_downloads.json | 3 +
.../_tests/fixtures/44989-14days/_files.json | 4 +
.../fixtures/44989-14days/_response.json | 448 +
.../_tests/fixtures/44989-14days/derived.json | 75 +
.../fixtures/44989-14days/mutations.json | 40 +
.../_tests/fixtures/44989-14days/result.json | 26 +
.../fixtures/44989-32days/_downloads.json | 3 +
.../_tests/fixtures/44989-32days/_files.json | 4 +
.../fixtures/44989-32days/_response.json | 448 +
.../_tests/fixtures/44989-32days/derived.json | 75 +
.../fixtures/44989-32days/mutations.json | 56 +
.../_tests/fixtures/44989-32days/result.json | 26 +
.../fixtures/44989-3days/_downloads.json | 3 +
.../_tests/fixtures/44989-3days/_files.json | 4 +
.../fixtures/44989-3days/_response.json | 448 +
.../_tests/fixtures/44989-3days/derived.json | 75 +
.../fixtures/44989-3days/mutations.json | 20 +
.../_tests/fixtures/44989-3days/result.json | 21 +
.../fixtures/44989-7days/_downloads.json | 3 +
.../_tests/fixtures/44989-7days/_files.json | 4 +
.../fixtures/44989-7days/_response.json | 448 +
.../_tests/fixtures/44989-7days/derived.json | 75 +
.../fixtures/44989-7days/mutations.json | 20 +
.../_tests/fixtures/44989-7days/result.json | 21 +
.../src/_tests/fixtures/45137/_downloads.json | 3 +
.../src/_tests/fixtures/45137/_files.json | 4 +
.../src/_tests/fixtures/45137/_response.json | 311 +
.../src/_tests/fixtures/45137/derived.json | 74 +
.../src/_tests/fixtures/45137/mutations.json | 41 +
.../src/_tests/fixtures/45137/result.json | 28 +
.../src/_tests/fixtures/45627/_downloads.json | 3 +
.../src/_tests/fixtures/45627/_files.json | 4 +
.../src/_tests/fixtures/45627/_response.json | 324 +
.../src/_tests/fixtures/45627/derived.json | 68 +
.../src/_tests/fixtures/45627/mutations.json | 78 +
.../src/_tests/fixtures/45627/result.json | 32 +
.../src/_tests/fixtures/45836/_downloads.json | 4 +
.../src/_tests/fixtures/45836/_files.json | 6 +
.../src/_tests/fixtures/45836/_response.json | 569 +
.../src/_tests/fixtures/45836/derived.json | 74 +
.../src/_tests/fixtures/45836/mutations.json | 60 +
.../src/_tests/fixtures/45836/result.json | 21 +
.../src/_tests/fixtures/45884/_downloads.json | 3 +
.../src/_tests/fixtures/45884/_files.json | 4 +
.../src/_tests/fixtures/45884/_response.json | 302 +
.../src/_tests/fixtures/45884/derived.json | 53 +
.../src/_tests/fixtures/45884/mutations.json | 29 +
.../src/_tests/fixtures/45884/result.json | 25 +
.../src/_tests/fixtures/45888/_downloads.json | 3 +
.../src/_tests/fixtures/45888/_files.json | 4 +
.../src/_tests/fixtures/45888/_response.json | 254 +
.../src/_tests/fixtures/45888/derived.json | 46 +
.../src/_tests/fixtures/45888/mutations.json | 20 +
.../src/_tests/fixtures/45888/result.json | 24 +
.../src/_tests/fixtures/45890/_downloads.json | 3 +
.../src/_tests/fixtures/45890/_files.json | 3 +
.../src/_tests/fixtures/45890/_response.json | 384 +
.../src/_tests/fixtures/45890/derived.json | 55 +
.../src/_tests/fixtures/45890/mutations.json | 40 +
.../src/_tests/fixtures/45890/result.json | 21 +
.../src/_tests/fixtures/45946/_downloads.json | 3 +
.../src/_tests/fixtures/45946/_files.json | 3 +
.../src/_tests/fixtures/45946/_response.json | 226 +
.../src/_tests/fixtures/45946/derived.json | 63 +
.../src/_tests/fixtures/45946/mutations.json | 51 +
.../src/_tests/fixtures/45946/result.json | 21 +
.../src/_tests/fixtures/45982/_downloads.json | 3 +
.../src/_tests/fixtures/45982/_files.json | 3 +
.../src/_tests/fixtures/45982/_response.json | 287 +
.../src/_tests/fixtures/45982/derived.json | 6 +
.../src/_tests/fixtures/45982/mutations.json | 44 +
.../src/_tests/fixtures/45982/result.json | 15 +
.../src/_tests/fixtures/45999/_downloads.json | 3 +
.../src/_tests/fixtures/45999/_files.json | 4 +
.../src/_tests/fixtures/45999/_response.json | 517 +
.../src/_tests/fixtures/45999/derived.json | 75 +
.../src/_tests/fixtures/45999/mutations.json | 40 +
.../src/_tests/fixtures/45999/result.json | 21 +
.../src/_tests/fixtures/46008/_downloads.json | 3 +
.../src/_tests/fixtures/46008/_files.json | 4 +
.../src/_tests/fixtures/46008/_response.json | 364 +
.../src/_tests/fixtures/46008/derived.json | 44 +
.../src/_tests/fixtures/46008/mutations.json | 49 +
.../src/_tests/fixtures/46008/result.json | 25 +
.../src/_tests/fixtures/46019/_downloads.json | 3 +
.../src/_tests/fixtures/46019/_files.json | 4 +
.../src/_tests/fixtures/46019/_response.json | 293 +
.../src/_tests/fixtures/46019/derived.json | 57 +
.../src/_tests/fixtures/46019/mutations.json | 31 +
.../src/_tests/fixtures/46019/result.json | 22 +
.../src/_tests/fixtures/46120/_downloads.json | 3 +
.../src/_tests/fixtures/46120/_files.json | 4 +
.../src/_tests/fixtures/46120/_response.json | 2260 +++
.../src/_tests/fixtures/46120/derived.json | 56 +
.../src/_tests/fixtures/46120/mutations.json | 38 +
.../src/_tests/fixtures/46120/result.json | 26 +
.../src/_tests/fixtures/46191/_downloads.json | 3 +
.../src/_tests/fixtures/46191/_files.json | 8 +
.../src/_tests/fixtures/46191/_response.json | 304 +
.../src/_tests/fixtures/46191/derived.json | 46 +
.../src/_tests/fixtures/46191/mutations.json | 52 +
.../src/_tests/fixtures/46191/result.json | 29 +
.../src/_tests/fixtures/46196/_downloads.json | 3 +
.../src/_tests/fixtures/46196/_files.json | 7 +
.../src/_tests/fixtures/46196/_response.json | 261 +
.../src/_tests/fixtures/46196/derived.json | 48 +
.../src/_tests/fixtures/46196/mutations.json | 11 +
.../src/_tests/fixtures/46196/result.json | 19 +
.../src/_tests/fixtures/46279/_downloads.json | 3 +
.../src/_tests/fixtures/46279/_files.json | 4 +
.../src/_tests/fixtures/46279/_response.json | 179 +
.../src/_tests/fixtures/46279/derived.json | 36 +
.../src/_tests/fixtures/46279/mutations.json | 29 +
.../src/_tests/fixtures/46279/result.json | 25 +
.../src/_tests/fixtures/46804/_downloads.json | 3 +
.../src/_tests/fixtures/46804/_files.json | 4 +
.../src/_tests/fixtures/46804/_response.json | 348 +
.../src/_tests/fixtures/46804/derived.json | 38 +
.../src/_tests/fixtures/46804/mutations.json | 31 +
.../src/_tests/fixtures/46804/result.json | 23 +
.../src/_tests/fixtures/46879/_downloads.json | 3 +
.../src/_tests/fixtures/46879/_files.json | 4 +
.../src/_tests/fixtures/46879/_response.json | 211 +
.../src/_tests/fixtures/46879/derived.json | 44 +
.../src/_tests/fixtures/46879/mutations.json | 31 +
.../src/_tests/fixtures/46879/result.json | 19 +
.../_downloads.json | 4 +
.../47017-blessed-and-one-owner/_files.json | 6 +
.../_response.json | 354 +
.../47017-blessed-and-one-owner/derived.json | 78 +
.../mutations.json | 11 +
.../47017-blessed-and-one-owner/result.json | 16 +
.../_downloads.json | 4 +
.../47017-blessed-and-two-owner/_files.json | 6 +
.../_response.json | 354 +
.../47017-blessed-and-two-owner/derived.json | 78 +
.../mutations.json | 41 +
.../47017-blessed-and-two-owner/result.json | 22 +
.../fixtures/47017-blessed/_downloads.json | 4 +
.../_tests/fixtures/47017-blessed/_files.json | 6 +
.../fixtures/47017-blessed/_response.json | 333 +
.../fixtures/47017-blessed/derived.json | 71 +
.../fixtures/47017-blessed/mutations.json | 11 +
.../_tests/fixtures/47017-blessed/result.json | 20 +
.../src/_tests/fixtures/47017/_downloads.json | 4 +
.../src/_tests/fixtures/47017/_files.json | 6 +
.../src/_tests/fixtures/47017/_response.json | 324 +
.../src/_tests/fixtures/47017/derived.json | 70 +
.../src/_tests/fixtures/47017/mutations.json | 20 +
.../src/_tests/fixtures/47017/result.json | 20 +
.../src/_tests/fixtures/48216/_downloads.json | 3 +
.../src/_tests/fixtures/48216/_files.json | 6 +
.../src/_tests/fixtures/48216/_response.json | 221 +
.../src/_tests/fixtures/48216/derived.json | 40 +
.../src/_tests/fixtures/48216/mutations.json | 31 +
.../src/_tests/fixtures/48216/result.json | 17 +
.../src/_tests/fixtures/48236/_downloads.json | 3 +
.../src/_tests/fixtures/48236/_files.json | 6 +
.../src/_tests/fixtures/48236/_response.json | 362 +
.../src/_tests/fixtures/48236/derived.json | 55 +
.../src/_tests/fixtures/48236/mutations.json | 52 +
.../src/_tests/fixtures/48236/result.json | 24 +
.../48652-merge-offer/_downloads.json | 1 +
.../fixtures/48652-merge-offer/_files.json | 6 +
.../fixtures/48652-merge-offer/_response.json | 770 +
.../fixtures/48652-merge-offer/derived.json | 92 +
.../fixtures/48652-merge-offer/mutations.json | 49 +
.../fixtures/48652-merge-offer/result.json | 26 +
.../fixtures/48652-prereq/_downloads.json | 1 +
.../_tests/fixtures/48652-prereq/_files.json | 6 +
.../fixtures/48652-prereq/_response.json | 770 +
.../_tests/fixtures/48652-prereq/derived.json | 94 +
.../fixtures/48652-prereq/mutations.json | 58 +
.../_tests/fixtures/48652-prereq/result.json | 30 +
.../_downloads.json | 1 +
.../_files.json | 6 +
.../_response.json | 798 +
.../derived.json | 94 +
.../mutations.json | 71 +
.../result.json | 24 +
.../48652-retract-merge-offer/_downloads.json | 1 +
.../48652-retract-merge-offer/_files.json | 6 +
.../48652-retract-merge-offer/_response.json | 784 +
.../48652-retract-merge-offer/derived.json | 92 +
.../48652-retract-merge-offer/mutations.json | 62 +
.../48652-retract-merge-offer/result.json | 20 +
.../src/_tests/fixtures/48708/_downloads.json | 3 +
.../src/_tests/fixtures/48708/_files.json | 4 +
.../src/_tests/fixtures/48708/_response.json | 366 +
.../src/_tests/fixtures/48708/derived.json | 71 +
.../src/_tests/fixtures/48708/mutations.json | 32 +
.../src/_tests/fixtures/48708/result.json | 26 +
.../src/_tests/fixtures/48945/_downloads.json | 3 +
.../src/_tests/fixtures/48945/_files.json | 4 +
.../src/_tests/fixtures/48945/_response.json | 366 +
.../src/_tests/fixtures/48945/derived.json | 55 +
.../src/_tests/fixtures/48945/mutations.json | 31 +
.../src/_tests/fixtures/48945/result.json | 20 +
.../src/_tests/fixtures/49417/_downloads.json | 1 +
.../src/_tests/fixtures/49417/_files.json | 4 +
.../src/_tests/fixtures/49417/_response.json | 742 +
.../src/_tests/fixtures/49417/derived.json | 57 +
.../src/_tests/fixtures/49417/mutations.json | 44 +
.../src/_tests/fixtures/49417/result.json | 25 +
.../src/_tests/fixtures/49548/_downloads.json | 3 +
.../src/_tests/fixtures/49548/_files.json | 4 +
.../src/_tests/fixtures/49548/_response.json | 377 +
.../src/_tests/fixtures/49548/derived.json | 40 +
.../src/_tests/fixtures/49548/mutations.json | 31 +
.../src/_tests/fixtures/49548/result.json | 25 +
.../src/_tests/fixtures/49575/_downloads.json | 1 +
.../src/_tests/fixtures/49575/_files.json | 1 +
.../src/_tests/fixtures/49575/_response.json | 751 +
.../src/_tests/fixtures/49575/derived.json | 77 +
.../src/_tests/fixtures/49575/mutations.json | 51 +
.../src/_tests/fixtures/49575/result.json | 24 +
.../src/_tests/fixtures/49841/_downloads.json | 1 +
.../src/_tests/fixtures/49841/_files.json | 5 +
.../src/_tests/fixtures/49841/_response.json | 173 +
.../src/_tests/fixtures/49841/derived.json | 47 +
.../src/_tests/fixtures/49841/mutations.json | 62 +
.../src/_tests/fixtures/49841/result.json | 25 +
.../src/_tests/fixtures/50429/_downloads.json | 3 +
.../src/_tests/fixtures/50429/_files.json | 5 +
.../src/_tests/fixtures/50429/_response.json | 276 +
.../src/_tests/fixtures/50429/derived.json | 59 +
.../src/_tests/fixtures/50429/mutations.json | 49 +
.../src/_tests/fixtures/50429/result.json | 25 +
.../src/_tests/fixtures/50443/_downloads.json | 1 +
.../src/_tests/fixtures/50443/_files.json | 1 +
.../src/_tests/fixtures/50443/_response.json | 869 ++
.../src/_tests/fixtures/50443/derived.json | 56 +
.../src/_tests/fixtures/50443/mutations.json | 31 +
.../src/_tests/fixtures/50443/result.json | 22 +
.../src/_tests/fixtures/51338/_downloads.json | 3 +
.../src/_tests/fixtures/51338/_files.json | 6 +
.../src/_tests/fixtures/51338/_response.json | 308 +
.../src/_tests/fixtures/51338/derived.json | 53 +
.../src/_tests/fixtures/51338/mutations.json | 40 +
.../src/_tests/fixtures/51338/result.json | 32 +
.../52579-edits-infra/_downloads.json | 3 +
.../fixtures/52579-edits-infra/_files.json | 5 +
.../fixtures/52579-edits-infra/_response.json | 234 +
.../fixtures/52579-edits-infra/derived.json | 60 +
.../fixtures/52579-edits-infra/mutations.json | 33 +
.../fixtures/52579-edits-infra/result.json | 22 +
.../src/_tests/fixtures/52579/_downloads.json | 3 +
.../src/_tests/fixtures/52579/_files.json | 5 +
.../src/_tests/fixtures/52579/_response.json | 234 +
.../src/_tests/fixtures/52579/derived.json | 51 +
.../src/_tests/fixtures/52579/mutations.json | 35 +
.../src/_tests/fixtures/52579/result.json | 23 +
.../src/_tests/fixtures/52848/_downloads.json | 1 +
.../src/_tests/fixtures/52848/_files.json | 1 +
.../src/_tests/fixtures/52848/_response.json | 245 +
.../src/_tests/fixtures/52848/derived.json | 35 +
.../src/_tests/fixtures/52848/mutations.json | 29 +
.../src/_tests/fixtures/52848/result.json | 19 +
.../src/_tests/fixtures/53121/_downloads.json | 3 +
.../src/_tests/fixtures/53121/_files.json | 4 +
.../src/_tests/fixtures/53121/_response.json | 213 +
.../src/_tests/fixtures/53121/derived.json | 46 +
.../src/_tests/fixtures/53121/mutations.json | 11 +
.../src/_tests/fixtures/53121/result.json | 19 +
.../src/_tests/fixtures/55035/_downloads.json | 3 +
.../src/_tests/fixtures/55035/_files.json | 4 +
.../src/_tests/fixtures/55035/_response.json | 348 +
.../src/_tests/fixtures/55035/derived.json | 58 +
.../src/_tests/fixtures/55035/mutations.json | 29 +
.../src/_tests/fixtures/55035/result.json | 35 +
.../src/_tests/fixtures/55210/_downloads.json | 3 +
.../src/_tests/fixtures/55210/_files.json | 8 +
.../src/_tests/fixtures/55210/_response.json | 454 +
.../src/_tests/fixtures/55210/derived.json | 90 +
.../src/_tests/fixtures/55210/mutations.json | 29 +
.../src/_tests/fixtures/55210/result.json | 26 +
.../src/_tests/fixtures/55508/_downloads.json | 3 +
.../src/_tests/fixtures/55508/_files.json | 4 +
.../src/_tests/fixtures/55508/_response.json | 735 +
.../src/_tests/fixtures/55508/derived.json | 64 +
.../src/_tests/fixtures/55508/mutations.json | 20 +
.../src/_tests/fixtures/55508/result.json | 25 +
.../src/_tests/fixtures/55512/_downloads.json | 3 +
.../src/_tests/fixtures/55512/_files.json | 4 +
.../src/_tests/fixtures/55512/_response.json | 239 +
.../src/_tests/fixtures/55512/derived.json | 55 +
.../src/_tests/fixtures/55512/mutations.json | 20 +
.../src/_tests/fixtures/55512/result.json | 25 +
.../src/_tests/fixtures/55741/_downloads.json | 3 +
.../src/_tests/fixtures/55741/_files.json | 5 +
.../src/_tests/fixtures/55741/_response.json | 293 +
.../src/_tests/fixtures/55741/derived.json | 49 +
.../src/_tests/fixtures/55741/mutations.json | 31 +
.../src/_tests/fixtures/55741/result.json | 20 +
.../src/_tests/fixtures/58632/_downloads.json | 1 +
.../src/_tests/fixtures/58632/_files.json | 1 +
.../src/_tests/fixtures/58632/_response.json | 325 +
.../src/_tests/fixtures/58632/derived.json | 6 +
.../src/_tests/fixtures/58632/mutations.json | 1 +
.../src/_tests/fixtures/58632/result.json | 8 +
.../src/_tests/fixtures/58764/_downloads.json | 11 +
.../src/_tests/fixtures/58764/_files.json | 20 +
.../src/_tests/fixtures/58764/_response.json | 302 +
.../src/_tests/fixtures/58764/derived.json | 225 +
.../src/_tests/fixtures/58764/mutations.json | 31 +
.../src/_tests/fixtures/58764/result.json | 22 +
.../src/_tests/fixtures/59628/_downloads.json | 3 +
.../src/_tests/fixtures/59628/_files.json | 3 +
.../src/_tests/fixtures/59628/_response.json | 357 +
.../src/_tests/fixtures/59628/derived.json | 86 +
.../src/_tests/fixtures/59628/mutations.json | 42 +
.../src/_tests/fixtures/59628/result.json | 24 +
.../src/_tests/fixtures/66742/_downloads.json | 3 +
.../src/_tests/fixtures/66742/_files.json | 4 +
.../src/_tests/fixtures/66742/_response.json | 406 +
.../src/_tests/fixtures/66742/derived.json | 53 +
.../src/_tests/fixtures/66742/mutations.json | 22 +
.../src/_tests/fixtures/66742/result.json | 19 +
.../src/_tests/fixtures/66757/_downloads.json | 3 +
.../src/_tests/fixtures/66757/_files.json | 4 +
.../src/_tests/fixtures/66757/_response.json | 323 +
.../src/_tests/fixtures/66757/derived.json | 44 +
.../src/_tests/fixtures/66757/mutations.json | 31 +
.../src/_tests/fixtures/66757/result.json | 30 +
.../src/_tests/fixtures/66979/_downloads.json | 3 +
.../src/_tests/fixtures/66979/_files.json | 4 +
.../src/_tests/fixtures/66979/_response.json | 355 +
.../src/_tests/fixtures/66979/derived.json | 57 +
.../src/_tests/fixtures/66979/mutations.json | 31 +
.../src/_tests/fixtures/66979/result.json | 29 +
.../src/_tests/fixtures/67090/_downloads.json | 5 +
.../src/_tests/fixtures/67090/_files.json | 12 +
.../src/_tests/fixtures/67090/_response.json | 435 +
.../src/_tests/fixtures/67090/derived.json | 138 +
.../src/_tests/fixtures/67090/mutations.json | 20 +
.../src/_tests/fixtures/67090/result.json | 26 +
.../src/_tests/fixtures/68381/_downloads.json | 3 +
.../src/_tests/fixtures/68381/_files.json | 4 +
.../src/_tests/fixtures/68381/_response.json | 347 +
.../src/_tests/fixtures/68381/derived.json | 41 +
.../src/_tests/fixtures/68381/mutations.json | 31 +
.../src/_tests/fixtures/68381/result.json | 24 +
.../src/_tests/fixtures/68386/_downloads.json | 1 +
.../src/_tests/fixtures/68386/_files.json | 1 +
.../src/_tests/fixtures/68386/_response.json | 582 +
.../src/_tests/fixtures/68386/derived.json | 6 +
.../src/_tests/fixtures/68386/mutations.json | 1 +
.../src/_tests/fixtures/68386/result.json | 8 +
.../src/_tests/fixtures/68510/_downloads.json | 1 +
.../src/_tests/fixtures/68510/_files.json | 4 +
.../src/_tests/fixtures/68510/_response.json | 179 +
.../src/_tests/fixtures/68510/derived.json | 34 +
.../src/_tests/fixtures/68510/mutations.json | 29 +
.../src/_tests/fixtures/68510/result.json | 17 +
.../src/_tests/fixtures/68511/_downloads.json | 1 +
.../src/_tests/fixtures/68511/_files.json | 4 +
.../src/_tests/fixtures/68511/_response.json | 179 +
.../src/_tests/fixtures/68511/derived.json | 34 +
.../src/_tests/fixtures/68511/mutations.json | 40 +
.../src/_tests/fixtures/68511/result.json | 19 +
.../src/_tests/fixtures/68512/_downloads.json | 1 +
.../src/_tests/fixtures/68512/_files.json | 3 +
.../src/_tests/fixtures/68512/_response.json | 179 +
.../src/_tests/fixtures/68512/derived.json | 34 +
.../src/_tests/fixtures/68512/mutations.json | 40 +
.../src/_tests/fixtures/68512/result.json | 19 +
.../src/_tests/fixtures/68772/_downloads.json | 3 +
.../src/_tests/fixtures/68772/_files.json | 6 +
.../src/_tests/fixtures/68772/_response.json | 250 +
.../src/_tests/fixtures/68772/derived.json | 60 +
.../src/_tests/fixtures/68772/mutations.json | 22 +
.../src/_tests/fixtures/68772/result.json | 23 +
.../src/_tests/fixtures/68908/_downloads.json | 3 +
.../src/_tests/fixtures/68908/_files.json | 14 +
.../src/_tests/fixtures/68908/_response.json | 2414 +++
.../src/_tests/fixtures/68908/derived.json | 1480 ++
.../src/_tests/fixtures/68908/mutations.json | 11 +
.../src/_tests/fixtures/68908/result.json | 21 +
.../src/_tests/fixtures/69589/_downloads.json | 3 +
.../src/_tests/fixtures/69589/_files.json | 4 +
.../src/_tests/fixtures/69589/_response.json | 351 +
.../src/_tests/fixtures/69589/derived.json | 46 +
.../src/_tests/fixtures/69589/mutations.json | 22 +
.../src/_tests/fixtures/69589/result.json | 24 +
.../mergebot/src/_tests/testEnvironment.js | 10 +
packages/mergebot/src/basic.ts | 55 +
.../mergebot/src/commands/create-fixture.ts | 106 +
.../src/commands/update-all-fixtures.ts | 26 +
.../mergebot/src/commands/update-test-data.ts | 38 +
packages/mergebot/src/comments.ts | 191 +
packages/mergebot/src/compute-pr-actions.ts | 580 +
packages/mergebot/src/discussions.ts | 11 +
packages/mergebot/src/emoji.ts | 15 +
packages/mergebot/src/execute-pr-actions.ts | 178 +
packages/mergebot/src/functions/api.ts | 39 +
.../src/functions/discussions-trigger.ts | 172 +
.../mergebot/src/functions/httpTrigger.ts | 15 +
packages/mergebot/src/functions/index.ts | 4 +
packages/mergebot/src/functions/pr-trigger.ts | 165 +
packages/mergebot/src/graphql-client.ts | 41 +
packages/mergebot/src/pr-info.ts | 585 +
.../mergebot/src/queries/SHA1-to-PR-query.ts | 47 +
.../src/queries/all-open-prs-query.ts | 39 +
.../src/queries/card-id-to-pr-query.ts | 26 +
packages/mergebot/src/queries/file-query.ts | 17 +
.../src/queries/label-columns-queries.ts | 54 +
packages/mergebot/src/queries/pr-query.ts | 254 +
.../src/queries/projectboard-cards.ts | 68 +
.../mergebot/src/queries/schema/CardIdToPr.ts | 53 +
.../queries/schema/GetAllOpenPRsAndCardIDs.ts | 83 +
.../src/queries/schema/GetFileContent.ts | 51 +
.../mergebot/src/queries/schema/GetLabels.ts | 67 +
.../src/queries/schema/GetPRForSHA1.ts | 49 +
.../queries/schema/GetProjectBoardCards.ts | 87 +
.../src/queries/schema/GetProjectColumns.ts | 59 +
packages/mergebot/src/queries/schema/PR.ts | 686 +
.../mergebot/src/queries/schema/PRFiles.ts | 80 +
.../queries/schema/graphql-global-types.ts | 93 +
packages/mergebot/src/run.ts | 177 +
.../src/scripts/updateJSONFixtures.ts | 38 +
.../src/side-effects/merge-codeowner-prs.ts | 23 +
packages/mergebot/src/types/discussions.d.ts | 42 +
packages/mergebot/src/urls.ts | 14 +
packages/mergebot/src/util/cachedQueries.ts | 21 +
packages/mergebot/src/util/comment.ts | 18 +
packages/mergebot/src/util/fetchFile.ts | 22 +
packages/mergebot/src/util/io.ts | 4 +
packages/mergebot/src/util/npm.ts | 14 +
packages/mergebot/src/util/reply.ts | 6 +
packages/mergebot/src/util/util.ts | 80 +
packages/mergebot/src/util/verify.ts | 41 +
packages/mergebot/tsconfig.json | 19 +
tsconfig.json | 4 +-
tsconfig.test.json | 1 +
652 files changed, 76987 insertions(+), 1 deletion(-)
create mode 100644 packages/mergebot/DTMergeBot.PublishSettings
create mode 100644 packages/mergebot/LICENSE
create mode 100644 packages/mergebot/README.md
create mode 100644 packages/mergebot/apollo.config.js
create mode 100644 packages/mergebot/docs/dt-mergebot-lifecycle.svg
create mode 100644 packages/mergebot/docs/how-it-works.md
create mode 100644 packages/mergebot/docs/policy.md
create mode 100644 packages/mergebot/host.json
create mode 100644 packages/mergebot/local.settings.json
create mode 100644 packages/mergebot/package-lock.json
create mode 100644 packages/mergebot/package.json
create mode 100644 packages/mergebot/src/_tests/cachedQueries.json
create mode 100644 packages/mergebot/src/_tests/discussions.test.ts
create mode 100644 packages/mergebot/src/_tests/fixturedActions.test.ts
create mode 100644 packages/mergebot/src/_tests/fixtures/38979/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/38979/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/38979/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/38979/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/38979/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/38979/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/_notes.txt
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43136/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/_notes.txt
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43144/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/_notes.txt
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43151/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/_notes.txt
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43160/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/_notes.txt
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43175/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/_notes.txt
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43235/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43314/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43314/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43314/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43314/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43314/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43314/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-post-review/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-post-review/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-post-review/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-post-review/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-post-review/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695-post-review/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43695/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960-post-close/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960-post-close/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960-post-close/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960-post-close/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960-post-close/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960-post-close/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/43960/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44105/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44105/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44105/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44105/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44105/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44105/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44256/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44256/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44256/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44256/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44256/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44256/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44267/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44267/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44267/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44267/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44267/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44267/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44282/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44282/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44282/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44282/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44282/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44282/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44288/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44288/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44288/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44288/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44288/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44288/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44290/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44290/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44290/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44290/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44290/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44290/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299-with-files/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299-with-files/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299-with-files/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299-with-files/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299-with-files/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299-with-files/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44299/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44316/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44316/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44316/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44316/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44316/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44316/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pending-travis/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pending-travis/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pending-travis/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pending-travis/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pending-travis/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pending-travis/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pre-travis/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pre-travis/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pre-travis/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pre-travis/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pre-travis/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343-pre-travis/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44343/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44402/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44402/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44402/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44402/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44402/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44402/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44411/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44411/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44411/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44411/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44411/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44411/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-1-travis-instantly-finished/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-1-travis-instantly-finished/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-1-travis-instantly-finished/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-1-travis-instantly-finished/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-1-travis-instantly-finished/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-2-after-travis-second/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-2-after-travis-second/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-2-after-travis-second/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-2-after-travis-second/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-2-after-travis-second/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44424-2-after-travis-second/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44437/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44437/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44437/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44437/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44437/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44437/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44439/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44439/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44439/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44439/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44439/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44439/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44631/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44631/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44631/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44631/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44631/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44631/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44857/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44857/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44857/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44857/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44857/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44857/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-14days/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-14days/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-14days/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-14days/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-14days/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-14days/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-32days/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-32days/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-32days/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-32days/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-32days/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-32days/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-3days/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-3days/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-3days/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-3days/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-3days/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-3days/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-7days/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-7days/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-7days/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-7days/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-7days/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/44989-7days/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45137/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45137/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45137/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45137/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45137/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45137/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45627/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45627/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45627/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45627/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45627/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45627/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45836/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45836/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45836/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45836/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45836/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45836/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45884/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45884/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45884/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45884/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45884/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45884/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45888/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45888/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45888/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45888/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45888/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45888/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45890/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45890/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45890/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45890/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45890/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45890/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45946/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45946/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45946/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45946/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45946/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45946/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45982/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45982/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45982/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45982/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45982/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45982/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45999/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45999/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45999/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45999/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45999/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/45999/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46008/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46008/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46008/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46008/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46008/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46008/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46019/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46019/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46019/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46019/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46019/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46019/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46120/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46120/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46120/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46120/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46120/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46120/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46191/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46191/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46191/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46191/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46191/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46191/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46196/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46196/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46196/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46196/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46196/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46196/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46279/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46279/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46279/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46279/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46279/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46279/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46804/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46804/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46804/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46804/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46804/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46804/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46879/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46879/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46879/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46879/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46879/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/46879/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-one-owner/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-one-owner/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-one-owner/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-one-owner/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-one-owner/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-one-owner/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-two-owner/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-two-owner/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-two-owner/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-two-owner/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-two-owner/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed-and-two-owner/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017-blessed/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/47017/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48216/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48216/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48216/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48216/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48216/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48216/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48236/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48236/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48236/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48236/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48236/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48236/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-merge-offer/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-merge-offer/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-merge-offer/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-merge-offer/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-merge-offer/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-merge-offer/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-prereq/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-prereq/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-prereq/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-prereq/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-prereq/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-prereq/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48652-retract-merge-offer/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48708/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48708/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48708/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48708/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48708/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48708/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48945/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48945/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48945/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48945/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48945/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/48945/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49417/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49417/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49417/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49417/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49417/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49417/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49548/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49548/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49548/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49548/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49548/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49548/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49575/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49575/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49575/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49575/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49575/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49575/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49841/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49841/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49841/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49841/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49841/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/49841/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50429/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50429/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50429/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50429/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50429/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50429/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50443/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50443/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50443/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50443/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50443/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/50443/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/51338/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/51338/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/51338/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/51338/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/51338/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/51338/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579-edits-infra/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579-edits-infra/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579-edits-infra/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579-edits-infra/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579-edits-infra/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579-edits-infra/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52579/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52848/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52848/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52848/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52848/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52848/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/52848/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/53121/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/53121/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/53121/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/53121/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/53121/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/53121/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55035/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55035/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55035/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55035/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55035/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55035/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55210/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55210/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55210/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55210/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55210/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55210/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55508/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55508/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55508/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55508/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55508/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55508/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55512/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55512/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55512/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55512/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55512/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55512/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55741/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55741/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55741/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55741/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55741/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/55741/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58632/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58632/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58632/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58632/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58632/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58632/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58764/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58764/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58764/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58764/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58764/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/58764/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/59628/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/59628/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/59628/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/59628/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/59628/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/59628/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66742/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66742/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66742/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66742/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66742/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66742/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66757/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66757/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66757/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66757/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66757/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66757/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66979/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66979/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66979/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66979/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66979/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/66979/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/67090/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/67090/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/67090/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/67090/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/67090/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/67090/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68381/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68381/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68381/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68381/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68381/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68381/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68386/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68386/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68386/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68386/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68386/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68386/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68510/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68510/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68510/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68510/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68510/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68510/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68511/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68511/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68511/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68511/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68511/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68511/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68512/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68512/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68512/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68512/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68512/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68512/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68772/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68772/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68772/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68772/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68772/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68772/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68908/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68908/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68908/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68908/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68908/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/68908/result.json
create mode 100644 packages/mergebot/src/_tests/fixtures/69589/_downloads.json
create mode 100644 packages/mergebot/src/_tests/fixtures/69589/_files.json
create mode 100644 packages/mergebot/src/_tests/fixtures/69589/_response.json
create mode 100644 packages/mergebot/src/_tests/fixtures/69589/derived.json
create mode 100644 packages/mergebot/src/_tests/fixtures/69589/mutations.json
create mode 100644 packages/mergebot/src/_tests/fixtures/69589/result.json
create mode 100644 packages/mergebot/src/_tests/testEnvironment.js
create mode 100644 packages/mergebot/src/basic.ts
create mode 100644 packages/mergebot/src/commands/create-fixture.ts
create mode 100644 packages/mergebot/src/commands/update-all-fixtures.ts
create mode 100644 packages/mergebot/src/commands/update-test-data.ts
create mode 100644 packages/mergebot/src/comments.ts
create mode 100644 packages/mergebot/src/compute-pr-actions.ts
create mode 100644 packages/mergebot/src/discussions.ts
create mode 100644 packages/mergebot/src/emoji.ts
create mode 100644 packages/mergebot/src/execute-pr-actions.ts
create mode 100644 packages/mergebot/src/functions/api.ts
create mode 100644 packages/mergebot/src/functions/discussions-trigger.ts
create mode 100644 packages/mergebot/src/functions/httpTrigger.ts
create mode 100644 packages/mergebot/src/functions/index.ts
create mode 100644 packages/mergebot/src/functions/pr-trigger.ts
create mode 100644 packages/mergebot/src/graphql-client.ts
create mode 100644 packages/mergebot/src/pr-info.ts
create mode 100644 packages/mergebot/src/queries/SHA1-to-PR-query.ts
create mode 100644 packages/mergebot/src/queries/all-open-prs-query.ts
create mode 100644 packages/mergebot/src/queries/card-id-to-pr-query.ts
create mode 100644 packages/mergebot/src/queries/file-query.ts
create mode 100644 packages/mergebot/src/queries/label-columns-queries.ts
create mode 100644 packages/mergebot/src/queries/pr-query.ts
create mode 100644 packages/mergebot/src/queries/projectboard-cards.ts
create mode 100644 packages/mergebot/src/queries/schema/CardIdToPr.ts
create mode 100644 packages/mergebot/src/queries/schema/GetAllOpenPRsAndCardIDs.ts
create mode 100644 packages/mergebot/src/queries/schema/GetFileContent.ts
create mode 100644 packages/mergebot/src/queries/schema/GetLabels.ts
create mode 100644 packages/mergebot/src/queries/schema/GetPRForSHA1.ts
create mode 100644 packages/mergebot/src/queries/schema/GetProjectBoardCards.ts
create mode 100644 packages/mergebot/src/queries/schema/GetProjectColumns.ts
create mode 100644 packages/mergebot/src/queries/schema/PR.ts
create mode 100644 packages/mergebot/src/queries/schema/PRFiles.ts
create mode 100644 packages/mergebot/src/queries/schema/graphql-global-types.ts
create mode 100755 packages/mergebot/src/run.ts
create mode 100644 packages/mergebot/src/scripts/updateJSONFixtures.ts
create mode 100644 packages/mergebot/src/side-effects/merge-codeowner-prs.ts
create mode 100644 packages/mergebot/src/types/discussions.d.ts
create mode 100644 packages/mergebot/src/urls.ts
create mode 100644 packages/mergebot/src/util/cachedQueries.ts
create mode 100644 packages/mergebot/src/util/comment.ts
create mode 100644 packages/mergebot/src/util/fetchFile.ts
create mode 100644 packages/mergebot/src/util/io.ts
create mode 100644 packages/mergebot/src/util/npm.ts
create mode 100644 packages/mergebot/src/util/reply.ts
create mode 100644 packages/mergebot/src/util/util.ts
create mode 100644 packages/mergebot/src/util/verify.ts
create mode 100644 packages/mergebot/tsconfig.json
diff --git a/packages/mergebot/DTMergeBot.PublishSettings b/packages/mergebot/DTMergeBot.PublishSettings
new file mode 100644
index 0000000000..908bf037b1
--- /dev/null
+++ b/packages/mergebot/DTMergeBot.PublishSettings
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/mergebot/LICENSE b/packages/mergebot/LICENSE
new file mode 100644
index 0000000000..e74fd79b29
--- /dev/null
+++ b/packages/mergebot/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 Ryan Cavanaugh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/mergebot/README.md b/packages/mergebot/README.md
new file mode 100644
index 0000000000..40404b91e8
--- /dev/null
+++ b/packages/mergebot/README.md
@@ -0,0 +1,151 @@
+This is the bot that controls the workflow of Definitely Typed PRs.
+
+## Meta
+
+
+* __State:__ Production
+* __Dashboard:__ [Azure](https://ms.portal.azure.com/#@72f988bf-86f1-41af-91ab-2d7cd011db47/resource/subscriptions/57bfeeed-c34a-4ffd-a06b-ccff27ac91b8/resourceGroups/dtmergebot/providers/Microsoft.Web/sites/DTMergeBot) — [Logs](https://ms.portal.azure.com/#blade/WebsitesExtension/FunctionsIFrameBlade/id/%2Fsubscriptions%2F57bfeeed-c34a-4ffd-a06b-ccff27ac91b8%2FresourceGroups%2Fdtmergebot%2Fproviders%2FMicrosoft.Web%2Fsites%2FDTMergeBot) — [GH Actions](https://github.com/DefinitelyTyped/dt-mergebot/actions) — [GH Webhook](https://github.com/DefinitelyTyped/DefinitelyTyped/settings/hooks/193097250)
+
+TODO: Update these links for dtmergebot2
+
+It is both a series of command line scripts which you can use to test different states, and an Azure Function App which handles incoming webhooks from the DefinitelyTyped repo.
+
+This repo is deployed to Azure on every push to master.
+To ensure we can handle timeouts on older PRs, there is a [GitHub Action](https://github.com/DefinitelyTyped/dt-mergebot/actions) that runs the bot every 6 hours against [all open PRs](./src/run.ts), and has a bunch of useful flags for running manually too.
+
+### Tasks for Moving to DT-tools
+
+1. Update local tsconfig to use ../tsconfig-base
+2. Check out the publish-on-push action Jake talked about.
+3. Make sure name change from dt-mergebot to mergebot happens everywhere.
+4. Azure sucks.
+5. Set up base *test* tsconfig.
+
+# Setup
+
+```sh
+# Clone it
+git clone https://github.com/DefinitelyTyped/dt-mergebot.git
+cd dt-mergebot
+
+# Deps
+npm install
+
+# Validate it works
+npm test
+```
+
+# How the app works
+
+There are three main stages once the app has a PR number:
+
+* Query the GitHub GraphQL API for PR metadata ([`pr-info`](src/pr-info.ts))
+* Create a PR actions metadata object ([`compute-pr-actions`](src/compute-pr-actions.ts))
+* Do work based on the resulting actions ([`execute-pr-actions`](src/execute-pr-actions.ts))
+
+# How the bot works
+
+There is an Azure function in `PR-Trigger` that receives webhooks; this function's job is to find the PR number then it runs the above steps.
+
+# Running Locally
+
+You _probably_ don't need to do this. Use test to validate any change inside the src dir against integration tests.
+
+However, you need to have a GitHub API access key in either: `DT_BOT_AUTH_TOKEN`, `BOT_AUTH_TOKEN` or `AUTH_TOKEN`.
+Ask Ryan for the bot's auth token (TypeScript team members: Look in the team OneNote).
+Don't run the bot under your own auth token as this will generate a bunch of spam from duplicate comments.
+
+```sh
+# Windows
+set BOT_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+# *nix
+export BOT_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
+```
+
+Then to run locally you'll need to install the [Azure Functions cli](https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=macos%2Ccsharp%2Cbash).
+
+# Development
+
+```sh
+# Build
+npm run build
+
+# Run the CLI to see what would happen to an existing PR
+npm run single-info -- [PR_NUM]
+# or
+npm run single-info-debug -- [PR_NUM]
+```
+
+### If you update any queries
+
+Run this to update the generate types:
+
+```sh
+# Code-gen the schema
+npm run graphql-schema
+```
+
+### If you change project columns or labels
+
+Run this to update the cached values:
+
+```sh
+# Regenerate src/_tests/cachedQueries.json
+npm run update-test-data
+```
+
+# Tests
+
+```sh
+# Run tests, TypeScript is transpiled at runtime
+npm test
+```
+
+Most of the tests run against a fixtured PR, these are high level integration tests that store the PR info and then re-run the latter two phases of the app.
+
+To create fixtures of a current PR:
+
+```sh
+# To create a fixture for PR 43161
+npm run create-fixture -- 43161
+```
+
+Then you can work against these fixtures offline with:
+
+```sh
+# Watch mode for all tests
+npm test -- --watch
+# Just run fixtures for one PR
+npm test -- --testNamePattern 44299
+```
+
+Run a test with the debugger:
+
+```sh
+node --inspect --inspect-brk ./node_modules/.bin/jest -i --runInBand --testNamePattern 44299
+```
+
+Then use "Attach to Process ID" to connect to that test runner
+
+If your changes require re-creating all fixtures:
+
+```sh
+npm run update-all-fixtures
+```
+
+Be careful with this, because PRs may now be in a different state e.g. it's now merged and it used to be a specific
+weird state.
+
+## Running with real webhooks
+
+You need a tool like [ngrok](https://ngrok.com) to expose a URL from the [webhooks section](https://github.com/DefinitelyTyped/DefinitelyTyped/settings/hooks/new) on DT.
+
+Start two terminal sessions with:
+
+- `yarn watch` (for TypeScript changes)
+- `yarn start` (for the app)
+
+Then start a third with your localhost router like ngrok:
+
+- `ngrok http 7071`
diff --git a/packages/mergebot/apollo.config.js b/packages/mergebot/apollo.config.js
new file mode 100644
index 0000000000..2ee42a0af2
--- /dev/null
+++ b/packages/mergebot/apollo.config.js
@@ -0,0 +1,17 @@
+module.exports = {
+ client: {
+ includes: ["src/queries/**"],
+ service: {
+ name: "github",
+ url: "https://api.github.com/graphql",
+ headers: {
+ authorization: `Bearer ${
+ process.env["DT_BOT_AUTH_TOKEN"] ||
+ process.env["BOT_AUTH_TOKEN"] ||
+ process.env["AUTH_TOKEN"]
+ }`,
+ accept: "application/vnd.github.starfox-preview+json, application/vnd.github.bane-preview+json",
+ },
+ }
+ }
+};
diff --git a/packages/mergebot/docs/dt-mergebot-lifecycle.svg b/packages/mergebot/docs/dt-mergebot-lifecycle.svg
new file mode 100644
index 0000000000..a96a274214
--- /dev/null
+++ b/packages/mergebot/docs/dt-mergebot-lifecycle.svg
@@ -0,0 +1,175 @@
+
diff --git a/packages/mergebot/docs/how-it-works.md b/packages/mergebot/docs/how-it-works.md
new file mode 100644
index 0000000000..e124732ba7
--- /dev/null
+++ b/packages/mergebot/docs/how-it-works.md
@@ -0,0 +1,55 @@
+_Disclaimer: This could be out of date, the source of truth is always [compute-pr-actions]_
+
+
+
+
+### What PRs does the bot ignore
+
+- Draft PRs
+- Closed PRs
+
+### What type of PRs need to be reviewed by a DT maintainer
+
+- PRs that affect DT infrastructure
+- PRs that affect more than 50 Definition Owners
+- PRs that affect extremely popular packages (5m downloads per month)
+- PRs that add new packages
+- PRs that change DT types with no tests
+- PRs that change DT types and there are no other Definition Owners
+- PRs that change a DT module's infra (`tsconfig.json` etc)
+
+PRs that are blessed (see `info.blessingKind`) as `review` are excluded
+when possible, and PRs that are blessed as `merge` can be merged without
+reviews.
+
+### Stale PRs
+
+There are several categories for PRs getting stale: "Unmerged" (good to go, but
+author+owners didn't request to merge them), "Abandoned" (bad CI, change
+requests), "Unreviewed" (got no reviews). Each of these starts a day countdown
+at a configurable point, and goes through several states at configurable day
+counts:
+
+- `fresh`: just entered the corresponding staleness timeline, nothing done.
+- `attention`: the inactivity is now shown on the welcome message with a brief
+ explanation.
+- `nearly`: a comment is posted and a label with the staleness category is
+ added.
+- `done`: the timeline is done, either move the PR to a column (unreviewed) or
+ close it (the other).
+
+See the `getStaleness` definition in [compute-pr-actions] for the current
+configuration (conditions, count start, day counts, and final action).
+
+The explanations for `attention` and the posted comments are defined in
+`StalenessExplanations` and `StalenessComment` respectively (in [comments]).
+
+### Cleanup
+
+The [`run` script](../src/run.ts) is running every 6 hours, cutting the
+`Recently Merged` column to 50. It also removes closed PRs from other columns
+as a safeguard in case the bot missed a PR closing event.
+
+
+[compute-pr-actions]:
+[comments]:
diff --git a/packages/mergebot/docs/policy.md b/packages/mergebot/docs/policy.md
new file mode 100644
index 0000000000..9748254924
--- /dev/null
+++ b/packages/mergebot/docs/policy.md
@@ -0,0 +1,64 @@
+
+DefinitelyTyped PRs are now subject to the following constraints to improve throughput and reduce latency.
+
+## Terms
+
+### Unmergeable
+
+A PR is *unmergeable* if any of the following are true:
+ * It contains merge conflicts (the `Has Merge Conflict` label will be applied)
+ * It is failing the CI build (the `The CI build failed` label will be applied)
+ * It has unaddressed comments from code reviewers (the `Revision needed`) will be applied
+
+### Mergeable
+
+A PR is *mergeable* if it is not *unmergeable*.
+
+### Passing Code Review
+
+A user has submitted a *passing code review* if they:
+ * :+1: `dt-bot`'s comment
+ * Post a comment containing :+1:
+ * Use GitHub's "review" feature and Approve
+
+### Definition Author
+
+A *definition author* is a user listed in the `index.d.ts` file authors list.
+These users are assumed to have appropriate knowledge of the file and are considered trustworthy reviewers.
+
+DT maintainers may treat themselves as definition authors at their discretion.
+
+### Express Merge
+
+A PR is available to *express merge* if:
+ * The PR is *mergeable*
+ * The PR has a *passing review* from a *definition author*
+
+An *express merge* may occur immediately and automatically.
+
+### LGTM Merge
+
+A PR is available to *LGTM merge* if:
+ * The PR is *mergeable*
+ * The PR has a *passing review* from anyone
+ * Three days have elapsed since the PR code was last changed
+
+*LGTM merges* will occur manually at DT maintainers' discretion.
+
+### YSYL (You Snooze You Lose) Merge
+
+A PR is available to *YSYL merge* if:
+ * The PR is *mergeable*
+ * No one has left a review with concrete next steps
+ * Five days have elapsed since the PR code was last changed
+
+*YSYL merges* will occur manually at DT maintainers' discretion.
+
+### Abandoned
+
+A PR is *abandoned* if:
+ * It is *unmergeable*
+ * The author has not commented on the PR in seven days
+ * The author has not pushed commits to the PR in seven days
+
+Abandoned PRs will be automatically closed.
diff --git a/packages/mergebot/host.json b/packages/mergebot/host.json
new file mode 100644
index 0000000000..71d4370019
--- /dev/null
+++ b/packages/mergebot/host.json
@@ -0,0 +1,22 @@
+{
+ "version": "2.0",
+ "logging": {
+ "applicationInsights": {
+ "samplingSettings": {
+ "isEnabled": true,
+ "excludedTypes": "Request"
+ }
+ }
+ },
+ "singleton": {
+ "lockPeriod": "00:00:15",
+ "listenerLockPeriod": "00:01:00",
+ "listenerLockRecoveryPollingInterval": "00:01:00",
+ "lockAcquisitionTimeout": "00:01:00",
+ "lockAcquisitionPollingInterval": "00:00:03"
+ },
+ "extensionBundle": {
+ "id": "Microsoft.Azure.Functions.ExtensionBundle",
+ "version": "[3.15.0, 4.0.0)"
+ }
+}
diff --git a/packages/mergebot/local.settings.json b/packages/mergebot/local.settings.json
new file mode 100644
index 0000000000..6beb0236ad
--- /dev/null
+++ b/packages/mergebot/local.settings.json
@@ -0,0 +1,8 @@
+{
+ "IsEncrypted": false,
+ "Values": {
+ "FUNCTIONS_WORKER_RUNTIME": "node",
+ "AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
+ "AzureWebJobsStorage": ""
+ }
+}
diff --git a/packages/mergebot/package-lock.json b/packages/mergebot/package-lock.json
new file mode 100644
index 0000000000..179b7c3b14
--- /dev/null
+++ b/packages/mergebot/package-lock.json
@@ -0,0 +1,12982 @@
+{
+ "name": "dt-mergebot",
+ "version": "3.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "dt-mergebot",
+ "version": "3.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/client": "^3.10.3",
+ "@azure/functions": "^4.4.0",
+ "@definitelytyped/old-header-parser": "npm:@definitelytyped/header-parser@0.0.178",
+ "@definitelytyped/utils": "^0.1.6",
+ "@octokit/webhooks-methods": "^4.1.0",
+ "dayjs": "^1.11.11",
+ "fast-json-patch": "^3.1.1",
+ "graphql": "15.8.0",
+ "prettyjson": "^1.2.5",
+ "yargs": "^17.7.2"
+ },
+ "devDependencies": {
+ "@octokit/graphql-schema": "^14.58.0",
+ "@octokit/webhooks-types": "^7.5.1",
+ "@types/jest": "^29.5.12",
+ "@types/node": "^18.19.33",
+ "@types/prettyjson": "^0.0.33",
+ "@types/yargs": "^17.0.32",
+ "@typescript-eslint/eslint-plugin": "^7.9.0",
+ "@typescript-eslint/parser": "^7.9.0",
+ "apollo": "^2.34.0",
+ "azure-functions-core-tools": "^4.0.5700",
+ "esbuild": "^0.21.5",
+ "eslint": "^8.57.0",
+ "eslint-plugin-unicorn": "^52.0.0",
+ "jest": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-file-snapshot": "^0.5.0",
+ "knip": "^5.15.1",
+ "rimraf": "^5.0.7",
+ "ts-jest": "^29.1.2",
+ "typescript": "^5.4.5"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@apollo/client": {
+ "version": "3.10.3",
+ "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.10.3.tgz",
+ "integrity": "sha512-4EIgZnFmRO1laWv3NCxlVIxcvimG63djuAXvyXhpQH3wkNMv9SykrasKRN08+z+cn/fVisBOLmkSRdyNyP9f4A==",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@wry/caches": "^1.0.0",
+ "@wry/equality": "^0.5.6",
+ "@wry/trie": "^0.5.0",
+ "graphql-tag": "^2.12.6",
+ "hoist-non-react-statics": "^3.3.2",
+ "optimism": "^0.18.0",
+ "prop-types": "^15.7.2",
+ "rehackt": "^0.1.0",
+ "response-iterator": "^0.2.6",
+ "symbol-observable": "^4.0.0",
+ "ts-invariant": "^0.10.3",
+ "tslib": "^2.3.0",
+ "zen-observable-ts": "^1.2.5"
+ },
+ "peerDependencies": {
+ "graphql": "^15.0.0 || ^16.0.0",
+ "graphql-ws": "^5.5.5",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "subscriptions-transport-ws": "^0.9.0 || ^0.11.0"
+ },
+ "peerDependenciesMeta": {
+ "graphql-ws": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "subscriptions-transport-ws": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@apollo/federation": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/@apollo/federation/-/federation-0.27.0.tgz",
+ "integrity": "sha512-hMeRN9IPsIn+5J5SmWof0ODbvRjRj8mBNqbsm9Zjkqjbw6RTlcx90taMk7cYhcd/E+uTyLQt5cOSRVBx53cxbQ==",
+ "deprecated": "The @apollo/federation package is deprecated and will reach end-of-life September 22, 2023. It contains outdated utilities for both running subgraphs and composing supergraph schemas. Please migrate to the appropriate package for your use case (@apollo/subgraph or @apollo/composition). For more details, see our announcement blog post (https://www.apollographql.com/blog/announcement/backend/announcing-the-end-of-life-schedule-for-apollo-gateway-v0-x/) and documentation (https://www.apollographql.com/docs/federation/federation-2/backward-compatibility/#is-official-support-ending-for-apollogateway-v0x).",
+ "dev": true,
+ "dependencies": {
+ "apollo-graphql": "^0.9.3",
+ "lodash.xorby": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=12.13.0 <17.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.5.0 || ^15.0.0"
+ }
+ },
+ "node_modules/@apollo/utils.keyvaluecache": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz",
+ "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==",
+ "dev": true,
+ "dependencies": {
+ "@apollo/utils.logger": "^1.0.0",
+ "lru-cache": "7.10.1 - 7.13.1"
+ }
+ },
+ "node_modules/@apollo/utils.logger": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz",
+ "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==",
+ "dev": true
+ },
+ "node_modules/@apollographql/apollo-tools": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz",
+ "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "graphql": "^14.2.1 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@apollographql/graphql-language-service-interface": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@apollographql/graphql-language-service-interface/-/graphql-language-service-interface-2.0.2.tgz",
+ "integrity": "sha512-28wePK0hlIVjgmvMXMAUq8qRSjz9O+6lqFp4PzOTHtfJfSsjVe9EfjF98zTpHsTgT3HcOxmbqDZZy8jlXtOqEA==",
+ "dev": true,
+ "dependencies": {
+ "@apollographql/graphql-language-service-parser": "^2.0.0",
+ "@apollographql/graphql-language-service-types": "^2.0.0",
+ "@apollographql/graphql-language-service-utils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "graphql": "^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0"
+ }
+ },
+ "node_modules/@apollographql/graphql-language-service-parser": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@apollographql/graphql-language-service-parser/-/graphql-language-service-parser-2.0.2.tgz",
+ "integrity": "sha512-rpTPrEJu1PMaRQxz5P8BZWsixNNhYloS0H0dwTxNBuE3qctbARvR7o8UCKLsmKgTbo+cz3T3a6IAsWlkHgMWGg==",
+ "dev": true,
+ "dependencies": {
+ "@apollographql/graphql-language-service-types": "^2.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0"
+ }
+ },
+ "node_modules/@apollographql/graphql-language-service-types": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@apollographql/graphql-language-service-types/-/graphql-language-service-types-2.0.2.tgz",
+ "integrity": "sha512-vE+Dz8pG+Xa1Z2nMl82LoO66lQ6JqBUjaXqLDvS3eMjvA3N4hf+YUDOWfPdNZ0zjhHhHXzUIIZCkax6bXfFbzQ==",
+ "dev": true,
+ "peerDependencies": {
+ "graphql": "^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0"
+ }
+ },
+ "node_modules/@apollographql/graphql-language-service-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@apollographql/graphql-language-service-utils/-/graphql-language-service-utils-2.0.2.tgz",
+ "integrity": "sha512-fDj5rWlTi/czvUS5t7V7I45Ai6bOO3Z7JARYj21Y2xxfbRGtJi6h8FvLX0N/EbzQgo/fiZc/HAhtfwn+OCjD7A==",
+ "dev": true,
+ "dependencies": {
+ "@apollographql/graphql-language-service-types": "^2.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0"
+ }
+ },
+ "node_modules/@azure/functions": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@azure/functions/-/functions-4.4.0.tgz",
+ "integrity": "sha512-debidWolFTsfapsK53ftzLtXJc3dbYYPc9UqJoEm1GAj1lS7jFMARQnbfTQPDqBIhuJxLZ9D8WVvhIEV7Hifzw==",
+ "dependencies": {
+ "cookie": "^0.6.0",
+ "long": "^4.0.0",
+ "undici": "^5.13.0"
+ },
+ "engines": {
+ "node": ">=18.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+ "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.24.2",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz",
+ "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz",
+ "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.5",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.24.5",
+ "@babel/helpers": "^7.24.5",
+ "@babel/parser": "^7.24.5",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.5",
+ "@babel/types": "^7.24.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/@babel/generator": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz",
+ "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.5",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.17.10",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
+ "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.17.10",
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.24.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
+ "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz",
+ "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.24.3",
+ "@babel/helper-simple-access": "^7.24.5",
+ "@babel/helper-split-export-declaration": "^7.24.5",
+ "@babel/helper-validator-identifier": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz",
+ "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz",
+ "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz",
+ "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
+ "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz",
+ "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+ "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz",
+ "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.5",
+ "@babel/types": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz",
+ "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz",
+ "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
+ "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz",
+ "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+ "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz",
+ "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.24.5",
+ "@babel/parser": "^7.24.5",
+ "@babel/types": "^7.24.5",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/@babel/generator": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz",
+ "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.5",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.17.10",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
+ "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "node_modules/@definitelytyped/old-header-parser": {
+ "name": "@definitelytyped/header-parser",
+ "version": "0.0.178",
+ "resolved": "https://registry.npmjs.org/@definitelytyped/header-parser/-/header-parser-0.0.178.tgz",
+ "integrity": "sha512-16FFuaWW2Hq+a0Abyt+9gvPAT0w/ezy4eph3RbtLSqxH3T/UHDla1jgnp1DMvfNeBWaIqHxcr+Vrr7BPquw7mw==",
+ "dependencies": {
+ "@definitelytyped/typescript-versions": "^0.0.178",
+ "@types/parsimmon": "^1.10.1",
+ "parsimmon": "^1.13.0"
+ }
+ },
+ "node_modules/@definitelytyped/typescript-versions": {
+ "version": "0.0.178",
+ "resolved": "https://registry.npmjs.org/@definitelytyped/typescript-versions/-/typescript-versions-0.0.178.tgz",
+ "integrity": "sha512-pPXy3z5gE4xnVgqIRApFcQ6M6kqtRK1gnqyGx/I0Yo1CH8RAsRvumCDB/KiZmQDpCHiy//E9dOIUFdquvC5t7g=="
+ },
+ "node_modules/@definitelytyped/utils": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@definitelytyped/utils/-/utils-0.1.6.tgz",
+ "integrity": "sha512-QRA3Gr2jfQcPoN35yLexdW/JCoYNNLSLX0xKMa+y28nZXyv+9RVr+UruoYiyxtwcf+W3b49X2I8fGYIlzoGw6w==",
+ "dependencies": {
+ "@qiwi/npm-registry-client": "^8.9.1",
+ "@types/node": "^18.19.7",
+ "cachedir": "^2.0.0",
+ "charm": "^1.0.2",
+ "minimatch": "^9.0.3",
+ "tar": "^6.2.1",
+ "tar-stream": "^3.1.6",
+ "which": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz",
+ "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==",
+ "dev": true,
+ "dependencies": {
+ "lodash.get": "^4",
+ "make-error": "^1",
+ "ts-node": "^9",
+ "tslib": "^2"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "cosmiconfig": ">=6"
+ }
+ },
+ "node_modules/@ericcornelissen/bash-parser": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@ericcornelissen/bash-parser/-/bash-parser-0.5.2.tgz",
+ "integrity": "sha512-4pIMTa1nEFfMXitv7oaNEWOdM+zpOZavesa5GaiWTgda6Zk32CFGxjUp/iIaN0PwgUW1yTq/fztSjbpE8SLGZQ==",
+ "dev": true,
+ "dependencies": {
+ "array-last": "^1.1.1",
+ "babylon": "^6.9.1",
+ "compose-function": "^3.0.3",
+ "deep-freeze": "0.0.1",
+ "filter-iterator": "0.0.1",
+ "filter-obj": "^1.1.0",
+ "has-own-property": "^0.1.0",
+ "identity-function": "^1.0.0",
+ "is-iterable": "^1.1.0",
+ "iterable-lookahead": "^1.0.0",
+ "lodash.curry": "^4.1.1",
+ "magic-string": "^0.16.0",
+ "map-obj": "^2.0.0",
+ "object-pairs": "^0.1.0",
+ "object-values": "^1.0.0",
+ "reverse-arguments": "^1.0.0",
+ "shell-quote-word": "^1.0.1",
+ "to-pascal-case": "^1.0.0",
+ "unescape-js": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@fastify/busboy": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
+ "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
+ "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "dev": true
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+ "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/reporters": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^29.7.0",
+ "jest-config": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-resolve-dependencies": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/core/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/environment": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^29.7.0",
+ "jest-snapshot": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/expect-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@sinonjs/fake-timers": "^10.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+ "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "jest-mock": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+ "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
+ "dev": true,
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^6.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0",
+ "v8-to-istanbul": "^9.0.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+ "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+ "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+ "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.0",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@oclif/color": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@oclif/color/-/color-1.0.13.tgz",
+ "integrity": "sha512-/2WZxKCNjeHlQogCs1VBtJWlPXjwWke/9gMrwsVsrUt00g2V6LUBvwgwrxhrXepjOmq4IZ5QeNbpDMEOUlx/JA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.2.1",
+ "chalk": "^4.1.0",
+ "strip-ansi": "^6.0.1",
+ "supports-color": "^8.1.1",
+ "tslib": "^2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@oclif/command": {
+ "version": "1.8.16",
+ "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.16.tgz",
+ "integrity": "sha512-rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "@oclif/config": "^1.18.2",
+ "@oclif/errors": "^1.3.5",
+ "@oclif/help": "^1.0.1",
+ "@oclif/parser": "^3.8.6",
+ "debug": "^4.1.1",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "@oclif/config": "^1"
+ }
+ },
+ "node_modules/@oclif/config": {
+ "version": "1.18.3",
+ "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.3.tgz",
+ "integrity": "sha512-sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "@oclif/errors": "^1.3.5",
+ "@oclif/parser": "^3.8.0",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-wsl": "^2.1.1",
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/core": {
+ "version": "1.26.2",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-1.26.2.tgz",
+ "integrity": "sha512-6jYuZgXvHfOIc9GIaS4T3CIKGTjPmfAxuMcbCbMRKJJl4aq/4xeRlEz0E8/hz8HxvxZBGvN2GwAUHlrGWQVrVw==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/linewrap": "^1.0.0",
+ "@oclif/screen": "^3.0.4",
+ "ansi-escapes": "^4.3.2",
+ "ansi-styles": "^4.3.0",
+ "cardinal": "^2.1.1",
+ "chalk": "^4.1.2",
+ "clean-stack": "^3.0.1",
+ "cli-progress": "^3.10.0",
+ "debug": "^4.3.4",
+ "ejs": "^3.1.6",
+ "fs-extra": "^9.1.0",
+ "get-package-type": "^0.1.0",
+ "globby": "^11.1.0",
+ "hyperlinker": "^1.0.0",
+ "indent-string": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "js-yaml": "^3.14.1",
+ "natural-orderby": "^2.0.3",
+ "object-treeify": "^1.1.33",
+ "password-prompt": "^1.1.2",
+ "semver": "^7.3.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "supports-color": "^8.1.1",
+ "supports-hyperlinks": "^2.2.0",
+ "tslib": "^2.4.1",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@oclif/errors": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz",
+ "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^3.0.0",
+ "fs-extra": "^8.1",
+ "indent-string": "^4.0.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/help": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/@oclif/help/-/help-1.0.15.tgz",
+ "integrity": "sha512-Yt8UHoetk/XqohYX76DfdrUYLsPKMc5pgkzsZVHDyBSkLiGRzujVaGZdjr32ckVZU9q3a47IjhWxhip7Dz5W/g==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "@oclif/config": "1.18.16",
+ "@oclif/errors": "1.3.6",
+ "chalk": "^4.1.2",
+ "indent-string": "^4.0.0",
+ "lodash": "^4.17.21",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^6.2.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/help/node_modules/@oclif/config": {
+ "version": "1.18.16",
+ "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.16.tgz",
+ "integrity": "sha512-VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "@oclif/errors": "^1.3.6",
+ "@oclif/parser": "^3.8.16",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-wsl": "^2.1.1",
+ "tslib": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/help/node_modules/@oclif/errors": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz",
+ "integrity": "sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^3.0.0",
+ "fs-extra": "^8.1",
+ "indent-string": "^4.0.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/help/node_modules/@oclif/errors/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@oclif/help/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/linewrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz",
+ "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==",
+ "dev": true
+ },
+ "node_modules/@oclif/parser": {
+ "version": "3.8.17",
+ "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.17.tgz",
+ "integrity": "sha512-l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "@oclif/errors": "^1.3.6",
+ "@oclif/linewrap": "^1.0.0",
+ "chalk": "^4.1.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/parser/node_modules/@oclif/errors": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz",
+ "integrity": "sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^3.0.0",
+ "fs-extra": "^8.1",
+ "indent-string": "^4.0.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-1.3.0.tgz",
+ "integrity": "sha512-N2DRWKvuSXTGuaYf4buRbRfh5yNybb1cjQmPl9viY0BIqTwZgtQdzSD6ZSOkwda51RbGcQomYcc/h8T+ZFAkMQ==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "^1.7.0",
+ "chalk": "^4.1.0",
+ "debug": "^4.3.4",
+ "fs-extra": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-help": {
+ "version": "5.1.12",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.1.12.tgz",
+ "integrity": "sha512-HvH/RubJxqCinP0vUWQLTOboT+SfjfL8h40s+PymkWaldIcXlpoRaJX50vz+SjZIs7uewZwEk8fzLqpF/BWXlg==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "^1.3.6"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-not-found": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.3.1.tgz",
+ "integrity": "sha512-AeNBw+zSkRpePmpXO8xlL072VF2/R2yK3qsVs/JF26Yw1w77TWuRTdFR+hFotJtFCJ4QYqhNtKSjdryCO9AXsA==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/color": "^1.0.0",
+ "@oclif/core": "^1.2.1",
+ "fast-levenshtein": "^3.0.0",
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-plugins": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-2.1.0.tgz",
+ "integrity": "sha512-Bgt+QpTlX7+Q0HkVgtbUGYQlo/hyzNBAaXH5l16ou9Ji5wfi5T+niV5AzQ14R7JF8ZDOTbUOU/NRBJ2bzLCaZQ==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/color": "^1.0.1",
+ "@oclif/core": "^1.2.0",
+ "chalk": "^4.1.2",
+ "debug": "^4.1.0",
+ "fs-extra": "^9.0",
+ "http-call": "^5.2.2",
+ "load-json-file": "^5.3.0",
+ "npm-run-path": "^4.0.1",
+ "semver": "^7.3.2",
+ "tslib": "^2.0.0",
+ "yarn": "^1.22.17"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-plugins/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@oclif/plugin-plugins/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/@oclif/plugin-plugins/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.4.tgz",
+ "integrity": "sha512-9dprC1CWPjesg0Vf/rDSQH2tzJXhP1ow84cb2My1kj6e6ESulPKpctiCFSZ1WaCQFfq+crKhzlNoP/vRaXNUAg==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "^1.0.8",
+ "chalk": "^4.1.0",
+ "debug": "^4.1.0",
+ "fs-extra": "^9.0.1",
+ "http-call": "^5.2.2",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@oclif/screen": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.8.tgz",
+ "integrity": "sha512-yx6KAqlt3TAHBduS2fMQtJDL2ufIHnDRArrJEOoTTuizxqmjLT+psGYOHpmMl3gvQpFJ11Hs76guUUktzAF9Bg==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@octokit/graphql-schema": {
+ "version": "14.58.0",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql-schema/-/graphql-schema-14.58.0.tgz",
+ "integrity": "sha512-89QSUV1Dgxzq90wqkv0Nmw7jHfFCAQ4K/fjp5ezvDEHqFFzMCn25TBQlm38WB8ams+hGxInRDbITCP0n7GTGlg==",
+ "dev": true,
+ "dependencies": {
+ "graphql": "^16.0.0",
+ "graphql-tag": "^2.10.3"
+ }
+ },
+ "node_modules/@octokit/graphql-schema/node_modules/graphql": {
+ "version": "16.8.1",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz",
+ "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@octokit/webhooks-methods": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-4.1.0.tgz",
+ "integrity": "sha512-zoQyKw8h9STNPqtm28UGOYFE7O6D4Il8VJwhAtMHFt2C4L0VQT1qGKLeefUOqHNs1mNRYSadVv7x0z8U2yyeWQ==",
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/webhooks-types": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-7.5.1.tgz",
+ "integrity": "sha512-1dozxWEP8lKGbtEu7HkRbK1F/nIPuJXNfT0gd96y6d3LcHZTtRtlf8xz3nicSJfesADxJyDh+mWBOsdLkqgzYw==",
+ "dev": true
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@qiwi/npm-registry-client": {
+ "version": "8.9.1",
+ "resolved": "https://registry.npmjs.org/@qiwi/npm-registry-client/-/npm-registry-client-8.9.1.tgz",
+ "integrity": "sha512-rZF+mG+NfijR0SHphhTLHRr4aM4gtfdwoAMY6we2VGQam8vkN1cxGG1Lg/Llrj8Dd0Mu6VjdFQRyMMRZxtZR2A==",
+ "dependencies": {
+ "concat-stream": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "normalize-package-data": "~1.0.1 || ^2.0.0 || ^3.0.0",
+ "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^8.0.0",
+ "once": "^1.4.0",
+ "request": "^2.88.2",
+ "retry": "^0.12.0",
+ "safe-buffer": "^5.2.1",
+ "semver": "2 >=2.2.1 || 3.x || 4 || 5 || 7",
+ "slide": "^1.1.6",
+ "ssri": "^8.0.0"
+ },
+ "optionalDependencies": {
+ "npmlog": "2 || ^3.1.0 || ^4.0.0"
+ }
+ },
+ "node_modules/@samverschueren/stream-to-observable": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz",
+ "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==",
+ "dev": true,
+ "dependencies": {
+ "any-observable": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependenciesMeta": {
+ "rxjs": {
+ "optional": true
+ },
+ "zen-observable": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+ "dev": true,
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+ "dev": true,
+ "dependencies": {
+ "@sinonjs/commons": "^3.0.0"
+ }
+ },
+ "node_modules/@snyk/github-codeowners": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@snyk/github-codeowners/-/github-codeowners-1.1.0.tgz",
+ "integrity": "sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==",
+ "dev": true,
+ "dependencies": {
+ "commander": "^4.1.1",
+ "ignore": "^5.1.8",
+ "p-map": "^4.0.0"
+ },
+ "bin": {
+ "github-codeowners": "dist/cli.js"
+ },
+ "engines": {
+ "node": ">=8.10"
+ }
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__core/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
+ "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "node_modules/@types/babel__traverse/node_modules/@babel/types": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz",
+ "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+ "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+ "dev": true
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "29.5.12",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
+ "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^29.0.0",
+ "pretty-format": "^29.0.0"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "18.19.33",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.33.tgz",
+ "integrity": "sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==",
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/node-fetch": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+ "dev": true
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+ "dev": true
+ },
+ "node_modules/@types/parsimmon": {
+ "version": "1.10.9",
+ "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.9.tgz",
+ "integrity": "sha512-O2M2x1w+m7gWLen8i5DOy6tWRnbRcsW6Pke3j3HAsJUrPb4g0MgjksIUm2aqUtCYxy7Qjr3CzjjwQBzhiGn46A=="
+ },
+ "node_modules/@types/prettyjson": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/@types/prettyjson/-/prettyjson-0.0.33.tgz",
+ "integrity": "sha512-hHZMkavT9OXFq8p6pTCiaREtPxMRfy9NMp+Qa4PWH0RINQjyh0crOhoqUFA/cvIZncpjBpdvxkoe7nmVbyBJXw==",
+ "dev": true
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+ "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+ "dev": true
+ },
+ "node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+ "dev": true
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.9.0.tgz",
+ "integrity": "sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.9.0",
+ "@typescript-eslint/type-utils": "7.9.0",
+ "@typescript-eslint/utils": "7.9.0",
+ "@typescript-eslint/visitor-keys": "7.9.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.9.0.tgz",
+ "integrity": "sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "7.9.0",
+ "@typescript-eslint/types": "7.9.0",
+ "@typescript-eslint/typescript-estree": "7.9.0",
+ "@typescript-eslint/visitor-keys": "7.9.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.9.0.tgz",
+ "integrity": "sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.9.0",
+ "@typescript-eslint/visitor-keys": "7.9.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.9.0.tgz",
+ "integrity": "sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "7.9.0",
+ "@typescript-eslint/utils": "7.9.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.9.0.tgz",
+ "integrity": "sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.9.0.tgz",
+ "integrity": "sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.9.0",
+ "@typescript-eslint/visitor-keys": "7.9.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.9.0.tgz",
+ "integrity": "sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "7.9.0",
+ "@typescript-eslint/types": "7.9.0",
+ "@typescript-eslint/typescript-estree": "7.9.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.9.0.tgz",
+ "integrity": "sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.9.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
+ "node_modules/@wry/caches": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz",
+ "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@wry/context": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.4.tgz",
+ "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@wry/equality": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.7.tgz",
+ "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@wry/trie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.5.0.tgz",
+ "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/aggregate-error/node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/ansicolors": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
+ "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
+ "dev": true
+ },
+ "node_modules/any-observable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz",
+ "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/apollo": {
+ "version": "2.34.0",
+ "resolved": "https://registry.npmjs.org/apollo/-/apollo-2.34.0.tgz",
+ "integrity": "sha512-gDH+WBN+b6TA/tIrIuAyO6Df4tsHwAA/t3NZqUitOM0gKo/nXNOUZzskAFTjErL6fgp5+kYIP3rZ+bIleqXAKg==",
+ "dev": true,
+ "dependencies": {
+ "@apollographql/apollo-tools": "0.5.4",
+ "@oclif/command": "1.8.16",
+ "@oclif/config": "1.18.3",
+ "@oclif/errors": "1.3.5",
+ "@oclif/plugin-autocomplete": "1.3.0",
+ "@oclif/plugin-help": "5.1.12",
+ "@oclif/plugin-not-found": "2.3.1",
+ "@oclif/plugin-plugins": "2.1.0",
+ "@oclif/plugin-warn-if-update-available": "2.0.4",
+ "apollo-codegen-core": "0.40.9",
+ "apollo-codegen-flow": "0.38.9",
+ "apollo-codegen-scala": "0.39.9",
+ "apollo-codegen-swift": "0.40.9",
+ "apollo-codegen-typescript": "0.40.9",
+ "apollo-env": "0.10.2",
+ "apollo-graphql": "0.9.7",
+ "apollo-language-server": "1.26.9",
+ "chalk": "4.1.2",
+ "cli-ux": "6.0.9",
+ "env-ci": "7.1.0",
+ "gaze": "1.1.3",
+ "git-parse": "2.1.1",
+ "git-rev-sync": "3.0.2",
+ "git-url-parse": "11.6.0",
+ "glob": "8.0.1",
+ "global-agent": "3.0.0",
+ "graphql": "14.0.2 - 14.2.0 || ^14.3.1 || ^15.0.0",
+ "graphql-tag": "2.12.6",
+ "listr": "0.14.3",
+ "lodash.identity": "3.0.0",
+ "lodash.pickby": "4.6.0",
+ "mkdirp": "1.0.4",
+ "moment": "2.29.3",
+ "strip-ansi": "6.0.1",
+ "table": "6.8.0",
+ "tty": "1.0.1",
+ "vscode-uri": "1.0.6"
+ },
+ "bin": {
+ "apollo": "bin/run"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-codegen-core": {
+ "version": "0.40.9",
+ "resolved": "https://registry.npmjs.org/apollo-codegen-core/-/apollo-codegen-core-0.40.9.tgz",
+ "integrity": "sha512-AiynL9PWGZ9zXq9gbJENGixrbmJTORjg8T15gXlPbFcXJzVlQ8+gGuBcHMjBBFBtqb1ZhXN2IZ6udzrRHCB+ag==",
+ "dev": true,
+ "dependencies": {
+ "@babel/generator": "7.17.10",
+ "@babel/parser": "^7.1.3",
+ "@babel/types": "7.17.10",
+ "apollo-env": "^0.10.2",
+ "apollo-language-server": "^1.26.9",
+ "ast-types": "^0.14.0",
+ "common-tags": "^1.5.1",
+ "recast": "^0.21.0"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-codegen-flow": {
+ "version": "0.38.9",
+ "resolved": "https://registry.npmjs.org/apollo-codegen-flow/-/apollo-codegen-flow-0.38.9.tgz",
+ "integrity": "sha512-w02FRiDCfFH7FxRqKZlnmH6q4URT3hlrGvizaRKirEyFQWH7OSEE4osYhSCU+dcRru+NuWtPVrMh3LTB7NinSQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/generator": "7.17.10",
+ "@babel/types": "7.17.10",
+ "apollo-codegen-core": "^0.40.9",
+ "change-case": "^4.0.0",
+ "common-tags": "^1.5.1",
+ "inflected": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-codegen-scala": {
+ "version": "0.39.9",
+ "resolved": "https://registry.npmjs.org/apollo-codegen-scala/-/apollo-codegen-scala-0.39.9.tgz",
+ "integrity": "sha512-Dtpg8m3MgJ5RIlkPfGDOclsZro1scR32AQY517uA3QdUHa/R+XxU9CQ2bnPnI7BtzuUsrTiJnBXQSulfxrdDOQ==",
+ "dev": true,
+ "dependencies": {
+ "apollo-codegen-core": "^0.40.9",
+ "change-case": "^4.0.0",
+ "common-tags": "^1.5.1",
+ "inflected": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-codegen-swift": {
+ "version": "0.40.9",
+ "resolved": "https://registry.npmjs.org/apollo-codegen-swift/-/apollo-codegen-swift-0.40.9.tgz",
+ "integrity": "sha512-Ghk0ef4//QOUdJ80kheD7Q20o9UDrXQVWXz8lWUM88w1cba5LBLXz+CeeQ+VyUHrnFO9XqkimqyPZSDpDmHUSA==",
+ "dev": true,
+ "dependencies": {
+ "apollo-codegen-core": "^0.40.9",
+ "change-case": "^4.0.0",
+ "common-tags": "^1.5.1",
+ "inflected": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-codegen-typescript": {
+ "version": "0.40.9",
+ "resolved": "https://registry.npmjs.org/apollo-codegen-typescript/-/apollo-codegen-typescript-0.40.9.tgz",
+ "integrity": "sha512-koOS3ZbU8UNoZwl87WBxpo+3t0e/iIIkbgYg9zOVKnHCYHi2/CbSE7rq3uAM99QmvcE62wrIoFjpBQADJq78Dw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/generator": "7.17.10",
+ "@babel/types": "7.17.10",
+ "apollo-codegen-core": "^0.40.9",
+ "change-case": "^4.0.0",
+ "common-tags": "^1.5.1",
+ "inflected": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-datasource": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz",
+ "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==",
+ "deprecated": "The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dev": true,
+ "dependencies": {
+ "@apollo/utils.keyvaluecache": "^1.0.1",
+ "apollo-server-env": "^4.2.1"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "node_modules/apollo-env": {
+ "version": "0.10.2",
+ "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.10.2.tgz",
+ "integrity": "sha512-DlB3ZE0j4eFWAVi14pONNPR6h54FlJwerQeuYAxXm0kPA4sGaScsGDRLsIVMP81JxjjDDmWukw5jp9H+zy39hA==",
+ "dev": true,
+ "dependencies": {
+ "@types/node-fetch": "^2.5.10",
+ "core-js": "^3.0.1",
+ "node-fetch": "^2.6.1",
+ "sha.js": "^2.4.11"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/apollo-graphql": {
+ "version": "0.9.7",
+ "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.9.7.tgz",
+ "integrity": "sha512-bezL9ItUWUGHTm1bI/XzIgiiZbhXpsC7uxk4UxFPmcVJwJsDc3ayZ99oXxAaK+3Rbg/IoqrHckA6CwmkCsbaSA==",
+ "dev": true,
+ "dependencies": {
+ "core-js-pure": "^3.10.2",
+ "lodash.sortby": "^4.7.0",
+ "sha.js": "^2.4.11"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "graphql": "^14.2.1 || ^15.0.0"
+ }
+ },
+ "node_modules/apollo-language-server": {
+ "version": "1.26.9",
+ "resolved": "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.26.9.tgz",
+ "integrity": "sha512-+moe6KfDPPHUaC5Te4x9O5OqBPTZmkNRfjM4kb3XRb3ve8tUeKdye5lIANU+XCv7aZ6G68PHozrO5/Tj1X8Qcw==",
+ "dev": true,
+ "dependencies": {
+ "@apollo/federation": "0.27.0",
+ "@apollographql/apollo-tools": "^0.5.4",
+ "@apollographql/graphql-language-service-interface": "^2.0.2",
+ "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2",
+ "apollo-datasource": "^3.0.0",
+ "apollo-env": "^0.10.2",
+ "apollo-graphql": "^0.9.7",
+ "apollo-link": "^1.2.3",
+ "apollo-link-context": "^1.0.9",
+ "apollo-link-error": "^1.1.1",
+ "apollo-link-http": "^1.5.5",
+ "apollo-server-errors": "^2.0.2",
+ "await-to-js": "^3.0.0",
+ "core-js": "^3.0.1",
+ "cosmiconfig": "^7.0.1",
+ "dotenv": "^16.0.0",
+ "glob": "^8.0.0",
+ "graphql": "14.0.2 - 14.2.0 || ^14.3.1 || ^15.0.0",
+ "graphql-tag": "^2.10.1",
+ "lodash.debounce": "^4.0.8",
+ "lodash.merge": "^4.6.1",
+ "minimatch": "^5.0.0",
+ "vscode-languageserver": "^7.0.0",
+ "vscode-languageserver-textdocument": "^1.0.4",
+ "vscode-uri": "1.0.6"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/apollo-language-server/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/apollo-link": {
+ "version": "1.2.14",
+ "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz",
+ "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==",
+ "dev": true,
+ "dependencies": {
+ "apollo-utilities": "^1.3.0",
+ "ts-invariant": "^0.4.0",
+ "tslib": "^1.9.3",
+ "zen-observable-ts": "^0.8.21"
+ },
+ "peerDependencies": {
+ "graphql": "^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0"
+ }
+ },
+ "node_modules/apollo-link-context": {
+ "version": "1.0.20",
+ "resolved": "https://registry.npmjs.org/apollo-link-context/-/apollo-link-context-1.0.20.tgz",
+ "integrity": "sha512-MLLPYvhzNb8AglNsk2NcL9AvhO/Vc9hn2ZZuegbhRHGet3oGr0YH9s30NS9+ieoM0sGT11p7oZ6oAILM/kiRBA==",
+ "dev": true,
+ "dependencies": {
+ "apollo-link": "^1.2.14",
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-link-context/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/apollo-link-error": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.13.tgz",
+ "integrity": "sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg==",
+ "dev": true,
+ "dependencies": {
+ "apollo-link": "^1.2.14",
+ "apollo-link-http-common": "^0.2.16",
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-link-error/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/apollo-link-http": {
+ "version": "1.5.17",
+ "resolved": "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz",
+ "integrity": "sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==",
+ "dev": true,
+ "dependencies": {
+ "apollo-link": "^1.2.14",
+ "apollo-link-http-common": "^0.2.16",
+ "tslib": "^1.9.3"
+ },
+ "peerDependencies": {
+ "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0"
+ }
+ },
+ "node_modules/apollo-link-http-common": {
+ "version": "0.2.16",
+ "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz",
+ "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==",
+ "dev": true,
+ "dependencies": {
+ "apollo-link": "^1.2.14",
+ "ts-invariant": "^0.4.0",
+ "tslib": "^1.9.3"
+ },
+ "peerDependencies": {
+ "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0"
+ }
+ },
+ "node_modules/apollo-link-http-common/node_modules/ts-invariant": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
+ "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-link-http-common/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/apollo-link-http/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/apollo-link/node_modules/ts-invariant": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
+ "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-link/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/apollo-link/node_modules/zen-observable-ts": {
+ "version": "0.8.21",
+ "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz",
+ "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.3",
+ "zen-observable": "^0.8.0"
+ }
+ },
+ "node_modules/apollo-server-env": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz",
+ "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==",
+ "deprecated": "The `apollo-server-env` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/utils.fetcher` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dev": true,
+ "dependencies": {
+ "node-fetch": "^2.6.7"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "node_modules/apollo-server-errors": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.5.0.tgz",
+ "integrity": "sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==",
+ "deprecated": "The `apollo-server-errors` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0"
+ }
+ },
+ "node_modules/apollo-utilities": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz",
+ "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==",
+ "dev": true,
+ "dependencies": {
+ "@wry/equality": "^0.1.2",
+ "fast-json-stable-stringify": "^2.0.0",
+ "ts-invariant": "^0.4.0",
+ "tslib": "^1.10.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0"
+ }
+ },
+ "node_modules/apollo-utilities/node_modules/@wry/equality": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz",
+ "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-utilities/node_modules/ts-invariant": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
+ "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-utilities/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "optional": true
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
+ "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "optional": true,
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "node_modules/are-we-there-yet/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "optional": true
+ },
+ "node_modules/are-we-there-yet/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "optional": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/are-we-there-yet/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "optional": true
+ },
+ "node_modules/are-we-there-yet/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "optional": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/arity-n": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
+ "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==",
+ "dev": true
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-last": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz",
+ "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array.prototype.reduce": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz",
+ "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-array-method-boxes-properly": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "is-string": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/ast-types": {
+ "version": "0.14.2",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz",
+ "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
+ "dev": true
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dev": true,
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/await-to-js": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/await-to-js/-/await-to-js-3.0.0.tgz",
+ "integrity": "sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
+ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
+ },
+ "node_modules/azure-functions-core-tools": {
+ "version": "4.0.5700",
+ "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5700.tgz",
+ "integrity": "sha512-/ppfImFH6f5xvHTBv9ENJsjf2LUxoC6rVUZ+FlLe8KgKlA3tHmB8qfZdLfEzX/wRx7c+oXE8BPOpo14HWKhmJw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "hasShrinkwrap": true,
+ "os": [
+ "win32",
+ "darwin",
+ "linux"
+ ],
+ "dependencies": {
+ "chalk": "3.0.0",
+ "extract-zip": "^2.0.1",
+ "https-proxy-agent": "5.0.0",
+ "progress": "2.0.3",
+ "rimraf": "4.0.0"
+ },
+ "bin": {
+ "azfun": "lib/main.js",
+ "azurefunctions": "lib/main.js",
+ "func": "lib/main.js"
+ },
+ "engines": {
+ "node": ">=6.9.1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/@types/node": {
+ "version": "18.15.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz",
+ "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/@types/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/ansi-styles": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz",
+ "integrity": "sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==",
+ "dev": true,
+ "dependencies": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/extract-zip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "extract-zip": "cli.js"
+ },
+ "engines": {
+ "node": ">= 10.17.0"
+ },
+ "optionalDependencies": {
+ "@types/yauzl": "^2.9.1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+ "dev": true,
+ "dependencies": {
+ "pend": "~1.2.0"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/azure-functions-core-tools/node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "node_modules/azure-functions-core-tools/node_modules/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
+ "node_modules/b4a": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
+ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg=="
+ },
+ "node_modules/babel-jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
+ "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/transform": "^29.7.0",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^29.6.3",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-istanbul/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
+ "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
+ "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
+ "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
+ "dev": true,
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true,
+ "bin": {
+ "babylon": "bin/babylon.js"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/bare-events": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz",
+ "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==",
+ "optional": true
+ },
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "node_modules/boolean": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bs-logger": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
+ "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
+ "dev": true,
+ "dependencies": {
+ "fast-json-stable-stringify": "2.x"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ=="
+ },
+ "node_modules/byline": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
+ "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cachedir": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
+ "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "dev": true,
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camel-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+ "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+ "dev": true,
+ "dependencies": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001617",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz",
+ "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/capital-case": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
+ "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case-first": "^2.0.2"
+ }
+ },
+ "node_modules/cardinal": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
+ "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==",
+ "dev": true,
+ "dependencies": {
+ "ansicolors": "~0.3.2",
+ "redeyed": "~2.1.0"
+ },
+ "bin": {
+ "cdl": "bin/cdl.js"
+ }
+ },
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/change-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
+ "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
+ "dev": true,
+ "dependencies": {
+ "camel-case": "^4.1.2",
+ "capital-case": "^1.0.4",
+ "constant-case": "^3.0.4",
+ "dot-case": "^3.0.4",
+ "header-case": "^2.0.4",
+ "no-case": "^3.0.4",
+ "param-case": "^3.0.4",
+ "pascal-case": "^3.1.2",
+ "path-case": "^3.0.4",
+ "sentence-case": "^3.0.4",
+ "snake-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/charm": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz",
+ "integrity": "sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==",
+ "dependencies": {
+ "inherits": "^2.0.1"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
+ "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz",
+ "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==",
+ "dev": true
+ },
+ "node_modules/clean-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz",
+ "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/clean-regexp/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz",
+ "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
+ "dev": true,
+ "dependencies": {
+ "restore-cursor": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-progress": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz",
+ "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.3"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-truncate": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz",
+ "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==",
+ "dev": true,
+ "dependencies": {
+ "slice-ansi": "0.0.4",
+ "string-width": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+ "dev": true,
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "dev": true,
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cli-ux": {
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-6.0.9.tgz",
+ "integrity": "sha512-0Ku29QLf+P6SeBNWM7zyoJ49eKKOjxZBZ4OH2aFeRtC0sNXU3ftdJxQPKJ1SJ+axX34I1NsfTFahpXdnxklZgA==",
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "^1.1.1",
+ "@oclif/linewrap": "^1.0.0",
+ "@oclif/screen": "^1.0.4 ",
+ "ansi-escapes": "^4.3.0",
+ "ansi-styles": "^4.2.0",
+ "cardinal": "^2.1.1",
+ "chalk": "^4.1.0",
+ "clean-stack": "^3.0.0",
+ "cli-progress": "^3.10.0",
+ "extract-stack": "^2.0.0",
+ "fs-extra": "^8.1",
+ "hyperlinker": "^1.0.0",
+ "indent-string": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "js-yaml": "^3.13.1",
+ "lodash": "^4.17.21",
+ "natural-orderby": "^2.0.1",
+ "object-treeify": "^1.1.4",
+ "password-prompt": "^1.1.2",
+ "semver": "^7.3.2",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "supports-color": "^8.1.0",
+ "supports-hyperlinks": "^2.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/cli-ux/node_modules/@oclif/screen": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz",
+ "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==",
+ "deprecated": "Deprecated in favor of @oclif/core",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "dev": true,
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
+ "dev": true
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/compose-function": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
+ "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==",
+ "dev": true,
+ "dependencies": {
+ "arity-n": "^1.0.4"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "engines": [
+ "node >= 6.0"
+ ],
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "optional": true
+ },
+ "node_modules/constant-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
+ "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case": "^2.0.2"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/core-js": {
+ "version": "3.37.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz",
+ "integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==",
+ "dev": true,
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat": {
+ "version": "3.37.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
+ "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+ "dev": true,
+ "dependencies": {
+ "browserslist": "^4.23.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-pure": {
+ "version": "3.37.0",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz",
+ "integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "dev": true,
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/create-jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
+ "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-config": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "prompts": "^2.0.1"
+ },
+ "bin": {
+ "create-jest": "bin/create-jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/date-fns": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
+ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
+ "dev": true
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.11",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz",
+ "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decode-uri-component": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
+ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dedent": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz",
+ "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==",
+ "dev": true,
+ "peerDependencies": {
+ "babel-plugin-macros": "^3.1.0"
+ },
+ "peerDependenciesMeta": {
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-freeze": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz",
+ "integrity": "sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==",
+ "dev": true
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "optional": true
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/detect-node": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
+ "dev": true
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/diff-sequences": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
+ "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
+ },
+ "node_modules/easy-table": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.2.0.tgz",
+ "integrity": "sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "optionalDependencies": {
+ "wcwidth": "^1.0.1"
+ }
+ },
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/ejs": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
+ "dev": true,
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.764",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.764.tgz",
+ "integrity": "sha512-ZXbPV46Y4dNCA+k7YHB+BYlzcoMtZ1yH6V0tQ1ul0wmA7RiwJfS29LSdRlE1myWBXRzEgm/Lz6tryj5WVQiLmg==",
+ "dev": true
+ },
+ "node_modules/elegant-spinner": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
+ "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/emittery": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/env-ci": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-7.1.0.tgz",
+ "integrity": "sha512-zyRGZQkjp5lgYYRUJS7hbEAhEtfslzwN5ScSnLXhaF2OEtiVC8LW+5mbaIqlFpIE95iFhukrKaLm0Rdt/w2lNg==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.0.0",
+ "fromentries": "^1.3.2",
+ "java-properties": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12.20"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.23.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+ "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "arraybuffer.prototype.slice": "^1.0.3",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "data-view-buffer": "^1.0.1",
+ "data-view-byte-length": "^1.0.1",
+ "data-view-byte-offset": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-set-tostringtag": "^2.0.3",
+ "es-to-primitive": "^1.2.1",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
+ "is-callable": "^1.2.7",
+ "is-data-view": "^1.0.1",
+ "is-negative-zero": "^2.0.3",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.3",
+ "is-string": "^1.0.7",
+ "is-typed-array": "^1.1.13",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.13.1",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.5",
+ "regexp.prototype.flags": "^1.5.2",
+ "safe-array-concat": "^1.1.2",
+ "safe-regex-test": "^1.0.3",
+ "string.prototype.trim": "^1.2.9",
+ "string.prototype.trimend": "^1.0.8",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.2",
+ "typed-array-byte-length": "^1.0.1",
+ "typed-array-byte-offset": "^1.0.2",
+ "typed-array-length": "^1.0.6",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.15"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-array-method-boxes-properly": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
+ "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==",
+ "dev": true
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es6-error": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+ "dev": true
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-plugin-unicorn": {
+ "version": "52.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-52.0.0.tgz",
+ "integrity": "sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@eslint/eslintrc": "^2.1.4",
+ "ci-info": "^4.0.0",
+ "clean-regexp": "^1.0.0",
+ "core-js-compat": "^3.34.0",
+ "esquery": "^1.5.0",
+ "indent-string": "^4.0.0",
+ "is-builtin-module": "^3.2.1",
+ "jsesc": "^3.0.2",
+ "pluralize": "^8.0.0",
+ "read-pkg-up": "^7.0.1",
+ "regexp-tree": "^0.1.27",
+ "regjsparser": "^0.10.0",
+ "semver": "^7.5.4",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
+ },
+ "peerDependencies": {
+ "eslint": ">=8.56.0"
+ }
+ },
+ "node_modules/eslint-plugin-unicorn/node_modules/jsesc": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/expect-utils": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "node_modules/extract-stack": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz",
+ "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "engines": [
+ "node >=0.6.0"
+ ]
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "node_modules/fast-fifo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-patch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz",
+ "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ=="
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
+ "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
+ "dev": true,
+ "dependencies": {
+ "fastest-levenshtein": "^1.0.7"
+ }
+ },
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
+ "dev": true,
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "node_modules/figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/figures/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/filename-reserved-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
+ "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/filenamify": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
+ "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
+ "dev": true,
+ "dependencies": {
+ "filename-reserved-regex": "^2.0.0",
+ "strip-outer": "^1.0.1",
+ "trim-repeated": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/filter-iterator": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/filter-iterator/-/filter-iterator-0.0.1.tgz",
+ "integrity": "sha512-v4lhL7Qa8XpbW3LN46CEnmhGk3eHZwxfNl5at20aEkreesht4YKb/Ba3BUIbnPhAC/r3dmu7ABaGk6MAvh2alA==",
+ "dev": true
+ },
+ "node_modules/filter-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
+ "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flat-cache/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/flat-cache/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/flat-cache/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/flat-cache/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "dev": true
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fromentries": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
+ "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==",
+ "optional": true,
+ "dependencies": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "node_modules/gauge/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+ "optional": true,
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "optional": true,
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "optional": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
+ "dependencies": {
+ "globule": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "node_modules/git-parse": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/git-parse/-/git-parse-2.1.1.tgz",
+ "integrity": "sha512-jt4pYVdXFFjZMsFohMBYhPsW4j/XBDas7VctxBbRvKCyvQj5pk/+fe2/9Y1hykLSk3lHeVZyScDaW5cZBXDTyw==",
+ "dev": true,
+ "dependencies": {
+ "byline": "5.0.0",
+ "util.promisify": "1.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/git-rev-sync": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-3.0.2.tgz",
+ "integrity": "sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "1.0.5",
+ "graceful-fs": "4.1.15",
+ "shelljs": "0.8.5"
+ }
+ },
+ "node_modules/git-rev-sync/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/git-rev-sync/node_modules/graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+ "dev": true
+ },
+ "node_modules/git-up": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz",
+ "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==",
+ "dev": true,
+ "dependencies": {
+ "is-ssh": "^1.3.0",
+ "parse-url": "^6.0.0"
+ }
+ },
+ "node_modules/git-url-parse": {
+ "version": "11.6.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz",
+ "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==",
+ "dev": true,
+ "dependencies": {
+ "git-up": "^4.0.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz",
+ "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/global-agent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
+ "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
+ "dev": true,
+ "dependencies": {
+ "boolean": "^3.0.1",
+ "es6-error": "^4.1.1",
+ "matcher": "^3.0.0",
+ "roarr": "^2.15.3",
+ "semver": "^7.3.2",
+ "serialize-error": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=10.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globals/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globule": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
+ "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
+ "dev": true,
+ "dependencies": {
+ "glob": "~7.1.1",
+ "lodash": "^4.17.21",
+ "minimatch": "~3.0.2"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/globule/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/globule/node_modules/glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/globule/node_modules/minimatch": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
+ "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/graphql": {
+ "version": "15.8.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz",
+ "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==",
+ "engines": {
+ "node": ">= 10.x"
+ }
+ },
+ "node_modules/graphql-tag": {
+ "version": "2.12.6",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
+ "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-ansi/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-own-property": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-own-property/-/has-own-property-0.1.0.tgz",
+ "integrity": "sha512-14qdBKoonU99XDhWcFKZTShK+QV47qU97u8zzoVo9cL5TZ3BmBHXogItSt9qJjR0KUMFRhcCW8uGIGl8nkl7Aw==",
+ "dev": true
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dev": true,
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "optional": true
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/header-case": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
+ "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
+ "dev": true,
+ "dependencies": {
+ "capital-case": "^1.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
+ "node_modules/http-call": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz",
+ "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==",
+ "dev": true,
+ "dependencies": {
+ "content-type": "^1.0.4",
+ "debug": "^4.1.1",
+ "is-retry-allowed": "^1.1.0",
+ "is-stream": "^2.0.0",
+ "parse-json": "^4.0.0",
+ "tunnel-agent": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-call/node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/hyperlinker": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz",
+ "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/identity-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/identity-function/-/identity-function-1.0.0.tgz",
+ "integrity": "sha512-kNrgUK0qI+9qLTBidsH85HjDLpZfrrS0ElquKKe/fJFdB3D7VeKdXXEvOPDUHSHOzdZKCAAaQIWWyp0l2yq6pw==",
+ "dev": true
+ },
+ "node_modules/ignore": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "dev": true,
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inflected": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.1.0.tgz",
+ "integrity": "sha512-hAEKNxvHf2Iq3H60oMBHkB4wl5jn3TPF3+fXek/sRwAB5gP9xWs4r7aweSF95f99HFoz69pnZTcu8f0SIHV18w==",
+ "dev": true
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dev": true,
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-builtin-module": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+ "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
+ "dev": true,
+ "dependencies": {
+ "builtin-modules": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-view": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+ "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+ "dev": true,
+ "dependencies": {
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-iterable": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-iterable/-/is-iterable-1.1.1.tgz",
+ "integrity": "sha512-EdOZCr0NsGE00Pot+x1ZFx9MJK3C6wy91geZpXwvwexDLJvA4nzYyZf7r+EIwSeVsOLDdBz7ATg9NqKTzuNYuQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-observable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz",
+ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==",
+ "dev": true,
+ "dependencies": {
+ "symbol-observable": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-observable/node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+ "dev": true
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-retry-allowed": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
+ "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-ssh": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz",
+ "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==",
+ "dev": true,
+ "dependencies": {
+ "protocols": "^2.0.1"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
+ "dev": true,
+ "dependencies": {
+ "which-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
+ "node_modules/is-weakref": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
+ "node_modules/isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz",
+ "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@istanbuljs/schema": "^0.1.3",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "dev": true,
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
+ "dev": true,
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/iterable-lookahead": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/iterable-lookahead/-/iterable-lookahead-1.0.0.tgz",
+ "integrity": "sha512-hJnEP2Xk4+44DDwJqUQGdXal5VbyeWLaPyDl2AQc242Zr7iqz4DgpQOrEzglWVMGHMDCkguLHEKxd1+rOsmgSQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+ "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
+ "dev": true,
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.9.1",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+ "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/jake/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/java-properties": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz",
+ "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
+ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/core": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "import-local": "^3.0.2",
+ "jest-cli": "^29.7.0"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-changed-files": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
+ "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.0.0",
+ "jest-util": "^29.7.0",
+ "p-limit": "^3.1.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
+ "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^1.0.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^29.7.0",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "p-limit": "^3.1.0",
+ "pretty-format": "^29.7.0",
+ "pure-rand": "^6.0.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-cli": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
+ "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/core": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "create-jest": "^29.7.0",
+ "exit": "^0.1.2",
+ "import-local": "^3.0.2",
+ "jest-config": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
+ "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/test-sequencer": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "babel-jest": "^29.7.0",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/jest-config/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/jest-config/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
+ "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^26.6.2",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.6.2"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-diff/node_modules/@jest/types": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
+ "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-diff/node_modules/@types/yargs": {
+ "version": "15.0.19",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz",
+ "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/jest-diff/node_modules/jest-get-type": {
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
+ "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/jest-diff/node_modules/pretty-format": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
+ "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^26.6.2",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/jest-diff/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ },
+ "node_modules/jest-docblock": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
+ "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
+ "dev": true,
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
+ "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
+ "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-file-snapshot": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jest-file-snapshot/-/jest-file-snapshot-0.5.0.tgz",
+ "integrity": "sha512-A3cqn9RRB6yl/bMsN9+EiNU94JTptLmoFqmSfSeuku22UYotYF6C/Ntw7C2Kai0C7deirYfpDwRpdlyLhItvMQ==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "filenamify": "^4.2.0",
+ "jest-diff": "^26.6.1",
+ "mkdirp": "^1.0.4"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+ "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
+ "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+ "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/jest-diff": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
+ "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^29.6.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-mock": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
+ "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
+ "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^2.0.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
+ "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
+ "dev": true,
+ "dependencies": {
+ "jest-regex-util": "^29.6.3",
+ "jest-snapshot": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
+ "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/environment": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-leak-detector": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-resolve": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "p-limit": "^3.1.0",
+ "source-map-support": "0.5.13"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
+ "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/globals": "^29.7.0",
+ "@jest/source-map": "^29.6.3",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
+ "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-jsx": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/types": "^7.3.3",
+ "@jest/expect-utils": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^29.7.0",
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/jest-diff": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+ "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-util/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+ "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "leven": "^3.1.0",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-watcher": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
+ "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "jest-util": "^29.7.0",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz",
+ "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==",
+ "dev": true,
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
+ "node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsprim": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/knip": {
+ "version": "5.15.1",
+ "resolved": "https://registry.npmjs.org/knip/-/knip-5.15.1.tgz",
+ "integrity": "sha512-v6/Bf2qUmZ7pMJb2GjTficHyEjhP2ysIifjM1wgJr2psFbK6Vbxw2/DpeDAcgK9d99kTGh1PUQwoiFd6LHtI6A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/webpro"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpro"
+ }
+ ],
+ "dependencies": {
+ "@ericcornelissen/bash-parser": "0.5.2",
+ "@nodelib/fs.walk": "2.0.0",
+ "@snyk/github-codeowners": "1.1.0",
+ "easy-table": "1.2.0",
+ "fast-glob": "3.3.2",
+ "file-entry-cache": "8.0.0",
+ "jiti": "1.21.0",
+ "js-yaml": "4.1.0",
+ "minimist": "1.2.8",
+ "picocolors": "1.0.0",
+ "picomatch": "^4.0.1",
+ "pretty-ms": "9.0.0",
+ "resolve": "1.22.8",
+ "smol-toml": "1.1.4",
+ "strip-json-comments": "5.0.1",
+ "summary": "2.1.0",
+ "zod": "^3.22.4",
+ "zod-validation-error": "^3.0.3"
+ },
+ "bin": {
+ "knip": "bin/knip.js",
+ "knip-bun": "bin/knip-bun.js"
+ },
+ "engines": {
+ "node": ">=18.6.0"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18",
+ "typescript": ">=5.0.4"
+ }
+ },
+ "node_modules/knip/node_modules/@nodelib/fs.scandir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-3.0.0.tgz",
+ "integrity": "sha512-ktI9+PxfHYtKjF3cLTUAh2N+b8MijCRPNwKJNqTVdL0gB0QxLU2rIRaZ1t71oEa3YBDE6bukH1sR0+CDnpp/Mg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "3.0.0",
+ "run-parallel": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=16.14.0"
+ }
+ },
+ "node_modules/knip/node_modules/@nodelib/fs.stat": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-3.0.0.tgz",
+ "integrity": "sha512-2tQOI38s19P9i7X/Drt0v8iMA+KMsgdhB/dyPER+e+2Y8L1Z7QvnuRdW/uLuf5YRFUYmnj4bMA6qCuZHFI1GDQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16.14.0"
+ }
+ },
+ "node_modules/knip/node_modules/@nodelib/fs.walk": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-2.0.0.tgz",
+ "integrity": "sha512-54voNDBobGdMl3BUXSu7UaDh1P85PGHWlJ5e0XhPugo1JulOyCtp2I+5ri4wplGDJ8QGwPEQW7/x3yTLU7yF1A==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "3.0.0",
+ "fastq": "^1.15.0"
+ },
+ "engines": {
+ "node": ">=16.14.0"
+ }
+ },
+ "node_modules/knip/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/knip/node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/knip/node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/knip/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/knip/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/knip/node_modules/strip-json-comments": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz",
+ "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
+ "node_modules/listr": {
+ "version": "0.14.3",
+ "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz",
+ "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==",
+ "dev": true,
+ "dependencies": {
+ "@samverschueren/stream-to-observable": "^0.3.0",
+ "is-observable": "^1.1.0",
+ "is-promise": "^2.1.0",
+ "is-stream": "^1.1.0",
+ "listr-silent-renderer": "^1.1.1",
+ "listr-update-renderer": "^0.5.0",
+ "listr-verbose-renderer": "^0.5.0",
+ "p-map": "^2.0.0",
+ "rxjs": "^6.3.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/listr-silent-renderer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz",
+ "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-update-renderer": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz",
+ "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^1.1.3",
+ "cli-truncate": "^0.2.1",
+ "elegant-spinner": "^1.0.1",
+ "figures": "^1.7.0",
+ "indent-string": "^3.0.0",
+ "log-symbols": "^1.0.2",
+ "log-update": "^2.3.0",
+ "strip-ansi": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "listr": "^0.14.2"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/listr-update-renderer/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/listr-verbose-renderer": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz",
+ "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.4.1",
+ "cli-cursor": "^2.1.0",
+ "date-fns": "^1.27.2",
+ "figures": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "node_modules/listr-verbose-renderer/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr-verbose-renderer/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/listr/node_modules/is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/listr/node_modules/p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/load-json-file": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz",
+ "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.15",
+ "parse-json": "^4.0.0",
+ "pify": "^4.0.1",
+ "strip-bom": "^3.0.0",
+ "type-fest": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/load-json-file/node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/load-json-file/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/load-json-file/node_modules/type-fest": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
+ "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/lodash.curry": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz",
+ "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==",
+ "dev": true
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+ "dev": true
+ },
+ "node_modules/lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==",
+ "dev": true
+ },
+ "node_modules/lodash.identity": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-3.0.0.tgz",
+ "integrity": "sha512-AupTIzdLQxJS5wIYUQlgGyk2XRTfGXA+MCghDHqZk0pzUNYvd3EESS6dkChNauNYVIutcb0dfHw1ri9Q1yPV8Q==",
+ "dev": true
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
+ "dev": true
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/lodash.pickby": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
+ "integrity": "sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==",
+ "dev": true
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
+ "dev": true
+ },
+ "node_modules/lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true
+ },
+ "node_modules/lodash.xorby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.xorby/-/lodash.xorby-4.7.0.tgz",
+ "integrity": "sha512-gYiD6nvuQy0AEkMoUju+t4f4Rn18fjsLB/7x7YZFqtFT9kmegRLrj/uGEQVyVDy7otTmSrIMXNOk2wwuLcfHCQ==",
+ "dev": true
+ },
+ "node_modules/log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/log-update": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz",
+ "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^3.0.0",
+ "cli-cursor": "^2.0.0",
+ "wrap-ansi": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-regex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-update/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-update/node_modules/string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "dependencies": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-update/node_modules/strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-update/node_modules/wrap-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
+ "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/long": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "7.13.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz",
+ "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
+ "integrity": "sha512-c4BEos3y6G2qO0B9X7K0FVLOPT9uGrjYwYRLFmDqyl5YMboUviyecnXWp94fJTSMwPw2/sf+CEYt5AGpmklkkQ==",
+ "dev": true,
+ "dependencies": {
+ "vlq": "^0.2.1"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dev": true,
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "node_modules/map-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
+ "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/matcher": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
+ "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/moment": {
+ "version": "2.29.3",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
+ "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/natural-orderby": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz",
+ "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/no-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "dev": true,
+ "dependencies": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+ "dev": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "dev": true
+ },
+ "node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/npm-package-arg": {
+ "version": "8.1.5",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz",
+ "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "semver": "^7.3.4",
+ "validate-npm-package-name": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "optional": true,
+ "dependencies": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "node_modules/number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object-pairs": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-pairs/-/object-pairs-0.1.0.tgz",
+ "integrity": "sha512-3ECr6K831I4xX/Mduxr9UC+HPOz/d6WKKYj9p4cmC8Lg8p7g8gitzsxNX5IWlSIgFWN/a4JgrJaoAMKn20oKwA==",
+ "dev": true
+ },
+ "node_modules/object-treeify": {
+ "version": "1.1.33",
+ "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz",
+ "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/object-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/object-values/-/object-values-1.0.0.tgz",
+ "integrity": "sha512-+8hwcz/JnQ9EpLIXzN0Rs7DLsBpJNT/xYehtB/jU93tHYr5BFEO8E+JGQNOSqE7opVzz5cGksKFHt7uUJVLSjQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.getownpropertydescriptors": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz",
+ "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==",
+ "dev": true,
+ "dependencies": {
+ "array.prototype.reduce": "^1.0.6",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "gopd": "^1.0.1",
+ "safe-array-concat": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optimism": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.0.tgz",
+ "integrity": "sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ==",
+ "dependencies": {
+ "@wry/caches": "^1.0.0",
+ "@wry/context": "^0.7.0",
+ "@wry/trie": "^0.4.3",
+ "tslib": "^2.3.0"
+ }
+ },
+ "node_modules/optimism/node_modules/@wry/trie": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.4.3.tgz",
+ "integrity": "sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/optionator/node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/param-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+ "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+ "dev": true,
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-ms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz",
+ "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-path": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz",
+ "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==",
+ "dev": true,
+ "dependencies": {
+ "is-ssh": "^1.3.0",
+ "protocols": "^1.4.0",
+ "qs": "^6.9.4",
+ "query-string": "^6.13.8"
+ }
+ },
+ "node_modules/parse-path/node_modules/protocols": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz",
+ "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==",
+ "dev": true
+ },
+ "node_modules/parse-url": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.5.tgz",
+ "integrity": "sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==",
+ "dev": true,
+ "dependencies": {
+ "is-ssh": "^1.3.0",
+ "normalize-url": "^6.1.0",
+ "parse-path": "^4.0.0",
+ "protocols": "^1.4.0"
+ }
+ },
+ "node_modules/parse-url/node_modules/protocols": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz",
+ "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==",
+ "dev": true
+ },
+ "node_modules/parsimmon": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz",
+ "integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw=="
+ },
+ "node_modules/pascal-case": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+ "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/password-prompt": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz",
+ "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.3.2",
+ "cross-spawn": "^7.0.3"
+ }
+ },
+ "node_modules/path-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
+ "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
+ "dev": true,
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
+ "dev": true,
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
+ "node_modules/path-scurry/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
+ "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/pretty-format/node_modules/react-is": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+ "dev": true
+ },
+ "node_modules/pretty-ms": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.0.0.tgz",
+ "integrity": "sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==",
+ "dev": true,
+ "dependencies": {
+ "parse-ms": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/prettyjson": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz",
+ "integrity": "sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==",
+ "dependencies": {
+ "colors": "1.4.0",
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "prettyjson": "bin/prettyjson"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "optional": true
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "dev": true,
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/protocols": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz",
+ "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==",
+ "dev": true
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pure-rand": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
+ "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/dubzzz"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fast-check"
+ }
+ ]
+ },
+ "node_modules/qs": {
+ "version": "6.12.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
+ "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/query-string": {
+ "version": "6.14.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
+ "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
+ "dev": true,
+ "dependencies": {
+ "decode-uri-component": "^0.2.0",
+ "filter-obj": "^1.1.0",
+ "split-on-first": "^1.0.0",
+ "strict-uri-encode": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/queue-tick": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
+ "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
+ },
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/recast": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz",
+ "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==",
+ "dev": true,
+ "dependencies": {
+ "ast-types": "0.15.2",
+ "esprima": "~4.0.0",
+ "source-map": "~0.6.1",
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/recast/node_modules/ast-types": {
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz",
+ "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.1.6"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/redeyed": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
+ "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==",
+ "dev": true,
+ "dependencies": {
+ "esprima": "~4.0.0"
+ }
+ },
+ "node_modules/regexp-tree": {
+ "version": "0.1.27",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
+ "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==",
+ "dev": true,
+ "bin": {
+ "regexp-tree": "bin/regexp-tree"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regjsparser": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz",
+ "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==",
+ "dev": true,
+ "dependencies": {
+ "jsesc": "~0.5.0"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ }
+ },
+ "node_modules/rehackt": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/rehackt/-/rehackt-0.1.0.tgz",
+ "integrity": "sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/request/node_modules/form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/request/node_modules/qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-cwd/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve.exports": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/response-iterator": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz",
+ "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
+ "dev": true,
+ "dependencies": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/restore-cursor/node_modules/mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/restore-cursor/node_modules/onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reverse-arguments": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reverse-arguments/-/reverse-arguments-1.0.0.tgz",
+ "integrity": "sha512-/x8uIPdTafBqakK0TmPNJzgkLP+3H+yxpUJhCQHsLBg1rYEVNR2D8BRYNWQhVBjyOd7oo1dZRVzIkwMY2oqfYQ==",
+ "dev": true
+ },
+ "node_modules/rimraf": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz",
+ "integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^10.3.7"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+ "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/roarr": {
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
+ "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
+ "dev": true,
+ "dependencies": {
+ "boolean": "^3.0.1",
+ "detect-node": "^2.0.4",
+ "globalthis": "^1.0.1",
+ "json-stringify-safe": "^5.0.1",
+ "semver-compare": "^1.0.0",
+ "sprintf-js": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/roarr/node_modules/sprintf-js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
+ "dev": true
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/rxjs/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.1.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
+ "dev": true
+ },
+ "node_modules/sentence-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
+ "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case-first": "^2.0.2"
+ }
+ },
+ "node_modules/serialize-error": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
+ "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.13.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/serialize-error/node_modules/type-fest": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "optional": true
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ },
+ "bin": {
+ "sha.js": "bin.js"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote-word": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/shell-quote-word/-/shell-quote-word-1.0.1.tgz",
+ "integrity": "sha512-lT297f1WLAdq0A4O+AknIFRP6kkiI3s8C913eJ0XqBxJbZPGWUNkRQk2u8zk4bEAjUJ5i+fSLwB6z1HzeT+DEg==",
+ "dev": true
+ },
+ "node_modules/shelljs": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
+ "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.0.0",
+ "interpret": "^1.0.0",
+ "rechoir": "^0.6.2"
+ },
+ "bin": {
+ "shjs": "bin/shjs"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/shelljs/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/shelljs/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/shelljs/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "devOptional": true
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/slide": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+ "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/smol-toml": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.1.4.tgz",
+ "integrity": "sha512-Y0OT8HezWsTNeEOSVxDnKOW/AyNXHQ4BwJNbAXlLTF5wWsBvrcHhIkE5Rf8kQMLmgf7nDX3PVOlgC6/Aiggu3Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 18",
+ "pnpm": ">= 8"
+ }
+ },
+ "node_modules/snake-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
+ "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
+ "dev": true,
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg=="
+ },
+ "node_modules/split-on-first": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
+ "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/sshpk": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+ "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+ "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/streamx": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz",
+ "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==",
+ "dependencies": {
+ "fast-fifo": "^1.1.0",
+ "queue-tick": "^1.0.1"
+ },
+ "optionalDependencies": {
+ "bare-events": "^2.2.0"
+ }
+ },
+ "node_modules/strict-uri-encode": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
+ "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-length": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+ "dev": true,
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.fromcodepoint": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz",
+ "integrity": "sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg==",
+ "dev": true
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+ "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-outer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
+ "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-outer/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/summary": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/summary/-/summary-2.1.0.tgz",
+ "integrity": "sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==",
+ "dev": true
+ },
+ "node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+ "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/symbol-observable": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+ "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/table": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
+ "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "8.13.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz",
+ "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.4.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/table/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/table/node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
+ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "dependencies": {
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
+ }
+ },
+ "node_modules/tar/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ "dev": true,
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/test-exclude/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/test-exclude/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/test-exclude/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-no-case": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz",
+ "integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==",
+ "dev": true
+ },
+ "node_modules/to-pascal-case": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-pascal-case/-/to-pascal-case-1.0.0.tgz",
+ "integrity": "sha512-QGMWHqM6xPrcQW57S23c5/3BbYb0Tbe9p+ur98ckRnGDwD4wbbtDiYI38CfmMKNB5Iv0REjs5SNDntTwvDxzZA==",
+ "dev": true,
+ "dependencies": {
+ "to-space-case": "^1.0.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/to-regex-range/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/to-space-case": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz",
+ "integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==",
+ "dev": true,
+ "dependencies": {
+ "to-no-case": "^1.0.0"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true
+ },
+ "node_modules/trim-repeated": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
+ "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/trim-repeated/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/ts-invariant": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz",
+ "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ts-jest": {
+ "version": "29.1.2",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz",
+ "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==",
+ "dev": true,
+ "dependencies": {
+ "bs-logger": "0.x",
+ "fast-json-stable-stringify": "2.x",
+ "jest-util": "^29.0.0",
+ "json5": "^2.2.3",
+ "lodash.memoize": "4.x",
+ "make-error": "1.x",
+ "semver": "^7.5.3",
+ "yargs-parser": "^21.0.1"
+ },
+ "bin": {
+ "ts-jest": "cli.js"
+ },
+ "engines": {
+ "node": "^16.10.0 || ^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": ">=7.0.0-beta.0 <8",
+ "@jest/types": "^29.0.0",
+ "babel-jest": "^29.0.0",
+ "jest": "^29.0.0",
+ "typescript": ">=4.3 <6"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@jest/types": {
+ "optional": true
+ },
+ "babel-jest": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ts-node": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
+ "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
+ "dev": true,
+ "dependencies": {
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.7"
+ }
+ },
+ "node_modules/ts-node/node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/tty": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tty/-/tty-1.0.1.tgz",
+ "integrity": "sha512-yCPqGIuidycVkRigBDshlGDLKu9+p4JKtBQijtYcI7ZnWwak56vwT7y7dGGTcxG+ecjxgWQOPWuvlePmxC5S2w==",
+ "dev": true
+ },
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+ "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
+ },
+ "node_modules/typescript": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/undici": {
+ "version": "5.28.4",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
+ "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
+ "dependencies": {
+ "@fastify/busboy": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.0"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
+ },
+ "node_modules/unescape-js": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/unescape-js/-/unescape-js-1.1.4.tgz",
+ "integrity": "sha512-42SD8NOQEhdYntEiUQdYq/1V/YHwr1HLwlHuTJB5InVVdOSbgI6xu8jK5q65yIzuFCfczzyDF/7hbGzVbyCw0g==",
+ "dev": true,
+ "dependencies": {
+ "string.fromcodepoint": "^0.2.1"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz",
+ "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/upper-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
+ "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/upper-case-first": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
+ "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/util.promisify": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz",
+ "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "for-each": "^0.3.3",
+ "has-symbols": "^1.0.1",
+ "object.getownpropertydescriptors": "^2.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
+ "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.12",
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/validate-npm-package-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+ "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==",
+ "dependencies": {
+ "builtins": "^1.0.3"
+ }
+ },
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "node_modules/vlq": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+ "dev": true
+ },
+ "node_modules/vscode-jsonrpc": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz",
+ "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0 || >=10.0.0"
+ }
+ },
+ "node_modules/vscode-languageserver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz",
+ "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==",
+ "dev": true,
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.16.0"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/vscode-languageserver-protocol": {
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz",
+ "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==",
+ "dev": true,
+ "dependencies": {
+ "vscode-jsonrpc": "6.0.0",
+ "vscode-languageserver-types": "3.16.0"
+ }
+ },
+ "node_modules/vscode-languageserver-textdocument": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz",
+ "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==",
+ "dev": true
+ },
+ "node_modules/vscode-languageserver-types": {
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
+ "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
+ "dev": true
+ },
+ "node_modules/vscode-uri": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz",
+ "integrity": "sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww==",
+ "dev": true
+ },
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dev": true,
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dev": true,
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "dependencies": {
+ "isexe": "^3.1.1"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "optional": true,
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yarn": {
+ "version": "1.22.22",
+ "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz",
+ "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "yarn": "bin/yarn.js",
+ "yarnpkg": "bin/yarn.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zen-observable": {
+ "version": "0.8.15",
+ "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
+ "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ=="
+ },
+ "node_modules/zen-observable-ts": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz",
+ "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==",
+ "dependencies": {
+ "zen-observable": "0.8.15"
+ }
+ },
+ "node_modules/zod": {
+ "version": "3.23.8",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-validation-error": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.0.tgz",
+ "integrity": "sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==",
+ "dev": true,
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "zod": "^3.18.0"
+ }
+ }
+ }
+}
diff --git a/packages/mergebot/package.json b/packages/mergebot/package.json
new file mode 100644
index 0000000000..a18d63c854
--- /dev/null
+++ b/packages/mergebot/package.json
@@ -0,0 +1,83 @@
+{
+ "name": "dt-mergebot",
+ "version": "3.0.0",
+ "description": "The bot that manages DefinitelyTyped PRs.",
+ "author": "DT Maintainers",
+ "homepage": "https://github.com/DefinitelyTyped/dt-mergebot#readme",
+ "main": "dist/functions/index.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/DefinitelyTyped/dt-mergebot.git"
+ },
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/dt-mergebot/issues"
+ },
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "dependencies": {
+ "@apollo/client": "^3.10.3",
+ "@azure/functions": "^4.4.0",
+ "@definitelytyped/old-header-parser": "npm:@definitelytyped/header-parser@0.0.178",
+ "@definitelytyped/utils": "^0.1.6",
+ "@octokit/webhooks-methods": "^4.1.0",
+ "dayjs": "^1.11.11",
+ "fast-json-patch": "^3.1.1",
+ "graphql": "15.8.0",
+ "prettyjson": "^1.2.5",
+ "yargs": "^17.7.2"
+ },
+ "devDependencies": {
+ "@octokit/graphql-schema": "^14.58.0",
+ "@octokit/webhooks-types": "^7.5.1",
+ "@types/jest": "^29.5.12",
+ "@types/node": "^18.19.33",
+ "@types/prettyjson": "^0.0.33",
+ "@types/yargs": "^17.0.32",
+ "@typescript-eslint/eslint-plugin": "^7.9.0",
+ "@typescript-eslint/parser": "^7.9.0",
+ "apollo": "^2.34.0",
+ "azure-functions-core-tools": "^4.0.5700",
+ "esbuild": "^0.21.5",
+ "eslint": "^8.57.0",
+ "eslint-plugin-unicorn": "^52.0.0",
+ "jest": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-file-snapshot": "^0.5.0",
+ "knip": "^5.15.1",
+ "rimraf": "^5.0.7",
+ "ts-jest": "^29.1.2",
+ "typescript": "^5.4.5"
+ },
+ "overrides": {
+ "apollo": {
+ "graphql": "15.8.0"
+ },
+ "apollo-language-server": {
+ "graphql": "15.8.0"
+ }
+ },
+ "scripts": {
+ "prestart": "npm run build",
+ "prepublishOnly": "npm run build",
+ "build": "tsc",
+ "bundle": "rimraf dist && esbuild --bundle --platform=node --format=cjs --target=node18 --external:@azure/functions-core --outfile=dist/functions/index.js src/functions/index.ts",
+ "watch": "tsc --watch",
+ "graphql-schema": "apollo client:codegen schema --target typescript --globalTypesFile=src/queries/schema/graphql-global-types.ts",
+ "create-fixture": "npm run build && node dist/commands/create-fixture.js",
+ "update-test-data": "npm run build && node dist/commands/update-test-data.js",
+ "update-all-fixtures": "npm run build && node dist/commands/update-all-fixtures.js",
+ "start": "func start",
+ "lint": "eslint --report-unused-disable-directives .",
+ "test": "jest"
+ },
+ "jest": {
+ "preset": "ts-jest",
+ "testPathIgnorePatterns": [
+ "/node_modules/",
+ "/dist/"
+ ]
+ },
+ "packageManager": "npm@10.7.0+sha256.f443ed4364ea11ac5cf7cae7fb4731278c64dd6839093f8a46eabde0430e0fcd"
+}
diff --git a/packages/mergebot/src/_tests/cachedQueries.json b/packages/mergebot/src/_tests/cachedQueries.json
new file mode 100644
index 0000000000..c6d6203d51
--- /dev/null
+++ b/packages/mergebot/src/_tests/cachedQueries.json
@@ -0,0 +1,322 @@
+{
+ "comment": "Generate & update with `npm run update-test-data`",
+ "getProjectBoardColumns": [
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTI0",
+ "name": "Needs Author Action"
+ },
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW45ODY3MDA2",
+ "name": "Needs Maintainer Action"
+ },
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIy",
+ "name": "Needs Maintainer Review"
+ },
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTI2",
+ "name": "Other"
+ },
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTI1",
+ "name": "Recently Merged"
+ },
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIz",
+ "name": "Waiting for Author to Merge"
+ },
+ {
+ "__typename": "ProjectColumn",
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTMw",
+ "name": "Waiting for Code Reviews"
+ }
+ ],
+ "getLabels": [
+ {
+ "id": "MDU6TGFiZWw0MDUzNDEwNjk=",
+ "name": "@types",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2NDQxMTYxNzA=",
+ "name": "Abandoned",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw3OTg3Mzc0Nzg=",
+ "name": "Author is Owner",
+ "__typename": "Label"
+ },
+ {
+ "id": "LA_kwDOAFz6BM7QXorW",
+ "name": "Blocked upstream",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMTU0ODE2NTQ5",
+ "name": "Check Config",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNjA4NjM0NDg0",
+ "name": "Critical package",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTY4Nzg5MA==",
+ "name": "Definition:Bug",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw4ODk3OTYxOA==",
+ "name": "Definition:Creating",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTY4Nzg5Mg==",
+ "name": "Definition:Enhancement",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyOTM4NjAwOA==",
+ "name": "Definition:Missing",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMzcwODQxMw==",
+ "name": "Definition:Request",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMTg2MTM4MjI0",
+ "name": "dependencies",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1NjcxNzAyMQ==",
+ "name": "Discussion",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw3NTcxMTk0Ng==",
+ "name": "Documents",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwzMDI2OTUyNQ==",
+ "name": "Duplicate",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNjA4MjA4ODM1",
+ "name": "Edits Infrastructure",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNjA4MjEwODMz",
+ "name": "Edits multiple packages",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyNDk1OTc2ODI5",
+ "name": "Edits Owners",
+ "__typename": "Label"
+ },
+ {
+ "id": "LA_kwDOAFz6BM71Jg4R",
+ "name": "github_actions",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1ODMyOTQ0NzQ=",
+ "name": "Has Merge Conflict",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwzMzUzMTYyNTAy",
+ "name": "Huge Change",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwzMDI2OTc0NQ==",
+ "name": "Infrastructure",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwzMDI2OTUzOA==",
+ "name": "invalid",
+ "__typename": "Label"
+ },
+ {
+ "id": "LA_kwDOAFz6BM8AAAABXw1nPg",
+ "name": "javascript",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1NjcxNDU5MQ==",
+ "name": "Level:Advanced",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1NjcxNDU3Mg==",
+ "name": "Level:Intermediate",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1NjcxNDU3MQ==",
+ "name": "Level:Starter",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNjA4NTUyNDEw",
+ "name": "Maintainer Approved",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMTk3MzU2OTA1",
+ "name": "Mergebot Error",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyNTI5Mjc2Njc2",
+ "name": "Multiple Languages",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2NDY3ODg4ODg=",
+ "name": "New Definition",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMTU0ODU3ODAw",
+ "name": "No Other Owners",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1ODYxNzcwNjM=",
+ "name": "Other Approved",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw5MDUzMzQwOTU=",
+ "name": "Owner Approved",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTk2MTk1ODI0",
+ "name": "Perf: Better",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTk2MTk4NTgw",
+ "name": "Perf: Mixed",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTk2MTk0NzQ0",
+ "name": "Perf: Same",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTk2MTk5Mjg2",
+ "name": "Perf: Worse",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2ODQzMjE1NzY=",
+ "name": "Popular package",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyOTUzOTk4NzE4",
+ "name": "Possibly Edits Infrastructure",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwxNTY4Nzg5NA==",
+ "name": "Question",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwzOTU2NzkwNTk=",
+ "name": "Revision needed",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2OTcwMTg5NzI=",
+ "name": "Self Merge",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1NjcxNDI1Mg==",
+ "name": "Target:Browser",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw1NjcxNDI0NQ==",
+ "name": "Target:NodeJS",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMDk2NzQzNjAw",
+ "name": "The CI failed",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyOTUzOTk2NDAx",
+ "name": "The CI is blocked",
+ "__typename": "Label"
+ },
+ {
+ "id": "LA_kwDOAFz6BM8AAAABEGgY4Q",
+ "name": "Too Many Files",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMTU2MzIyMzcx",
+ "name": "Too Many Owners",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwzMjAzMjg3Mg==",
+ "name": "TypeScript-Core",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2NDQwOTUzNDI=",
+ "name": "Unmergeable",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2NDQwOTU4ODI=",
+ "name": "Unmerged",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWw2NDY3ODkyMDU=",
+ "name": "Unowned",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyNDYyODA0MzE1",
+ "name": "Unreviewed",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMTU0NzUwNDcz",
+ "name": "Untested Change",
+ "__typename": "Label"
+ },
+ {
+ "id": "MDU6TGFiZWwyMDk2NzQ1NzQx",
+ "name": "Where is GH Actions?",
+ "__typename": "Label"
+ }
+ ]
+}
diff --git a/packages/mergebot/src/_tests/discussions.test.ts b/packages/mergebot/src/_tests/discussions.test.ts
new file mode 100644
index 0000000000..ab8fe709c2
--- /dev/null
+++ b/packages/mergebot/src/_tests/discussions.test.ts
@@ -0,0 +1,31 @@
+/*
+ * @jest-environment ./src/_tests/testEnvironment
+ */
+///
+import {canHandleRequest, extractNPMReference} from "../discussions";
+
+describe(canHandleRequest, () => {
+ const eventActions = [
+ ["discussion", "created", true],
+ ["discussion", "edited", true],
+ ["discussion", "updated", false],
+ ["pull_request", "created", false]
+ ] as const;
+
+ test.concurrent.each(eventActions)("(%s, %s) is %s", async (event, action, expected) => {
+ expect(canHandleRequest(event, action)).toEqual(expected);
+ });
+});
+
+describe(extractNPMReference, () => {
+ const eventActions = [
+ ["[node] my thingy", "node"],
+ ["OK [react]", "react"],
+ ["I think [@typescript/twoslash] need improving ", "@typescript/twoslash"],
+ ["[@types/node] needs X", "node"],
+ ] as const;
+
+ test.concurrent.each(eventActions)("(%s, %s) is %s", async (title, result) => {
+ expect(extractNPMReference({ title })).toEqual(result);
+ });
+});
diff --git a/packages/mergebot/src/_tests/fixturedActions.test.ts b/packages/mergebot/src/_tests/fixturedActions.test.ts
new file mode 100644
index 0000000000..6331d05d19
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixturedActions.test.ts
@@ -0,0 +1,64 @@
+import { ApolloQueryResult } from "@apollo/client/core";
+import { readdirSync } from "fs";
+import { join } from "path";
+import { toMatchFile } from "jest-file-snapshot";
+import { process } from "../compute-pr-actions";
+import { deriveStateForPR } from "../pr-info";
+import { PR } from "../queries/schema/PR";
+import { readJsonSync, scrubDiagnosticDetails } from "../util/util";
+import * as cachedQueries from "./cachedQueries.json";
+jest.mock("../util/cachedQueries", () => ({
+ getProjectBoardColumns: jest.fn(() => cachedQueries.getProjectBoardColumns),
+ getLabels: jest.fn(() => cachedQueries.getLabels),
+}));
+import { executePrActions } from "../execute-pr-actions";
+
+expect.extend({ toMatchFile });
+
+/* You can use the following command to add/update fixtures with an existing PR
+ *
+ * BOT_AUTH_TOKEN=XYZ npm run create-fixture -- 43164
+ */
+
+async function testFixture(dir: string) {
+ // _foo.json are input files, except for Date.now from derived.json
+ const responsePath = join(dir, "_response.json");
+ const filesPath = join(dir, "_files.json");
+ const downloadsPath = join(dir, "_downloads.json");
+ const derivedPath = join(dir, "derived.json");
+ const resultPath = join(dir, "result.json");
+ const mutationsPath = join(dir, "mutations.json");
+
+ const JSONString = (value: any) => scrubDiagnosticDetails(JSON.stringify(value, null, " ") + "\n");
+
+ const response: ApolloQueryResult = readJsonSync(responsePath);
+ const files = readJsonSync(filesPath);
+ const downloads = readJsonSync(downloadsPath);
+
+ const prInfo = response.data.repository?.pullRequest;
+ if (!prInfo) throw new Error("Should never happen");
+
+ const derived = await deriveStateForPR(
+ prInfo,
+ (expr: string) => Promise.resolve(files[expr] as string),
+ (name: string, _until?: Date) => name in downloads ? downloads[name] : 0,
+ new Date(readJsonSync(derivedPath).now),
+ );
+
+ const action = process(derived);
+
+ expect(JSONString(action)).toMatchFile(resultPath);
+ expect(JSONString(derived)).toMatchFile(derivedPath);
+
+ const mutations = await executePrActions(action, prInfo, /*dry*/ true);
+ expect(JSONString(mutations)).toMatchFile(mutationsPath);
+}
+
+describe("Test fixtures", () => {
+ const fixturesFolder = join(__dirname, "fixtures");
+ readdirSync(fixturesFolder, { withFileTypes: true }).forEach(dirent => {
+ if (dirent.isDirectory()) {
+ it(`Fixture: ${dirent.name}`, async () => testFixture(join(fixturesFolder, dirent.name)));
+ }
+ });
+});
diff --git a/packages/mergebot/src/_tests/fixtures/38979/_downloads.json b/packages/mergebot/src/_tests/fixtures/38979/_downloads.json
new file mode 100644
index 0000000000..f67d186b94
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/38979/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "es-abstract": 8537567
+}
diff --git a/packages/mergebot/src/_tests/fixtures/38979/_files.json b/packages/mergebot/src/_tests/fixtures/38979/_files.json
new file mode 100644
index 0000000000..eeb6dbf43c
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/38979/_files.json
@@ -0,0 +1,4 @@
+{
+ "master:types/es-abstract/index.d.ts": "// Type definitions for es-abstract 1.16\n// Project: https://github.com/ljharb/es-abstract\n// Definitions by: RReverser \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 3.6\n\n FAKE CONTENT TO MATCH PREVIOUS OWNERS.JSON \n",
+ "222334139e52fc16369464cfb5dc95c82f71192f:types/es-abstract/index.d.ts": "// Type definitions for es-abstract 1.16\n// Project: https://github.com/ljharb/es-abstract\n// Definitions by: RReverser \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 3.6\n\n FAKE CONTENT TO MATCH PREVIOUS OWNERS.JSON \n"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/38979/_response.json b/packages/mergebot/src/_tests/fixtures/38979/_response.json
new file mode 100644
index 0000000000..1741d93e73
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/38979/_response.json
@@ -0,0 +1,2495 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0",
+ "title": "feat: Add `es‑abstract` [WIP]",
+ "lastEditedAt": "2019-10-22T21:40:07Z",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2019-10-08T18:19:50Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "New Definition",
+ "__typename": "Label"
+ },
+ {
+ "name": "Other Approved",
+ "__typename": "Label"
+ },
+ {
+ "name": "Check Config",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "isDraft": false,
+ "mergeable": "UNKNOWN",
+ "number": 38979,
+ "state": "OPEN",
+ "headRefOid": "222334139e52fc16369464cfb5dc95c82f71192f",
+ "changedFiles": 72,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-08T18:22:32Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-15T01:26:04Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-17T21:31:10Z"
+ },
+ {
+ "__typename": "ReadyForReviewEvent",
+ "createdAt": "2019-10-18T22:52:06Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-18T23:06:50Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-19T14:41:07Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-19T15:26:36Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T21:39:56Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:31:54Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-11-07T13:40:31Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-11-07T13:53:10Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-12-30T21:53:58Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:12:41Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:12:42Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:12:43Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:12:43Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:12:44Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:12:45Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T04:51:03Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "sandersn",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T15:11:44Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "orta",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-12T15:13:19Z"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:06:14Z",
+ "__typename": "PullRequestReviewComment"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:08:14Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:09:08Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299527429",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:13:23Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:13:23Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299531875",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:14:17Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:14:17Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299532394",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:16:48Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:16:48Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299533922",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:19:18Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:19:19Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299535415",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:21:37Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:21:37Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299536732",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "efd85c46cbcbd5a8652425ab5fe15d1a2adb2935",
+ "abbreviatedOid": "efd85c4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-09T16:29:00Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-09T16:29:00Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-299541130",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "weswigham",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "0e6e7f4d543b37e7862868499883a4afb3f59e5c",
+ "abbreviatedOid": "0e6e7f4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "weswigham",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T21:42:08Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "DISMISSED",
+ "submittedAt": "2019-10-22T21:43:25Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305526346",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "0e6e7f4d543b37e7862868499883a4afb3f59e5c",
+ "abbreviatedOid": "0e6e7f4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:13:30Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:13:30Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305539323",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "weswigham",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "0e6e7f4d543b37e7862868499883a4afb3f59e5c",
+ "abbreviatedOid": "0e6e7f4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "weswigham",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:17:22Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:17:22Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305540662",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "weswigham",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "0e6e7f4d543b37e7862868499883a4afb3f59e5c",
+ "abbreviatedOid": "0e6e7f4",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "weswigham",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:20:54Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:20:55Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305541896",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "e40b41f143dd741340b23fe88184a42b881775e5",
+ "abbreviatedOid": "e40b41f",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:34:25Z",
+ "__typename": "PullRequestReviewComment"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:36:11Z",
+ "__typename": "PullRequestReviewComment"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:37:27Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:38:44Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305546461",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "e40b41f143dd741340b23fe88184a42b881775e5",
+ "abbreviatedOid": "e40b41f",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:40:47Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:40:47Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305548491",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "e40b41f143dd741340b23fe88184a42b881775e5",
+ "abbreviatedOid": "e40b41f",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:49:50Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:49:50Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305551320",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "44403f972f64bf11ba9f1c724f8ad6505b4cf0eb",
+ "abbreviatedOid": "44403f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:50:52Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:50:52Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305551653",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "44403f972f64bf11ba9f1c724f8ad6505b4cf0eb",
+ "abbreviatedOid": "44403f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:51:49Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:51:50Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305551943",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "f2c94a555651e7aa8a9f344c26caae3a3020377e",
+ "abbreviatedOid": "f2c94a5",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:54:33Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:54:33Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305552800",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "sandersn",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "3aba5ac906488433b92621605ef1eaceff29679b",
+ "abbreviatedOid": "3aba5ac",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "sandersn",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T22:56:08Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T22:56:09Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305553285",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "3aba5ac906488433b92621605ef1eaceff29679b",
+ "abbreviatedOid": "3aba5ac",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T23:00:36Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T23:00:36Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305554734",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "3aba5ac906488433b92621605ef1eaceff29679b",
+ "abbreviatedOid": "3aba5ac",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "createdAt": "2019-10-22T23:00:52Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2019-10-22T23:00:52Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-305554810",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "222334139e52fc16369464cfb5dc95c82f71192f",
+ "abbreviatedOid": "2223341",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "APPROVED",
+ "submittedAt": "2020-05-12T04:51:52Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979#pullrequestreview-409696628",
+ "__typename": "PullRequestReview"
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 24,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2019-10-08T18:20:00Z",
+ "committedDate": "2019-10-18T22:50:53Z",
+ "pushedDate": null,
+ "abbreviatedOid": "c44bcfe",
+ "oid": "c44bcfef5ae7fb71d20e57ebc4430d5cf412b1d2",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2019-10-09T15:20:00Z",
+ "committedDate": "2019-10-18T22:50:53Z",
+ "pushedDate": null,
+ "abbreviatedOid": "5cc1196",
+ "oid": "5cc1196c37e559f3e33c6711c4a1996d24d3f870",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2019-10-09T15:30:00Z",
+ "committedDate": "2019-10-18T22:50:54Z",
+ "pushedDate": null,
+ "abbreviatedOid": "70d9fdb",
+ "oid": "70d9fdb8edd51c440d402b323c60ddbabf63b59b",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2019-10-09T16:30:00Z",
+ "committedDate": "2019-10-18T22:50:54Z",
+ "pushedDate": null,
+ "abbreviatedOid": "6451603",
+ "oid": "6451603e54acd1841b18b27187d24f5da07a5428",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/813d6fe0021b1437dcf408a39c34c54ac608ce9b/checks?check_suite_id=271785749",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/813d6fe0021b1437dcf408a39c34c54ac608ce9b/checks?check_suite_id=271785749",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/599887222?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-10T01:00:00Z",
+ "committedDate": "2019-10-18T22:50:54Z",
+ "pushedDate": "2019-10-18T22:51:19Z",
+ "abbreviatedOid": "813d6fe",
+ "oid": "813d6fe0021b1437dcf408a39c34c54ac608ce9b",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/b634ec7b05383b2bc8aa730c5a7a6e336c0af4b4/checks?check_suite_id=272146733",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/b634ec7b05383b2bc8aa730c5a7a6e336c0af4b4/checks?check_suite_id=272146733",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/600015754?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-19T11:20:00Z",
+ "committedDate": "2019-10-19T11:19:33Z",
+ "pushedDate": "2019-10-19T11:19:22Z",
+ "abbreviatedOid": "b634ec7",
+ "oid": "b634ec7b05383b2bc8aa730c5a7a6e336c0af4b4",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/4e2290d0ac9388f6a0376721818f5bf046d122e5/checks?check_suite_id=272318377",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/4e2290d0ac9388f6a0376721818f5bf046d122e5/checks?check_suite_id=272318377",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/600095152?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-19T16:45:00Z",
+ "committedDate": "2019-10-19T16:48:31Z",
+ "pushedDate": "2019-10-19T16:48:50Z",
+ "abbreviatedOid": "4e2290d",
+ "oid": "4e2290d0ac9388f6a0376721818f5bf046d122e5",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/0e6e7f4d543b37e7862868499883a4afb3f59e5c/checks?check_suite_id=272389644",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/0e6e7f4d543b37e7862868499883a4afb3f59e5c/checks?check_suite_id=272389644",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/600130297?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-19T19:00:00Z",
+ "committedDate": "2019-10-19T19:06:12Z",
+ "pushedDate": "2019-10-19T19:06:02Z",
+ "abbreviatedOid": "0e6e7f4",
+ "oid": "0e6e7f4d543b37e7862868499883a4afb3f59e5c",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/e40b41f143dd741340b23fe88184a42b881775e5/checks?check_suite_id=276777519",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/e40b41f143dd741340b23fe88184a42b881775e5/checks?check_suite_id=276777519",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/601529680?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-22T22:20:00Z",
+ "committedDate": "2019-10-22T22:21:56Z",
+ "pushedDate": "2019-10-22T22:21:42Z",
+ "abbreviatedOid": "e40b41f",
+ "oid": "e40b41f143dd741340b23fe88184a42b881775e5",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "CANCELLED",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/44403f972f64bf11ba9f1c724f8ad6505b4cf0eb/checks?check_suite_id=276806822",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/44403f972f64bf11ba9f1c724f8ad6505b4cf0eb/checks?check_suite_id=276806822",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/601540406?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-22T22:50:00Z",
+ "committedDate": "2019-10-22T22:50:15Z",
+ "pushedDate": "2019-10-22T22:49:56Z",
+ "abbreviatedOid": "44403f9",
+ "oid": "44403f972f64bf11ba9f1c724f8ad6505b4cf0eb",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "CANCELLED",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/f2c94a555651e7aa8a9f344c26caae3a3020377e/checks?check_suite_id=276809299",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f2c94a555651e7aa8a9f344c26caae3a3020377e/checks?check_suite_id=276809299",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/601541095?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-22T22:52:03Z",
+ "committedDate": "2019-10-22T22:52:03Z",
+ "pushedDate": "2019-10-22T22:52:05Z",
+ "abbreviatedOid": "f2c94a5",
+ "oid": "f2c94a555651e7aa8a9f344c26caae3a3020377e",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/3aba5ac906488433b92621605ef1eaceff29679b/checks?check_suite_id=276813151",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3aba5ac906488433b92621605ef1eaceff29679b/checks?check_suite_id=276813151",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/601542258?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-10-22T22:55:00Z",
+ "committedDate": "2019-10-22T22:56:14Z",
+ "pushedDate": "2019-10-22T22:55:52Z",
+ "abbreviatedOid": "3aba5ac",
+ "oid": "3aba5ac906488433b92621605ef1eaceff29679b",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "CANCELLED",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/5a99874ff448082aeadcba0723cc8416fe7534cb/checks?check_suite_id=297546363",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/5a99874ff448082aeadcba0723cc8416fe7534cb/checks?check_suite_id=297546363",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/607942118?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-06T00:00:00Z",
+ "committedDate": "2019-11-06T00:23:00Z",
+ "pushedDate": "2019-11-06T00:23:08Z",
+ "abbreviatedOid": "5a99874",
+ "oid": "5a99874ff448082aeadcba0723cc8416fe7534cb",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/f5fd25dd9379af21d7c01eec72e657d74a5d8e0c/checks?check_suite_id=297550993",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f5fd25dd9379af21d7c01eec72e657d74a5d8e0c/checks?check_suite_id=297550993",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/607943349?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-06T00:15:00Z",
+ "committedDate": "2019-11-06T00:23:25Z",
+ "pushedDate": "2019-11-06T00:28:06Z",
+ "abbreviatedOid": "f5fd25d",
+ "oid": "f5fd25dd9379af21d7c01eec72e657d74a5d8e0c",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/f0cd302ecc80ac2cc4f2cd0db999c4dab6b5304c/checks?check_suite_id=297756777",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f0cd302ecc80ac2cc4f2cd0db999c4dab6b5304c/checks?check_suite_id=297756777",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/608004514?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-06T04:30:00Z",
+ "committedDate": "2019-11-06T04:32:41Z",
+ "pushedDate": "2019-11-06T04:32:21Z",
+ "abbreviatedOid": "f0cd302",
+ "oid": "f0cd302ecc80ac2cc4f2cd0db999c4dab6b5304c",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/aa67527d028642223f41c7fe8ea12da62c274a8e/checks?check_suite_id=299365122",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/aa67527d028642223f41c7fe8ea12da62c274a8e/checks?check_suite_id=299365122",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/608474743?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-06T23:20:00Z",
+ "committedDate": "2019-11-06T23:22:19Z",
+ "pushedDate": "2019-11-06T23:22:12Z",
+ "abbreviatedOid": "aa67527",
+ "oid": "aa67527d028642223f41c7fe8ea12da62c274a8e",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/719b3f5b38290caf6b88a55d8894c228afb2d772/checks?check_suite_id=300279910",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/719b3f5b38290caf6b88a55d8894c228afb2d772/checks?check_suite_id=300279910",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/608736737?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-07T13:40:00Z",
+ "committedDate": "2019-11-07T13:35:47Z",
+ "pushedDate": "2019-11-07T13:40:20Z",
+ "abbreviatedOid": "719b3f5",
+ "oid": "719b3f5b38290caf6b88a55d8894c228afb2d772",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "CANCELLED",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/9d7b5b983c5b5e0a8ca344cf2af70bd8ad6ea5ec/checks?check_suite_id=302704861",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/9d7b5b983c5b5e0a8ca344cf2af70bd8ad6ea5ec/checks?check_suite_id=302704861",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/609413580?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-08T20:30:00Z",
+ "committedDate": "2019-11-08T20:56:06Z",
+ "pushedDate": "2019-11-08T20:55:48Z",
+ "abbreviatedOid": "9d7b5b9",
+ "oid": "9d7b5b983c5b5e0a8ca344cf2af70bd8ad6ea5ec",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/b4716bc3817ee2b38b9c3bc87eee49c033e0d4ed/checks?check_suite_id=302711560",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/b4716bc3817ee2b38b9c3bc87eee49c033e0d4ed/checks?check_suite_id=302711560",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/609415396?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-08T21:00:00Z",
+ "committedDate": "2019-11-08T21:01:23Z",
+ "pushedDate": "2019-11-08T21:01:06Z",
+ "abbreviatedOid": "b4716bc",
+ "oid": "b4716bc3817ee2b38b9c3bc87eee49c033e0d4ed",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2019-11-09T21:30:00Z",
+ "committedDate": "2019-11-15T23:44:04Z",
+ "pushedDate": null,
+ "abbreviatedOid": "818f2a0",
+ "oid": "818f2a0623c2f40afac0952f7a7b8906a1324353",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2019-11-15T23:45:00Z",
+ "committedDate": "2019-11-16T00:47:00Z",
+ "pushedDate": null,
+ "abbreviatedOid": "a663913",
+ "oid": "a663913be284b6f8d23897cb433fc9c8c0be7629",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/3f2372fc8ea2626bbbe6c013b7c8f2676c5a8edf/checks?check_suite_id=313826891",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3f2372fc8ea2626bbbe6c013b7c8f2676c5a8edf/checks?check_suite_id=313826891",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/612655404?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-11-16T00:45:00Z",
+ "committedDate": "2019-11-16T00:48:00Z",
+ "pushedDate": "2019-11-16T00:48:39Z",
+ "abbreviatedOid": "3f2372f",
+ "oid": "3f2372fc8ea2626bbbe6c013b7c8f2676c5a8edf",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/0164b400a2ec441554cecbd6718a238d42fd80fc/checks?check_suite_id=379105709",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/0164b400a2ec441554cecbd6718a238d42fd80fc/checks?check_suite_id=379105709",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/631093486?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2019-12-30T21:45:00Z",
+ "committedDate": "2019-12-30T21:47:34Z",
+ "pushedDate": "2019-12-30T21:46:51Z",
+ "abbreviatedOid": "0164b40",
+ "oid": "0164b400a2ec441554cecbd6718a238d42fd80fc",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/222334139e52fc16369464cfb5dc95c82f71192f/checks?check_suite_id=383650012",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/222334139e52fc16369464cfb5dc95c82f71192f/checks?check_suite_id=383650012",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/632446617?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-01-03T21:00:00Z",
+ "committedDate": "2020-01-03T21:03:00Z",
+ "pushedDate": "2020-01-03T21:02:41Z",
+ "abbreviatedOid": "2223341",
+ "oid": "222334139e52fc16369464cfb5dc95c82f71192f",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 20,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDUzOTY0MDI1OA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@ExE-Boss Thank you for submitting this PR!\n \nBecause this is a new definition, a DefinitelyTyped maintainer will be reviewing this PR in the next few days once the Travis CI build passes.\n \nIn the meantime, if the build fails or a merge conflict occurs, I'll let you know. Have a nice day!\r\n",
+ "createdAt": "2019-10-08T18:22:32Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0MTk5NTIxNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\nAfter 5 days, no one has reviewed the PR 😞. A maintainer will be reviewing the PR in the next few days and will either merge it or request revisions. Thank you for your patience!\r\n",
+ "createdAt": "2019-10-15T01:26:04Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0MzM3MDM4OA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@ExE-Boss One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits or comments. Thank you!\r\n",
+ "createdAt": "2019-10-17T21:31:10Z",
+ "reactions": {
+ "nodes": [
+ {
+ "user": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "__typename": "Reaction"
+ }
+ ],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0Mzk5Njg3NQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\n\n👋 **Hi there!** I’ve run some quick measurements against master and your PR. These metrics should help the humans reviewing this PR gauge whether it might negatively affect compile times or editor responsiveness for users who install these typings.\n\n\nLet’s review the numbers, shall we?\n\nThese typings are for a package that doesn’t yet exist on master, so I don’t have anything to compare against yet! In the future, I’ll be able to compare PRs to es-abstract with its source on master.\n\n\n\nComparison details 📊
\n\n| **Batch compilation** | |\n| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| Type count | 4493 |\n| Assignability cache size | 925 |\n| | |\n| **Language service measurements** | |\n| Samples taken | 910 |\n| Identifiers in tests | 910 |\n| **`getCompletionsAtPosition`** | |\n| Mean duration (ms) | 125.1 |\n| Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 15.4% |\n| Worst duration (ms) | 202.9 |\n| Worst identifier | [CheckObjectCoercible](/DefinitelyTyped/DefinitelyTyped/blob/cdd01901cad98ae8fd150bfc5c51907d51abe6a2/types/es-abstract/test/es5.test.ts#L39) |\n| **`getQuickInfoAtPosition`** | |\n| Mean duration (ms) | 125.8 |\n| Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 17.5% |\n| Worst duration (ms) | 191.2 |\n| Worst identifier | [Call](/DefinitelyTyped/DefinitelyTyped/blob/cdd01901cad98ae8fd150bfc5c51907d51abe6a2/types/es-abstract/test/es2015.test.ts#L12) |\n| | |\n| **System information** | |\n| Node version | v10.16.3 |\n| CPU count | 2 |\n| CPU speed | 2.294 GHz |\n| CPU model | Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz |\n| CPU Architecture | x64 |\n| Memory | 6.8 GiB |\n| Platform | linux |\n| Release | 4.15.0-1059-azure |\n\n\n \n",
+ "createdAt": "2019-10-18T23:06:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0NDE1MzI5Mw==",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "body": "needinfo?(@ljharb): Should I also add types for utilities in the `helpers` directory?",
+ "createdAt": "2019-10-19T14:41:07Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0NDE1OTkwOA==",
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "body": "everything reachable is part of the public api, so probably yes.",
+ "createdAt": "2019-10-19T15:26:36Z",
+ "reactions": {
+ "nodes": [
+ {
+ "user": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "__typename": "Reaction"
+ }
+ ],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0NTE2Nzc5Mg==",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "body": "review?(@ljharb): I have now added type definitions for all reachable files.",
+ "createdAt": "2019-10-22T21:39:56Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU0NTE4NDEyMw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n🔔 @weswigham - Thanks for your review of this PR! Can you please look at the new code and update your review status if appropriate?\r\n",
+ "createdAt": "2019-10-22T22:31:54Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU1MTA4MzEzNQ==",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "body": "These types are still very much a work in progress.",
+ "createdAt": "2019-11-07T13:40:31Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU1MTA4ODE3NQ==",
+ "author": {
+ "login": "ExE-Boss",
+ "__typename": "User"
+ },
+ "body": "Also, it’s likely that I’ll soon have to update this to v2.0 because of https://github.com/ljharb/es-abstract/issues/62, https://github.com/ljharb/es-abstract/issues/66, https://github.com/ljharb/es-abstract/pull/67, https://github.com/ljharb/es-abstract/pull/68 and https://github.com/ljharb/es-abstract/pull/69.",
+ "createdAt": "2019-11-07T13:53:10Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU2OTgwNzIzMg==",
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "body": "I wouldn't wait for v2; it'd be more useful to get v1.17 out.",
+ "createdAt": "2019-12-30T21:53:58Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAxMg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@ExE-Boss Thank you for submitting this PR! \n\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\n- [es-abstract on npm](https://www.npmjs.com/package/es-abstract)\n - [es-abstract on unpkg](https://unpkg.com/browse/es-abstract@latest//)\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n",
+ "createdAt": "2020-05-12T04:12:41Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAxNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@sandersn Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-05-12T04:12:42Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAyMg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@ljharb Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-05-12T04:12:43Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAyNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@ljharb Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-05-12T04:12:43Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAzMQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@weswigham Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-05-12T04:12:44Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAzMg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@ljharb Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-05-12T04:12:45Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzEwNjI1Ng==",
+ "author": {
+ "login": "ljharb",
+ "__typename": "User"
+ },
+ "body": "… why do i need 3 pings",
+ "createdAt": "2020-05-12T04:51:03Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzQwNzIzOA==",
+ "author": {
+ "login": "sandersn",
+ "__typename": "User"
+ },
+ "body": "@ljharb the bot is now running asynchrono\r\n@orta you wanted to know about bad behaviour like this I think.\r\nusly!",
+ "createdAt": "2020-05-12T15:11:44Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzQwODIxMg==",
+ "author": {
+ "login": "orta",
+ "__typename": "User"
+ },
+ "body": "Thanks, that is definitely suspicious",
+ "createdAt": "2020-05-12T15:13:19Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/es-abstract/GetIntrinsic.d.ts",
+ "additions": 138,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es2015.d.ts",
+ "additions": 234,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es2016.d.ts",
+ "additions": 36,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es2017.d.ts",
+ "additions": 42,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es2018.d.ts",
+ "additions": 47,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es2019.d.ts",
+ "additions": 63,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es5.d.ts",
+ "additions": 88,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es6.d.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/es7.d.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/assertRecord.d.ts",
+ "additions": 21,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/assign.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/callBind.d.ts",
+ "additions": 137,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/callBound.d.ts",
+ "additions": 21,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/every.d.ts",
+ "additions": 5,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/forEach.d.ts",
+ "additions": 12,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/getInferredName.d.ts",
+ "additions": 9,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/getIteratorMethod.d.ts",
+ "additions": 12,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/getProto.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/getSymbolDescription.d.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/isFinite.d.ts",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/isNaN.d.ts",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/isPrefixOf.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/isPrimitive.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/isPropertyDescriptor.d.ts",
+ "additions": 16,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/isSamePropertyDescriptor.d.ts",
+ "additions": 9,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/maxSafeInteger.d.ts",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/mod.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/regexTester.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/setProto.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/helpers/sign.d.ts",
+ "additions": 2,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/index.d.ts",
+ "additions": 56,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/operations/2015.d.ts",
+ "additions": 13,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/operations/2016.d.ts",
+ "additions": 164,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/operations/2017.d.ts",
+ "additions": 58,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/operations/2018.d.ts",
+ "additions": 43,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/operations/2019.d.ts",
+ "additions": 15,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/GetIntrinsic.test.ts",
+ "additions": 451,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/es2015.test.ts",
+ "additions": 108,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/es2016.test.ts",
+ "additions": 21,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/es2017.test.ts",
+ "additions": 36,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/es2018.test.ts",
+ "additions": 19,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/es2019.test.ts",
+ "additions": 17,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/es5.test.ts",
+ "additions": 53,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/assertRecord.test.ts",
+ "additions": 10,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/assign.test.ts",
+ "additions": 4,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/callBind.test.ts",
+ "additions": 12,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/callBound.test.ts",
+ "additions": 15,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/every.test.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/forEach.test.ts",
+ "additions": 22,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getInferredName.test.ts",
+ "additions": 9,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getIteratorMethod.test.ts",
+ "additions": 15,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getProto.test.ts",
+ "additions": 7,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getSymbolDescription.test.ts",
+ "additions": 4,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isFinite.test.ts",
+ "additions": 5,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isNaN.test.ts",
+ "additions": 5,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isPrefixOf.test.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isPrimitive.test.ts",
+ "additions": 9,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isPropertyDescriptor.test.ts",
+ "additions": 8,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isSamePropertyDescriptor.test.ts",
+ "additions": 8,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/maxSafeInteger.test.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/mod.test.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/regexTester.test.ts",
+ "additions": 4,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/setProto.test.ts",
+ "additions": 10,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/sign.test.ts",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/index.test.ts",
+ "additions": 36,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2015.test.ts",
+ "additions": 234,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2016.test.ts",
+ "additions": 477,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2017.test.ts",
+ "additions": 413,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2018.test.ts",
+ "additions": 432,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2019.test.ts",
+ "additions": 402,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/tsconfig.json",
+ "additions": 52,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/es-abstract/tslint.json",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 72
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMjc1MTM1NTA=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzU5",
+ "name": "Needs Author Attention",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/38979/derived.json b/packages/mergebot/src/_tests/fixtures/38979/derived.json
new file mode 100644
index 0000000000..c3709569d2
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/38979/derived.json
@@ -0,0 +1,339 @@
+{
+ "type": "info",
+ "now": "2020-05-12T19:14:42.000Z",
+ "pr_number": 38979,
+ "author": "ExE-Boss",
+ "headCommitOid": "222334139e52fc16369464cfb5dc95c82f71192f",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-01-03T21:02:41.000Z",
+ "lastActivityDate": "2020-05-12T15:13:19.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Critical",
+ "pkgInfo": [
+ {
+ "name": "es-abstract",
+ "kind": "edit",
+ "files": [
+ {
+ "path": "types/es-abstract/GetIntrinsic.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es2015.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es2016.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es2017.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es2018.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es2019.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es5.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es6.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/es7.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/assertRecord.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/assign.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/callBind.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/callBound.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/every.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/forEach.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/getInferredName.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/getIteratorMethod.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/getProto.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/getSymbolDescription.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/isFinite.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/isNaN.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/isPrefixOf.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/isPrimitive.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/isPropertyDescriptor.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/isSamePropertyDescriptor.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/maxSafeInteger.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/mod.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/regexTester.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/setProto.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/helpers/sign.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/operations/2015.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/operations/2016.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/operations/2017.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/operations/2018.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/operations/2019.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/es-abstract/test/GetIntrinsic.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/es2015.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/es2016.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/es2017.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/es2018.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/es2019.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/es5.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/assertRecord.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/assign.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/callBind.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/callBound.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/every.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/forEach.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getInferredName.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getIteratorMethod.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getProto.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/getSymbolDescription.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isFinite.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isNaN.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isPrefixOf.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isPrimitive.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isPropertyDescriptor.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/isSamePropertyDescriptor.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/maxSafeInteger.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/mod.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/regexTester.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/setProto.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/helpers/sign.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/index.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2015.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2016.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2017.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2018.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/test/operations/2019.test.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/es-abstract/tsconfig.json",
+ "kind": "package-meta-ok"
+ },
+ {
+ "path": "types/es-abstract/tslint.json",
+ "kind": "package-meta",
+ "suspect": "edited"
+ }
+ ],
+ "owners": [
+ "RReverser"
+ ],
+ "addedOwners": [],
+ "deletedOwners": [],
+ "popularityLevel": "Critical"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "approved",
+ "reviewer": "ljharb",
+ "date": "2020-05-12T04:51:52.000Z",
+ "isMaintainer": false
+ },
+ {
+ "type": "stale",
+ "reviewer": "sandersn",
+ "date": "2019-10-22T22:56:09.000Z",
+ "abbrOid": "3aba5ac"
+ },
+ {
+ "type": "stale",
+ "reviewer": "weswigham",
+ "date": "2019-10-22T22:20:55.000Z",
+ "abbrOid": "0e6e7f4"
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/38979/mutations.json b/packages/mergebot/src/_tests/fixtures/38979/mutations.json
new file mode 100644
index 0000000000..ff5a5fa15d
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/38979/mutations.json
@@ -0,0 +1,70 @@
+[
+ {
+ "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAxMg==",
+ "body": "@ExE-Boss Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `es-abstract` — [on npm](https://www.npmjs.com/package/es-abstract), [on unpkg](https://unpkg.com/browse/es-abstract@latest/)\n - Config files to check:\n - [`es-abstract/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979/files/222334139e52fc16369464cfb5dc95c82f71192f#diff-1eda518cd7bfbcd5fa96a7f844b631954cbc9db9ff168fc3731abb874369a4f6): edited\n\n## Code Reviews\n\nBecause this is a widely-used package, a DT maintainer will need to review it before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=38979&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 A DT maintainer needs to approve changes that affect module config files\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n## Inactive\n\nThis PR has been inactive for 129 days — it is *still* unreviewed!\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwxNjA4NjM0NDg0",
+ "MDU6TGFiZWwyNDYyODA0MzE1"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: RemoveLabelsFromLabelableInput!) {\n removeLabelsFromLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWw2NDY3ODg4ODg="
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW45ODY3MDA2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0",
+ "body": "🔔 @RReverser — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0",
+ "body": "@sandersn, @weswigham Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0",
+ "body": "It has been more than two weeks and this PR still has no reviews.\n\nI'll bump it to the DT maintainer queue. Thank you for your patience, @ExE-Boss.\n\n(Ping @RReverser.)\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/38979/result.json b/packages/mergebot/src/_tests/fixtures/38979/result.json
new file mode 100644
index 0000000000..e829dfa863
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/38979/result.json
@@ -0,0 +1,30 @@
+{
+ "projectColumn": "Needs Maintainer Action",
+ "labels": [
+ "Critical package",
+ "Other Approved",
+ "Check Config",
+ "Unreviewed"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@ExE-Boss Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `es-abstract` — [on npm](https://www.npmjs.com/package/es-abstract), [on unpkg](https://unpkg.com/browse/es-abstract@latest/)\n - Config files to check:\n - [`es-abstract/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979/files/222334139e52fc16369464cfb5dc95c82f71192f#diff-1eda518cd7bfbcd5fa96a7f844b631954cbc9db9ff168fc3731abb874369a4f6): edited\n\n## Code Reviews\n\nBecause this is a widely-used package, a DT maintainer will need to review it before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=38979&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 A DT maintainer needs to approve changes that affect module config files\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n## Inactive\n\nThis PR has been inactive for 129 days — it is *still* unreviewed!\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers",
+ "status": "🔔 @RReverser — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/38979/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on."
+ },
+ {
+ "tag": "stale-ping-764528-0e6e7f4",
+ "status": "@sandersn, @weswigham Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?"
+ },
+ {
+ "tag": "Unreviewed:done",
+ "status": "It has been more than two weeks and this PR still has no reviews.\n\nI'll bump it to the DT maintainer queue. Thank you for your patience, @ExE-Boss.\n\n(Ping @RReverser.)"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43136/_downloads.json b/packages/mergebot/src/_tests/fixtures/43136/_downloads.json
new file mode 100644
index 0000000000..5606856ee6
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "estree": 8537567
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43136/_files.json b/packages/mergebot/src/_tests/fixtures/43136/_files.json
new file mode 100644
index 0000000000..d1310c88aa
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/_files.json
@@ -0,0 +1,4 @@
+{
+ "master:types/estree/index.d.ts": "// Type definitions for ESTree AST specification\n// Project: https://github.com/estree/estree\n// Definitions by: RReverser \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n// This definition file follows a somewhat unusual format. ESTree allows\n// runtime type checks based on the `type` parameter. In order to explain this\n// to typescript we want to use discriminated union types:\n// https://github.com/Microsoft/TypeScript/pull/9163\n//\n// For ESTree this is a bit tricky because the high level interfaces like\n// Node or Function are pulling double duty. We want to pass common fields down\n// to the interfaces that extend them (like Identifier or\n// ArrowFunctionExpression), but you can't extend a type union or enforce\n// common fields on them. So we've split the high level interfaces into two\n// types, a base type which passes down inhereted fields, and a type union of\n// all types which extend the base type. Only the type union is exported, and\n// the union is how other types refer to the collection of inheriting types.\n//\n// This makes the definitions file here somewhat more difficult to maintain,\n// but it has the notable advantage of making ESTree much easier to use as\n// an end user.\n\ninterface BaseNodeWithoutComments {\n // Every leaf interface that extends BaseNode must specify a type property.\n // The type property should be a string literal. For example, Identifier\n // has: `type: \"Identifier\"`\n type: string;\n loc?: SourceLocation | null;\n range?: [number, number];\n}\n\ninterface BaseNode extends BaseNodeWithoutComments {\n leadingComments?: Array;\n trailingComments?: Array;\n}\n\nexport type Node =\n Identifier | Literal | Program | Function | SwitchCase | CatchClause |\n VariableDeclarator | Statement | Expression | Property |\n AssignmentProperty | Super | TemplateElement | SpreadElement | Pattern |\n ClassBody | Class | MethodDefinition | ModuleDeclaration | ModuleSpecifier;\n\nexport interface Comment extends BaseNodeWithoutComments {\n type: \"Line\" | \"Block\";\n value: string;\n}\n\ninterface SourceLocation {\n source?: string | null;\n start: Position;\n end: Position;\n}\n\nexport interface Position {\n /** >= 1 */\n line: number;\n /** >= 0 */\n column: number;\n}\n\nexport interface Program extends BaseNode {\n type: \"Program\";\n sourceType: \"script\" | \"module\";\n body: Array;\n comments?: Array;\n}\n\nexport interface Directive extends BaseNode {\n type: \"ExpressionStatement\";\n expression: Literal;\n directive: string;\n}\n\ninterface BaseFunction extends BaseNode {\n params: Array;\n generator?: boolean;\n async?: boolean;\n // The body is either BlockStatement or Expression because arrow functions\n // can have a body that's either. FunctionDeclarations and\n // FunctionExpressions have only BlockStatement bodies.\n body: BlockStatement | Expression;\n}\n\nexport type Function =\n FunctionDeclaration | FunctionExpression | ArrowFunctionExpression;\n\nexport type Statement =\n ExpressionStatement | BlockStatement | EmptyStatement |\n DebuggerStatement | WithStatement | ReturnStatement | LabeledStatement |\n BreakStatement | ContinueStatement | IfStatement | SwitchStatement |\n ThrowStatement | TryStatement | WhileStatement | DoWhileStatement |\n ForStatement | ForInStatement | ForOfStatement | Declaration;\n\ninterface BaseStatement extends BaseNode { }\n\nexport interface EmptyStatement extends BaseStatement {\n type: \"EmptyStatement\";\n}\n\nexport interface BlockStatement extends BaseStatement {\n type: \"BlockStatement\";\n body: Array;\n innerComments?: Array;\n}\n\nexport interface ExpressionStatement extends BaseStatement {\n type: \"ExpressionStatement\";\n expression: Expression;\n}\n\nexport interface IfStatement extends BaseStatement {\n type: \"IfStatement\";\n test: Expression;\n consequent: Statement;\n alternate?: Statement | null;\n}\n\nexport interface LabeledStatement extends BaseStatement {\n type: \"LabeledStatement\";\n label: Identifier;\n body: Statement;\n}\n\nexport interface BreakStatement extends BaseStatement {\n type: \"BreakStatement\";\n label?: Identifier | null;\n}\n\nexport interface ContinueStatement extends BaseStatement {\n type: \"ContinueStatement\";\n label?: Identifier | null;\n}\n\nexport interface WithStatement extends BaseStatement {\n type: \"WithStatement\";\n object: Expression;\n body: Statement;\n}\n\nexport interface SwitchStatement extends BaseStatement {\n type: \"SwitchStatement\";\n discriminant: Expression;\n cases: Array;\n}\n\nexport interface ReturnStatement extends BaseStatement {\n type: \"ReturnStatement\";\n argument?: Expression | null;\n}\n\nexport interface ThrowStatement extends BaseStatement {\n type: \"ThrowStatement\";\n argument: Expression;\n}\n\nexport interface TryStatement extends BaseStatement {\n type: \"TryStatement\";\n block: BlockStatement;\n handler?: CatchClause | null;\n finalizer?: BlockStatement | null;\n}\n\nexport interface WhileStatement extends BaseStatement {\n type: \"WhileStatement\";\n test: Expression;\n body: Statement;\n}\n\nexport interface DoWhileStatement extends BaseStatement {\n type: \"DoWhileStatement\";\n body: Statement;\n test: Expression;\n}\n\nexport interface ForStatement extends BaseStatement {\n type: \"ForStatement\";\n init?: VariableDeclaration | Expression | null;\n test?: Expression | null;\n update?: Expression | null;\n body: Statement;\n}\n\ninterface BaseForXStatement extends BaseStatement {\n left: VariableDeclaration | Pattern;\n right: Expression;\n body: Statement;\n}\n\nexport interface ForInStatement extends BaseForXStatement {\n type: \"ForInStatement\";\n}\n\nexport interface DebuggerStatement extends BaseStatement {\n type: \"DebuggerStatement\";\n}\n\nexport type Declaration =\n FunctionDeclaration | VariableDeclaration | ClassDeclaration;\n\ninterface BaseDeclaration extends BaseStatement { }\n\nexport interface FunctionDeclaration extends BaseFunction, BaseDeclaration {\n type: \"FunctionDeclaration\";\n /** It is null when a function declaration is a part of the `export default function` statement */\n id: Identifier | null;\n body: BlockStatement;\n}\n\nexport interface VariableDeclaration extends BaseDeclaration {\n type: \"VariableDeclaration\";\n declarations: Array;\n kind: \"var\" | \"let\" | \"const\";\n}\n\nexport interface VariableDeclarator extends BaseNode {\n type: \"VariableDeclarator\";\n id: Pattern;\n init?: Expression | null;\n}\n\ntype Expression =\n ThisExpression | ArrayExpression | ObjectExpression | FunctionExpression |\n ArrowFunctionExpression | YieldExpression | Literal | UnaryExpression |\n UpdateExpression | BinaryExpression | AssignmentExpression |\n LogicalExpression | MemberExpression | ConditionalExpression |\n CallExpression | NewExpression | SequenceExpression | TemplateLiteral |\n TaggedTemplateExpression | ClassExpression | MetaProperty | Identifier |\n AwaitExpression | ImportExpression | ChainExpression;\n\nexport interface BaseExpression extends BaseNode { }\n\ntype ChainElement = SimpleCallExpression | MemberExpression;\n\nexport interface ChainExpression extends BaseExpression {\n type: \"ChainExpression\";\n expression: ChainElement;\n}\n\nexport interface ThisExpression extends BaseExpression {\n type: \"ThisExpression\";\n}\n\nexport interface ArrayExpression extends BaseExpression {\n type: \"ArrayExpression\";\n elements: Array;\n}\n\nexport interface ObjectExpression extends BaseExpression {\n type: \"ObjectExpression\";\n properties: Array;\n}\n\nexport interface Property extends BaseNode {\n type: \"Property\";\n key: Expression;\n value: Expression | Pattern; // Could be an AssignmentProperty\n kind: \"init\" | \"get\" | \"set\";\n method: boolean;\n shorthand: boolean;\n computed: boolean;\n}\n\nexport interface FunctionExpression extends BaseFunction, BaseExpression {\n id?: Identifier | null;\n type: \"FunctionExpression\";\n body: BlockStatement;\n}\n\nexport interface SequenceExpression extends BaseExpression {\n type: \"SequenceExpression\";\n expressions: Array;\n}\n\nexport interface UnaryExpression extends BaseExpression {\n type: \"UnaryExpression\";\n operator: UnaryOperator;\n prefix: true;\n argument: Expression;\n}\n\nexport interface BinaryExpression extends BaseExpression {\n type: \"BinaryExpression\";\n operator: BinaryOperator;\n left: Expression;\n right: Expression;\n}\n\nexport interface AssignmentExpression extends BaseExpression {\n type: \"AssignmentExpression\";\n operator: AssignmentOperator;\n left: Pattern | MemberExpression;\n right: Expression;\n}\n\nexport interface UpdateExpression extends BaseExpression {\n type: \"UpdateExpression\";\n operator: UpdateOperator;\n argument: Expression;\n prefix: boolean;\n}\n\nexport interface LogicalExpression extends BaseExpression {\n type: \"LogicalExpression\";\n operator: LogicalOperator;\n left: Expression;\n right: Expression;\n}\n\nexport interface ConditionalExpression extends BaseExpression {\n type: \"ConditionalExpression\";\n test: Expression;\n alternate: Expression;\n consequent: Expression;\n}\n\ninterface BaseCallExpression extends BaseExpression {\n callee: Expression | Super;\n arguments: Array;\n}\nexport type CallExpression = SimpleCallExpression | NewExpression;\n\nexport interface SimpleCallExpression extends BaseCallExpression {\n type: \"CallExpression\";\n optional: boolean;\n}\n\nexport interface NewExpression extends BaseCallExpression {\n type: \"NewExpression\";\n}\n\nexport interface MemberExpression extends BaseExpression, BasePattern {\n type: \"MemberExpression\";\n object: Expression | Super;\n property: Expression;\n computed: boolean;\n optional: boolean;\n}\n\nexport type Pattern =\n Identifier | ObjectPattern | ArrayPattern | RestElement |\n AssignmentPattern | MemberExpression;\n\ninterface BasePattern extends BaseNode { }\n\nexport interface SwitchCase extends BaseNode {\n type: \"SwitchCase\";\n test?: Expression | null;\n consequent: Array;\n}\n\nexport interface CatchClause extends BaseNode {\n type: \"CatchClause\";\n param: Pattern | null;\n body: BlockStatement;\n}\n\nexport interface Identifier extends BaseNode, BaseExpression, BasePattern {\n type: \"Ide",
+ "e6863537248bbfee8f0ef8c636bb00c25cf40b96:types/estree/index.d.ts": "// Type definitions for ESTree AST specification\n// Project: https://github.com/estree/estree\n// Definitions by: RReverser \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n// This definition file follows a somewhat unusual format. ESTree allows\n// runtime type checks based on the `type` parameter. In order to explain this\n// to typescript we want to use discriminated union types:\n// https://github.com/Microsoft/TypeScript/pull/9163\n//\n// For ESTree this is a bit tricky because the high level interfaces like\n// Node or Function are pulling double duty. We want to pass common fields down\n// to the interfaces that extend them (like Identifier or\n// ArrowFunctionExpression), but you can't extend a type union or enforce\n// common fields on them. So we've split the high level interfaces into two\n// types, a base type which passes down inhereted fields, and a type union of\n// all types which extend the base type. Only the type union is exported, and\n// the union is how other types refer to the collection of inheriting types.\n//\n// This makes the definitions file here somewhat more difficult to maintain,\n// but it has the notable advantage of making ESTree much easier to use as\n// an end user.\n\ninterface BaseNodeWithoutComments {\n // Every leaf interface that extends BaseNode must specify a type property.\n // The type property should be a string literal. For example, Identifier\n // has: `type: \"Identifier\"`\n type: string;\n loc?: SourceLocation | null;\n range?: [number, number];\n}\n\ninterface BaseNode extends BaseNodeWithoutComments {\n leadingComments?: Array;\n trailingComments?: Array;\n}\n\nexport type Node =\n Identifier | Literal | Program | Function | SwitchCase | CatchClause |\n VariableDeclarator | Statement | Expression | Property |\n AssignmentProperty | Super | TemplateElement | SpreadElement | Pattern |\n ClassBody | Class | MethodDefinition | ModuleDeclaration | ModuleSpecifier;\n\nexport interface Comment extends BaseNodeWithoutComments {\n type: \"Line\" | \"Block\";\n value: string;\n}\n\ninterface SourceLocation {\n source?: string | null;\n start: Position;\n end: Position;\n}\n\nexport interface Position {\n /** >= 1 */\n line: number;\n /** >= 0 */\n column: number;\n}\n\nexport interface Program extends BaseNode {\n type: \"Program\";\n sourceType: \"script\" | \"module\";\n body: Array;\n comments?: Array;\n}\n\nexport interface Directive extends BaseNode {\n type: \"ExpressionStatement\";\n expression: Literal;\n directive: string;\n}\n\ninterface BaseFunction extends BaseNode {\n params: Array;\n generator?: boolean;\n async?: boolean;\n // The body is either BlockStatement or Expression because arrow functions\n // can have a body that's either. FunctionDeclarations and\n // FunctionExpressions have only BlockStatement bodies.\n body: BlockStatement | Expression;\n}\n\nexport type Function =\n FunctionDeclaration | FunctionExpression | ArrowFunctionExpression;\n\nexport type Statement =\n ExpressionStatement | BlockStatement | EmptyStatement |\n DebuggerStatement | WithStatement | ReturnStatement | LabeledStatement |\n BreakStatement | ContinueStatement | IfStatement | SwitchStatement |\n ThrowStatement | TryStatement | WhileStatement | DoWhileStatement |\n ForStatement | ForInStatement | ForOfStatement | Declaration;\n\ninterface BaseStatement extends BaseNode { }\n\nexport interface EmptyStatement extends BaseStatement {\n type: \"EmptyStatement\";\n}\n\nexport interface BlockStatement extends BaseStatement {\n type: \"BlockStatement\";\n body: Array;\n innerComments?: Array;\n}\n\nexport interface ExpressionStatement extends BaseStatement {\n type: \"ExpressionStatement\";\n expression: Expression;\n}\n\nexport interface IfStatement extends BaseStatement {\n type: \"IfStatement\";\n test: Expression;\n consequent: Statement;\n alternate?: Statement | null;\n}\n\nexport interface LabeledStatement extends BaseStatement {\n type: \"LabeledStatement\";\n label: Identifier;\n body: Statement;\n}\n\nexport interface BreakStatement extends BaseStatement {\n type: \"BreakStatement\";\n label?: Identifier | null;\n}\n\nexport interface ContinueStatement extends BaseStatement {\n type: \"ContinueStatement\";\n label?: Identifier | null;\n}\n\nexport interface WithStatement extends BaseStatement {\n type: \"WithStatement\";\n object: Expression;\n body: Statement;\n}\n\nexport interface SwitchStatement extends BaseStatement {\n type: \"SwitchStatement\";\n discriminant: Expression;\n cases: Array;\n}\n\nexport interface ReturnStatement extends BaseStatement {\n type: \"ReturnStatement\";\n argument?: Expression | null;\n}\n\nexport interface ThrowStatement extends BaseStatement {\n type: \"ThrowStatement\";\n argument: Expression;\n}\n\nexport interface TryStatement extends BaseStatement {\n type: \"TryStatement\";\n block: BlockStatement;\n handler?: CatchClause | null;\n finalizer?: BlockStatement | null;\n}\n\nexport interface WhileStatement extends BaseStatement {\n type: \"WhileStatement\";\n test: Expression;\n body: Statement;\n}\n\nexport interface DoWhileStatement extends BaseStatement {\n type: \"DoWhileStatement\";\n body: Statement;\n test: Expression;\n}\n\nexport interface ForStatement extends BaseStatement {\n type: \"ForStatement\";\n init?: VariableDeclaration | Expression | null;\n test?: Expression | null;\n update?: Expression | null;\n body: Statement;\n}\n\ninterface BaseForXStatement extends BaseStatement {\n left: VariableDeclaration | Pattern;\n right: Expression;\n body: Statement;\n}\n\nexport interface ForInStatement extends BaseForXStatement {\n type: \"ForInStatement\";\n}\n\nexport interface DebuggerStatement extends BaseStatement {\n type: \"DebuggerStatement\";\n}\n\nexport type Declaration =\n FunctionDeclaration | VariableDeclaration | ClassDeclaration;\n\ninterface BaseDeclaration extends BaseStatement { }\n\nexport interface FunctionDeclaration extends BaseFunction, BaseDeclaration {\n type: \"FunctionDeclaration\";\n /** It is null when a function declaration is a part of the `export default function` statement */\n id: Identifier | null;\n body: BlockStatement;\n}\n\nexport interface VariableDeclaration extends BaseDeclaration {\n type: \"VariableDeclaration\";\n declarations: Array;\n kind: \"var\" | \"let\" | \"const\";\n}\n\nexport interface VariableDeclarator extends BaseNode {\n type: \"VariableDeclarator\";\n id: Pattern;\n init?: Expression | null;\n}\n\ntype Expression =\n ThisExpression | ArrayExpression | ObjectExpression | FunctionExpression |\n ArrowFunctionExpression | YieldExpression | Literal | UnaryExpression |\n UpdateExpression | BinaryExpression | AssignmentExpression |\n LogicalExpression | MemberExpression | ConditionalExpression |\n CallExpression | NewExpression | SequenceExpression | TemplateLiteral |\n TaggedTemplateExpression | ClassExpression | MetaProperty | Identifier |\n AwaitExpression | ImportExpression | ChainExpression;\n\nexport interface BaseExpression extends BaseNode { }\n\ntype ChainElement = SimpleCallExpression | MemberExpression;\n\nexport interface ChainExpression extends BaseExpression {\n type: \"ChainExpression\";\n expression: ChainElement;\n}\n\nexport interface ThisExpression extends BaseExpression {\n type: \"ThisExpression\";\n}\n\nexport interface ArrayExpression extends BaseExpression {\n type: \"ArrayExpression\";\n elements: Array;\n}\n\nexport interface ObjectExpression extends BaseExpression {\n type: \"ObjectExpression\";\n properties: Array;\n}\n\nexport interface Property extends BaseNode {\n type: \"Property\";\n key: Expression;\n value: Expression | Pattern; // Could be an AssignmentProperty\n kind: \"init\" | \"get\" | \"set\";\n method: boolean;\n shorthand: boolean;\n computed: boolean;\n}\n\nexport interface FunctionExpression extends BaseFunction, BaseExpression {\n id?: Identifier | null;\n type: \"FunctionExpression\";\n body: BlockStatement;\n}\n\nexport interface SequenceExpression extends BaseExpression {\n type: \"SequenceExpression\";\n expressions: Array;\n}\n\nexport interface UnaryExpression extends BaseExpression {\n type: \"UnaryExpression\";\n operator: UnaryOperator;\n prefix: true;\n argument: Expression;\n}\n\nexport interface BinaryExpression extends BaseExpression {\n type: \"BinaryExpression\";\n operator: BinaryOperator;\n left: Expression;\n right: Expression;\n}\n\nexport interface AssignmentExpression extends BaseExpression {\n type: \"AssignmentExpression\";\n operator: AssignmentOperator;\n left: Pattern | MemberExpression;\n right: Expression;\n}\n\nexport interface UpdateExpression extends BaseExpression {\n type: \"UpdateExpression\";\n operator: UpdateOperator;\n argument: Expression;\n prefix: boolean;\n}\n\nexport interface LogicalExpression extends BaseExpression {\n type: \"LogicalExpression\";\n operator: LogicalOperator;\n left: Expression;\n right: Expression;\n}\n\nexport interface ConditionalExpression extends BaseExpression {\n type: \"ConditionalExpression\";\n test: Expression;\n alternate: Expression;\n consequent: Expression;\n}\n\ninterface BaseCallExpression extends BaseExpression {\n callee: Expression | Super;\n arguments: Array;\n}\nexport type CallExpression = SimpleCallExpression | NewExpression;\n\nexport interface SimpleCallExpression extends BaseCallExpression {\n type: \"CallExpression\";\n optional: boolean;\n}\n\nexport interface NewExpression extends BaseCallExpression {\n type: \"NewExpression\";\n}\n\nexport interface MemberExpression extends BaseExpression, BasePattern {\n type: \"MemberExpression\";\n object: Expression | Super;\n property: Expression;\n computed: boolean;\n optional: boolean;\n}\n\nexport type Pattern =\n Identifier | ObjectPattern | ArrayPattern | RestElement |\n AssignmentPattern | MemberExpression;\n\ninterface BasePattern extends BaseNode { }\n\nexport interface SwitchCase extends BaseNode {\n type: \"SwitchCase\";\n test?: Expression | null;\n consequent: Array;\n}\n\nexport interface CatchClause extends BaseNode {\n type: \"CatchClause\";\n param: Pattern | null;\n body: BlockStatement;\n}\n\nexport interface Identifier extends BaseNode, BaseExpression, BasePattern {\n type: \"Ide"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43136/_notes.txt b/packages/mergebot/src/_tests/fixtures/43136/_notes.txt
new file mode 100644
index 0000000000..8e86d044e8
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/_notes.txt
@@ -0,0 +1 @@
+This should be a "wait" - while the reviewer did approve, there was a new commit since then
diff --git a/packages/mergebot/src/_tests/fixtures/43136/_response.json b/packages/mergebot/src/_tests/fixtures/43136/_response.json
new file mode 100644
index 0000000000..030ed3c09a
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/_response.json
@@ -0,0 +1,336 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy",
+ "title": "estree: Object expressions may contain spread elements",
+ "lastEditedAt": null,
+ "author": {
+ "login": "larsrh",
+ "__typename": "User"
+ },
+ "authorAssociation": "FIRST_TIME_CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-14T17:52:19Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "Merge:Express",
+ "__typename": "Label"
+ },
+ {
+ "name": "Owner Approved",
+ "__typename": "Label"
+ },
+ {
+ "name": "Popular package",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43136,
+ "state": "OPEN",
+ "headRefOid": "e6863537248bbfee8f0ef8c636bb00c25cf40b96",
+ "changedFiles": 2,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "37d784d0adbacbfc8fc730c5db4754e1338c611e",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "PullRequestReview",
+ "author": {
+ "login": "RReverser",
+ "__typename": "User"
+ },
+ "state": "APPROVED"
+ },
+ {
+ "__typename": "PullRequestReview",
+ "author": {
+ "login": "RReverser",
+ "__typename": "User"
+ },
+ "state": "COMMENTED"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "e6863537248bbfee8f0ef8c636bb00c25cf40b96",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "RReverser",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "37d784d0adbacbfc8fc730c5db4754e1338c611e",
+ "abbreviatedOid": "37d784d",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "APPROVED",
+ "submittedAt": "2020-03-14T19:22:34Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43136#pullrequestreview-374748227",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ },
+ {
+ "author": {
+ "login": "RReverser",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "37d784d0adbacbfc8fc730c5db4754e1338c611e",
+ "abbreviatedOid": "37d784d",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-03-14T19:23:36Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43136#pullrequestreview-374748276",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 2,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/662465373?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-14T17:46:41Z",
+ "committedDate": "2020-03-14T17:46:41Z",
+ "pushedDate": "2020-03-14T17:48:51Z",
+ "abbreviatedOid": "37d784d",
+ "oid": "37d784d0adbacbfc8fc730c5db4754e1338c611e",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/663088472?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-16T14:24:20Z",
+ "committedDate": "2020-03-16T14:24:20Z",
+ "pushedDate": "2020-03-16T14:26:42Z",
+ "abbreviatedOid": "e686353",
+ "oid": "e6863537248bbfee8f0ef8c636bb00c25cf40b96",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 5,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTExNTQwNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@larsrh Thank you for submitting this PR!\n\n🔔 @RReverser — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43136/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n\nIf no reviewer appears after a week, a DefinitelyTyped maintainer will review the PR instead.\r\n",
+ "createdAt": "2020-03-14T18:22:40Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTEzMDcwMA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\nA definition owner has approved this PR ⭐️. A maintainer will merge this PR shortly. If it shouldn't be merged yet, please leave a comment saying so and we'll wait. Thank you for your contribution to DefinitelyTyped!\r\n",
+ "createdAt": "2020-03-14T20:22:41Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTU2NTg2NA==",
+ "author": {
+ "login": "larsrh",
+ "__typename": "User"
+ },
+ "body": "@RReverser Done!",
+ "createdAt": "2020-03-16T14:26:59Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTU2ODgyNA==",
+ "author": {
+ "login": "RReverser",
+ "__typename": "User"
+ },
+ "body": "@larsrh Thanks! Can you update tests as well like you did for SpreadProperty?",
+ "createdAt": "2020-03-16T14:31:13Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTU2OTExMA==",
+ "author": {
+ "login": "larsrh",
+ "__typename": "User"
+ },
+ "body": "There were no tests for that, apparently (lint and test ran locally just fine, and apparently on Travis CI too)",
+ "createdAt": "2020-03-16T14:31:40Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/estree/estree-tests.ts",
+ "additions": 3,
+ "deletions": 1,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/estree/index.d.ts",
+ "additions": 2,
+ "deletions": 2,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 2
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ1ODYyMzY=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzUy",
+ "name": "Check and Merge",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43136/derived.json b/packages/mergebot/src/_tests/fixtures/43136/derived.json
new file mode 100644
index 0000000000..a86091b894
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/derived.json
@@ -0,0 +1,46 @@
+{
+ "type": "info",
+ "now": "2020-03-19T19:14:42.000Z",
+ "pr_number": 43136,
+ "author": "larsrh",
+ "headCommitOid": "e6863537248bbfee8f0ef8c636bb00c25cf40b96",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-16T14:26:42.000Z",
+ "lastActivityDate": "2020-03-16T14:31:40.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": true,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Critical",
+ "pkgInfo": [
+ {
+ "name": "estree",
+ "kind": "edit",
+ "files": [
+ {
+ "path": "types/estree/estree-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/estree/index.d.ts",
+ "kind": "definition"
+ }
+ ],
+ "owners": [
+ "RReverser"
+ ],
+ "addedOwners": [],
+ "deletedOwners": [],
+ "popularityLevel": "Critical"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "stale",
+ "reviewer": "RReverser",
+ "date": "2020-03-14T19:23:36.000Z",
+ "abbrOid": "37d784d"
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43136/mutations.json b/packages/mergebot/src/_tests/fixtures/43136/mutations.json
new file mode 100644
index 0000000000..e30577f6ca
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/mutations.json
@@ -0,0 +1,61 @@
+[
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy",
+ "body": "@larsrh Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through.\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `estree` — [on npm](https://www.npmjs.com/package/estree), [on unpkg](https://unpkg.com/browse/estree@latest/)\n\n## Code Reviews\n\nBecause this is a widely-used package, a DT maintainer will need to review it before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43136&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Most recent commit is approved by a DT maintainer\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwxNjA4NjM0NDg0"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: RemoveLabelsFromLabelableInput!) {\n removeLabelsFromLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWw5MDUzMzQwOTU=",
+ "MDU6TGFiZWw2ODQzMjE1NzY="
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIy"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy",
+ "body": "🔔 @RReverser — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43136/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4MzgyMzYy",
+ "body": "@RReverser Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43136/result.json b/packages/mergebot/src/_tests/fixtures/43136/result.json
new file mode 100644
index 0000000000..06ddbee86c
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43136/result.json
@@ -0,0 +1,23 @@
+{
+ "projectColumn": "Needs Maintainer Review",
+ "labels": [
+ "Critical package"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@larsrh Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through.\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `estree` — [on npm](https://www.npmjs.com/package/estree), [on unpkg](https://unpkg.com/browse/estree@latest/)\n\n## Code Reviews\n\nBecause this is a widely-used package, a DT maintainer will need to review it before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43136&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Most recent commit is approved by a DT maintainer\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers",
+ "status": "🔔 @RReverser — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43136/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on."
+ },
+ {
+ "tag": "stale-ping-f5a3ad-37d784d",
+ "status": "@RReverser Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43144/_downloads.json b/packages/mergebot/src/_tests/fixtures/43144/_downloads.json
new file mode 100644
index 0000000000..5133421222
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "mailcheck": 10455
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43144/_files.json b/packages/mergebot/src/_tests/fixtures/43144/_files.json
new file mode 100644
index 0000000000..2d8b253b6d
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/_files.json
@@ -0,0 +1,4 @@
+{
+ "master:types/mailcheck/index.d.ts": "// Type definitions for Mailcheck 1.1\n// Project: https://github.com/mailcheck/mailcheck\n// Definitions by: Paulo Cesar \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 3.8\n\n/// \n\ndeclare var Mailcheck: MailcheckModule.Static;\n\ndeclare namespace MailcheckModule {\n\n export interface IDistanceFunction {\n (s1: string, s2: string): number;\n }\n\n export interface ISuggestFunction {\n (email: string, domains?: string[], topLevelDomains?: string[], distanceFunction?: IDistanceFunction):void;\n }\n\n export interface IJQuerySuggested {\n (element: JQuery, suggested: ISuggestion): void;\n }\n\n export interface IJQueryEmpty {\n (element: JQuery): void;\n }\n\n export interface IEmpty {\n (): void;\n }\n\n export interface ISuggested {\n (suggested: ISuggestion): void;\n }\n\n export interface ISplitEmail {\n topLevelDomain?: string;\n domain?: string;\n address?: string;\n }\n\n export interface ISuggestion {\n address: string;\n domain: string;\n full: string;\n }\n\n export interface IAsynchronousOptions {\n email: string;\n domains?: string[];\n secondLevelDomains?: string[];\n topLevelDomains?: string[];\n distanceFunction?: IDistanceFunction;\n suggested: ISuggested | IJQuerySuggested;\n empty?: IEmpty | IJQueryEmpty;\n }\n export interface ISynchronousOptions {\n email: string;\n domains?: string[];\n secondLevelDomains?: string[];\n topLevelDomains?: string[];\n distanceFunction?: IDistanceFunction;\n\n }\n export interface Static {\n defaultDomains: string[];\n defaultSecondLevelDomains: string[];\n defaultTopLevelDomains: string[];\n domainThreshold: number;\n topLevelThreshold: number;\n run(opts: IAsynchronousOptions):void;\n run(opts: ISynchronousOptions):ISuggestion | undefined;\n suggest: ISuggestFunction;\n encodeEmail(email: string): string;\n splitEmail(email: string): ISplitEmail;\n sift3Distance(s1: string, s2: string): number;\n findClosestDomain(domain: string, domains: string[], distanceFunction?: IDistanceFunction, threshold?: number): boolean|string;\n }\n\n}\n\ninterface JQuery {\n mailcheck(opts: MailcheckModule.IAsynchronousOptions):void;\n mailcheck(opts: MailcheckModule.ISynchronousOptions):MailcheckModule.ISuggestion | void;\n}\n\ndeclare module 'mailcheck' {\n export = Mailcheck;\n}\n",
+ "f1f5c4bb0ae553f56766882f6458d2e22baa87c7:types/mailcheck/index.d.ts": "// Type definitions for Mailcheck 1.1\n// Project: https://github.com/mailcheck/mailcheck\n// Definitions by: Paulo Cesar \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 3.8\n\n/// \n\ndeclare var Mailcheck: MailcheckModule.Static;\n\ndeclare namespace MailcheckModule {\n\n export interface IDistanceFunction {\n (s1: string, s2: string): number;\n }\n\n export interface ISuggestFunction {\n (email: string, domains?: string[], topLevelDomains?: string[], distanceFunction?: IDistanceFunction):void;\n }\n\n export interface IJQuerySuggested {\n (element: JQuery, suggested: ISuggestion): void;\n }\n\n export interface IJQueryEmpty {\n (element: JQuery): void;\n }\n\n export interface IEmpty {\n (): void;\n }\n\n export interface ISuggested {\n (suggested: ISuggestion): void;\n }\n\n export interface ISplitEmail {\n topLevelDomain?: string;\n domain?: string;\n address?: string;\n }\n\n export interface ISuggestion {\n address: string;\n domain: string;\n full: string;\n }\n\n export interface IAsynchronousOptions {\n email: string;\n domains?: string[];\n secondLevelDomains?: string[];\n topLevelDomains?: string[];\n distanceFunction?: IDistanceFunction;\n suggested: ISuggested | IJQuerySuggested;\n empty?: IEmpty | IJQueryEmpty;\n }\n export interface ISynchronousOptions {\n email: string;\n domains?: string[];\n secondLevelDomains?: string[];\n topLevelDomains?: string[];\n distanceFunction?: IDistanceFunction;\n\n }\n export interface Static {\n defaultDomains: string[];\n defaultSecondLevelDomains: string[];\n defaultTopLevelDomains: string[];\n domainThreshold: number;\n topLevelThreshold: number;\n run(opts: IAsynchronousOptions):void;\n run(opts: ISynchronousOptions):ISuggestion | undefined;\n suggest: ISuggestFunction;\n encodeEmail(email: string): string;\n splitEmail(email: string): ISplitEmail;\n sift3Distance(s1: string, s2: string): number;\n findClosestDomain(domain: string, domains: string[], distanceFunction?: IDistanceFunction, threshold?: number): boolean|string;\n }\n\n}\n\ninterface JQuery {\n mailcheck(opts: MailcheckModule.IAsynchronousOptions):void;\n mailcheck(opts: MailcheckModule.ISynchronousOptions):MailcheckModule.ISuggestion | void;\n}\n\ndeclare module 'mailcheck' {\n export = Mailcheck;\n}\n"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43144/_notes.txt b/packages/mergebot/src/_tests/fixtures/43144/_notes.txt
new file mode 100644
index 0000000000..1ec7f405db
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/_notes.txt
@@ -0,0 +1 @@
+This is a PR which is ready to go
diff --git a/packages/mergebot/src/_tests/fixtures/43144/_response.json b/packages/mergebot/src/_tests/fixtures/43144/_response.json
new file mode 100644
index 0000000000..f528a23e1e
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/_response.json
@@ -0,0 +1,277 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0Mzg4NDkxOTI2",
+ "title": "Mailcheck: Add support for Synchronous mode",
+ "lastEditedAt": "2020-03-15T00:08:41Z",
+ "author": {
+ "login": "jeffreymeng",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-15T00:08:32Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "Merge:Express",
+ "__typename": "Label"
+ },
+ {
+ "name": "Owner Approved",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43144,
+ "state": "OPEN",
+ "headRefOid": "f1f5c4bb0ae553f56766882f6458d2e22baa87c7",
+ "changedFiles": 2,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "016519e482209abe1df81c91023bb582ccb1b1bd",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "fc3968c884f46212f5a6f34f15f92059b59409d1",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "f1f5c4bb0ae553f56766882f6458d2e22baa87c7",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "PullRequestReview",
+ "author": {
+ "login": "pocesar",
+ "__typename": "User"
+ },
+ "state": "APPROVED"
+ },
+ {
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "pocesar",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "f1f5c4bb0ae553f56766882f6458d2e22baa87c7",
+ "abbreviatedOid": "f1f5c4b",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "APPROVED",
+ "submittedAt": "2020-03-15T01:29:09Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43144#pullrequestreview-374764862",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 3,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-03-15T00:01:59Z",
+ "committedDate": "2020-03-15T00:01:59Z",
+ "pushedDate": "2020-03-15T00:03:46Z",
+ "abbreviatedOid": "016519e",
+ "oid": "016519e482209abe1df81c91023bb582ccb1b1bd",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "FAILURE",
+ "contexts": [
+ {
+ "state": "FAILURE",
+ "description": "The Travis CI build failed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/662562053?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-15T00:06:50Z",
+ "committedDate": "2020-03-15T00:06:50Z",
+ "pushedDate": "2020-03-15T00:07:02Z",
+ "abbreviatedOid": "fc3968c",
+ "oid": "fc3968c884f46212f5a6f34f15f92059b59409d1",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/662562615?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-15T00:11:35Z",
+ "committedDate": "2020-03-15T00:11:35Z",
+ "pushedDate": "2020-03-15T00:11:48Z",
+ "abbreviatedOid": "f1f5c4b",
+ "oid": "f1f5c4bb0ae553f56766882f6458d2e22baa87c7",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 2,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTE1MTM2Ng==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@jeffreymeng Thank you for submitting this PR!\n\n🔔 @pocesar — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43144/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n\nIf no reviewer appears after a week, a DefinitelyTyped maintainer will review the PR instead.\r\n",
+ "createdAt": "2020-03-15T00:22:28Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTE1ODg5MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\nA definition owner has approved this PR ⭐️. A maintainer will merge this PR shortly. If it shouldn't be merged yet, please leave a comment saying so and we'll wait. Thank you for your contribution to DefinitelyTyped!\r\n",
+ "createdAt": "2020-03-15T02:22:34Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/mailcheck/index.d.ts",
+ "additions": 14,
+ "deletions": 5,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/mailcheck/mailcheck-tests.ts",
+ "additions": 14,
+ "deletions": 2,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 2
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ1OTI2MjI=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzUy",
+ "name": "Check and Merge",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43144/derived.json b/packages/mergebot/src/_tests/fixtures/43144/derived.json
new file mode 100644
index 0000000000..27920c12cc
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/derived.json
@@ -0,0 +1,46 @@
+{
+ "type": "info",
+ "now": "2020-03-19T04:59:48.000Z",
+ "pr_number": 43144,
+ "author": "jeffreymeng",
+ "headCommitOid": "f1f5c4bb0ae553f56766882f6458d2e22baa87c7",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-15T00:11:48.000Z",
+ "lastActivityDate": "2020-03-15T01:29:09.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "mailcheck",
+ "kind": "edit",
+ "files": [
+ {
+ "path": "types/mailcheck/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/mailcheck/mailcheck-tests.ts",
+ "kind": "test"
+ }
+ ],
+ "owners": [
+ "pocesar"
+ ],
+ "addedOwners": [],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "approved",
+ "reviewer": "pocesar",
+ "date": "2020-03-15T01:29:09.000Z",
+ "isMaintainer": false
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43144/mutations.json b/packages/mergebot/src/_tests/fixtures/43144/mutations.json
new file mode 100644
index 0000000000..79693a2e81
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/mutations.json
@@ -0,0 +1,40 @@
+[
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4NDkxOTI2",
+ "body": "@jeffreymeng Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `mailcheck` — [on npm](https://www.npmjs.com/package/mailcheck), [on unpkg](https://unpkg.com/browse/mailcheck@latest/)\n - owner-approval: @pocesar\n\n## Code Reviews\n\nBecause you edited one package and updated the tests (👏), I can help you merge this PR once someone else signs off on it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43144&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ✅ Most recent commit is approved by type definition owners, DT maintainers or others\n\nAll of the items on the list are green. **To merge, you need to post a comment including the string \"Ready to merge\"** to bring in your changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWw2OTcwMTg5NzI="
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0Mzg4NDkxOTI2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0Mzg4NDkxOTI2",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIz"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4NDkxOTI2",
+ "body": "@jeffreymeng: Everything looks good here. I am ready to merge this PR (at f1f5c4b) on your behalf whenever you think it's ready.\n\nIf you'd like that to happen, please post a comment saying:\n\n> Ready to merge\n\nand I'll merge this PR almost instantly. Thanks for helping out! :heart:\n\n(@pocesar: you can do this too.)\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43144/result.json b/packages/mergebot/src/_tests/fixtures/43144/result.json
new file mode 100644
index 0000000000..bb6e593408
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43144/result.json
@@ -0,0 +1,20 @@
+{
+ "projectColumn": "Waiting for Author to Merge",
+ "labels": [
+ "Owner Approved",
+ "Self Merge"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@jeffreymeng Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `mailcheck` — [on npm](https://www.npmjs.com/package/mailcheck), [on unpkg](https://unpkg.com/browse/mailcheck@latest/)\n - owner-approval: @pocesar\n\n## Code Reviews\n\nBecause you edited one package and updated the tests (👏), I can help you merge this PR once someone else signs off on it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43144&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ✅ Most recent commit is approved by type definition owners, DT maintainers or others\n\nAll of the items on the list are green. **To merge, you need to post a comment including the string \"Ready to merge\"** to bring in your changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "merge-offer",
+ "status": "@jeffreymeng: Everything looks good here. I am ready to merge this PR (at f1f5c4b) on your behalf whenever you think it's ready.\n\nIf you'd like that to happen, please post a comment saying:\n\n> Ready to merge\n\nand I'll merge this PR almost instantly. Thanks for helping out! :heart:\n\n(@pocesar: you can do this too.)"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43151/_downloads.json b/packages/mergebot/src/_tests/fixtures/43151/_downloads.json
new file mode 100644
index 0000000000..1d53b93cff
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "gaze": 197887
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43151/_files.json b/packages/mergebot/src/_tests/fixtures/43151/_files.json
new file mode 100644
index 0000000000..8b742a5fb9
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/_files.json
@@ -0,0 +1,3 @@
+{
+ "bb6d3150b485cd203d265e06ca910262256e523e:types/gaze/index.d.ts": "// Type definitions for gaze 1.1\n// Project: https://github.com/shama/gaze\n// Definitions by: Adam Zerella \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// Minimum TypeScript Version: 3.1\n\ntype Mode = 'auto' | 'watch' | 'poll';\n\ninterface Options {\n /**\n * Interval to pass to fs.watchFile.\n */\n interval?: number;"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43151/_notes.txt b/packages/mergebot/src/_tests/fixtures/43151/_notes.txt
new file mode 100644
index 0000000000..7f169f14cf
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/_notes.txt
@@ -0,0 +1 @@
+This PR is a new package, which required a DT maintainer to validate
diff --git a/packages/mergebot/src/_tests/fixtures/43151/_response.json b/packages/mergebot/src/_tests/fixtures/43151/_response.json
new file mode 100644
index 0000000000..4dec8b182a
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/_response.json
@@ -0,0 +1,221 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0Mzg4Njk0NDU5",
+ "title": "[gaze] Add typing for gaze",
+ "lastEditedAt": "2020-03-15T12:56:20Z",
+ "author": {
+ "login": "adamzerella",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-15T12:51:25Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "Awaiting reviewer feedback",
+ "__typename": "Label"
+ },
+ {
+ "name": "New Definition",
+ "__typename": "Label"
+ },
+ {
+ "name": "Other Approved",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43151,
+ "state": "OPEN",
+ "headRefOid": "bb6d3150b485cd203d265e06ca910262256e523e",
+ "changedFiles": 4,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "bb6d3150b485cd203d265e06ca910262256e523e",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 1,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/662694783?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-15T12:49:20Z",
+ "committedDate": "2020-03-15T12:49:20Z",
+ "pushedDate": "2020-03-15T12:50:20Z",
+ "abbreviatedOid": "bb6d315",
+ "oid": "bb6d3150b485cd203d265e06ca910262256e523e",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 3,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTIwNjY0MA==",
+ "author": {
+ "login": "adamzerella",
+ "__typename": "User"
+ },
+ "body": "@shama I'm looking to add some DT definitions here if that's ok ?",
+ "createdAt": "2020-03-15T12:54:49Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTIwOTg2Mw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@adamzerella Thank you for submitting this PR!\n \nBecause this is a new definition, a DefinitelyTyped maintainer will be reviewing this PR in the next few days once the Travis CI build passes.\n \nIn the meantime, if the build fails or a merge conflict occurs, I'll let you know. Have a nice day!\r\n",
+ "createdAt": "2020-03-15T13:22:30Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTI0NDkwNA==",
+ "author": {
+ "login": "shama",
+ "__typename": "User"
+ },
+ "body": "@adamzerella 👍 Thanks!",
+ "createdAt": "2020-03-15T18:11:57Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/gaze/gaze-tests.ts",
+ "additions": 29,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/gaze/index.d.ts",
+ "additions": 75,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/gaze/tsconfig.json",
+ "additions": 25,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/gaze/tslint.json",
+ "additions": 3,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 4
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ2MDI3MDA=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzU2",
+ "name": "Review",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43151/derived.json b/packages/mergebot/src/_tests/fixtures/43151/derived.json
new file mode 100644
index 0000000000..204eaab8cc
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/derived.json
@@ -0,0 +1,48 @@
+{
+ "type": "info",
+ "now": "2020-03-19T17:38:20.000Z",
+ "pr_number": 43151,
+ "author": "adamzerella",
+ "headCommitOid": "bb6d3150b485cd203d265e06ca910262256e523e",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-15T12:50:20.000Z",
+ "lastActivityDate": "2020-03-15T18:11:57.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "gaze",
+ "kind": "add",
+ "files": [
+ {
+ "path": "types/gaze/gaze-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/gaze/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/gaze/tsconfig.json",
+ "kind": "package-meta-ok"
+ },
+ {
+ "path": "types/gaze/tslint.json",
+ "kind": "package-meta",
+ "suspect": "edited"
+ }
+ ],
+ "owners": [],
+ "addedOwners": [
+ "adamzerella"
+ ],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43151/mutations.json b/packages/mergebot/src/_tests/fixtures/43151/mutations.json
new file mode 100644
index 0000000000..22120fc6c2
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/mutations.json
@@ -0,0 +1,51 @@
+[
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4Njk0NDU5",
+ "body": "@adamzerella Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `gaze` (*new!*) — [on npm](https://www.npmjs.com/package/gaze), [on unpkg](https://unpkg.com/browse/gaze@latest/)\n - 1 added owner: ✎@adamzerella\n - Config files to check:\n - [`gaze/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43151/files/bb6d3150b485cd203d265e06ca910262256e523e#diff-a0512397f95f6b7994f9713c8ceb6144061e7cf0d81618a2a9a90cceda075f80): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43151&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyMTU0ODE2NTQ5"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0Mzg4Njk0NDU5"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: RemoveLabelsFromLabelableInput!) {\n removeLabelsFromLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWw1ODYxNzcwNjM="
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0Mzg4Njk0NDU5"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0Mzg4Njk0NDU5",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW45ODY3MDA2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg4Njk0NDU5",
+ "body": "🔔 @adamzerella — you're the only owner, but it would still be good if you find someone to [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43151/files) in the next few days, otherwise a maintainer will look at it. (And if you do find someone, maybe even recruit them to be a second owner to make future changes easier...)\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43151/result.json b/packages/mergebot/src/_tests/fixtures/43151/result.json
new file mode 100644
index 0000000000..71ccf45f04
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43151/result.json
@@ -0,0 +1,20 @@
+{
+ "projectColumn": "Needs Maintainer Action",
+ "labels": [
+ "New Definition",
+ "Check Config"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@adamzerella Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `gaze` (*new!*) — [on npm](https://www.npmjs.com/package/gaze), [on unpkg](https://unpkg.com/browse/gaze@latest/)\n - 1 added owner: ✎@adamzerella\n - Config files to check:\n - [`gaze/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43151/files/bb6d3150b485cd203d265e06ca910262256e523e#diff-a0512397f95f6b7994f9713c8ceb6144061e7cf0d81618a2a9a90cceda075f80): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43151&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers-others",
+ "status": "🔔 @adamzerella — you're the only owner, but it would still be good if you find someone to [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43151/files) in the next few days, otherwise a maintainer will look at it. (And if you do find someone, maybe even recruit them to be a second owner to make future changes easier...)"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43160/_downloads.json b/packages/mergebot/src/_tests/fixtures/43160/_downloads.json
new file mode 100644
index 0000000000..a692cfca22
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "dagre": 119291
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43160/_files.json b/packages/mergebot/src/_tests/fixtures/43160/_files.json
new file mode 100644
index 0000000000..9d35f12a43
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/_files.json
@@ -0,0 +1,4 @@
+{
+ "master:types/dagre/index.d.ts": "// Type definitions for dagre 0.7\n// Project: https://github.com/dagrejs/dagre\n// Definitions by: Qinfeng Chen \n// Lisa Vallfors \n// Pete Vilter \n// David Newell \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.2\n\nexport as namespace dagre;\n",
+ "6d5d2a85b41d287f97c9d331a9ff6a9824e2f1ff:types/dagre/index.d.ts": "// Type definitions for dagre 0.7\n// Project: https://github.com/dagrejs/dagre\n// Definitions by: Qinfeng Chen \n// Lisa Vallfors \n// Pete Vilter \n// David Newell \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.2\n\nexport as namespace dagre;\n"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43160/_notes.txt b/packages/mergebot/src/_tests/fixtures/43160/_notes.txt
new file mode 100644
index 0000000000..dbf5c195d8
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/_notes.txt
@@ -0,0 +1 @@
+This PR is red, but got an accept - the output is wrong here because the PR was accepted - only CI failed
diff --git a/packages/mergebot/src/_tests/fixtures/43160/_response.json b/packages/mergebot/src/_tests/fixtures/43160/_response.json
new file mode 100644
index 0000000000..a6ceba7bb1
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/_response.json
@@ -0,0 +1,214 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0Mzg5MDYwOTQ4",
+ "title": "Make graph generic",
+ "lastEditedAt": null,
+ "author": {
+ "login": "rikkertkoppes",
+ "__typename": "User"
+ },
+ "authorAssociation": "FIRST_TIME_CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-16T08:15:54Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "Owner Approved",
+ "__typename": "Label"
+ },
+ {
+ "name": "The Travis CI build failed",
+ "__typename": "Label"
+ },
+ {
+ "name": "Untested Change",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43160,
+ "state": "OPEN",
+ "headRefOid": "6d5d2a85b41d287f97c9d331a9ff6a9824e2f1ff",
+ "changedFiles": 1,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "6d5d2a85b41d287f97c9d331a9ff6a9824e2f1ff",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "PullRequestReview",
+ "author": {
+ "login": "rustedgrail",
+ "__typename": "User"
+ },
+ "state": "APPROVED"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "rustedgrail",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "6d5d2a85b41d287f97c9d331a9ff6a9824e2f1ff",
+ "abbreviatedOid": "6d5d2a8",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "APPROVED",
+ "submittedAt": "2020-03-17T14:33:47Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43160#pullrequestreview-376092132",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 1,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "FAILURE",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "FAILURE",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "FAILURE",
+ "contexts": [
+ {
+ "state": "FAILURE",
+ "description": "The Travis CI build failed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/662962786?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-16T08:13:52Z",
+ "committedDate": "2020-03-16T08:13:52Z",
+ "pushedDate": "2020-03-16T08:14:50Z",
+ "abbreviatedOid": "6d5d2a8",
+ "oid": "6d5d2a85b41d287f97c9d331a9ff6a9824e2f1ff",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 2,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTQwMzQzMA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@rikkertkoppes Thank you for submitting this PR!\n\n🔔 @qinfchen @Frankrike @vilterp @rustedgrail — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43160/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n\nIf no reviewer appears after a week, a DefinitelyTyped maintainer will review the PR instead.\r\n",
+ "createdAt": "2020-03-16T08:22:30Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTQwMzQzNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@rikkertkoppes The Travis CI build failed! Please [review the logs for more information](https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/662962786?utm_source=github_status&utm_medium=notification).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\r\n",
+ "createdAt": "2020-03-16T08:22:31Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/dagre/index.d.ts",
+ "additions": 8,
+ "deletions": 9,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 1
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ2MzEzMzI=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzU5",
+ "name": "Needs Author Attention",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43160/derived.json b/packages/mergebot/src/_tests/fixtures/43160/derived.json
new file mode 100644
index 0000000000..97a6d2a776
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/derived.json
@@ -0,0 +1,46 @@
+{
+ "type": "info",
+ "now": "2020-03-19T13:02:50.000Z",
+ "pr_number": 43160,
+ "author": "rikkertkoppes",
+ "headCommitOid": "6d5d2a85b41d287f97c9d331a9ff6a9824e2f1ff",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-16T08:14:50.000Z",
+ "lastActivityDate": "2020-03-17T14:33:47.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": true,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "dagre",
+ "kind": "edit",
+ "files": [
+ {
+ "path": "types/dagre/index.d.ts",
+ "kind": "definition"
+ }
+ ],
+ "owners": [
+ "qinfchen",
+ "Frankrike",
+ "vilterp",
+ "rustedgrail"
+ ],
+ "addedOwners": [],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "approved",
+ "reviewer": "rustedgrail",
+ "date": "2020-03-17T14:33:47.000Z",
+ "isMaintainer": false
+ }
+ ],
+ "ciResult": "fail",
+ "ciUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43160/mutations.json b/packages/mergebot/src/_tests/fixtures/43160/mutations.json
new file mode 100644
index 0000000000..a61a29aad3
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/mutations.json
@@ -0,0 +1,49 @@
+[
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5MDYwOTQ4",
+ "body": "@rikkertkoppes Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through.\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `dagre` — [on npm](https://www.npmjs.com/package/dagre), [on unpkg](https://unpkg.com/browse/dagre@latest/)\n - owner-approval: @rustedgrail\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43160&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ❌ Continuous integration tests have failed\n * 🕐 Only a DT maintainer can approve changes [without tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package)\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyMDk2NzQzNjAw"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0Mzg5MDYwOTQ4"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0Mzg5MDYwOTQ4",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTI0"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5MDYwOTQ4",
+ "body": "Hey @rikkertkoppes,\n\n:unamused: Your PR doesn't modify any tests, so it's hard to know what's being fixed, and your changes might regress in the future. Please consider [adding tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package) to cover the change you're making. Including tests allows this PR to be merged by yourself and the owners of this module.\n\n***This can potentially save days of time for you!***\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5MDYwOTQ4",
+ "body": "@rikkertkoppes The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306).\n\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n\n**Note: builds that are failing do not end up on the list of PRs for the DT maintainers to review.**\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43160/result.json b/packages/mergebot/src/_tests/fixtures/43160/result.json
new file mode 100644
index 0000000000..cf4968f3c9
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43160/result.json
@@ -0,0 +1,25 @@
+{
+ "projectColumn": "Needs Author Action",
+ "labels": [
+ "The CI failed",
+ "Owner Approved",
+ "Untested Change"
+ ],
+ "responseComments": [
+ {
+ "tag": "suggest-testing",
+ "status": "Hey @rikkertkoppes,\n\n:unamused: Your PR doesn't modify any tests, so it's hard to know what's being fixed, and your changes might regress in the future. Please consider [adding tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package) to cover the change you're making. Including tests allows this PR to be merged by yourself and the owners of this module.\n\n***This can potentially save days of time for you!***"
+ },
+ {
+ "tag": "welcome",
+ "status": "@rikkertkoppes Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through.\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `dagre` — [on npm](https://www.npmjs.com/package/dagre), [on unpkg](https://unpkg.com/browse/dagre@latest/)\n - owner-approval: @rustedgrail\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43160&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ❌ Continuous integration tests have failed\n * 🕐 Only a DT maintainer can approve changes [without tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package)\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "gh-actions-complaint-6d5d2a8",
+ "status": "@rikkertkoppes The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306).\n\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n\n**Note: builds that are failing do not end up on the list of PRs for the DT maintainers to review.**"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43175/_downloads.json b/packages/mergebot/src/_tests/fixtures/43175/_downloads.json
new file mode 100644
index 0000000000..062b9757fd
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "chrome": 298025
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43175/_files.json b/packages/mergebot/src/_tests/fixtures/43175/_files.json
new file mode 100644
index 0000000000..0f7d81103e
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/_files.json
@@ -0,0 +1,4 @@
+{
+ "master:types/chrome/index.d.ts": "// Type definitions for Chrome extension development\n// Project: http://developer.chrome.com/extensions/\n// Definitions by: Matthew Kimber \n// otiai10 \n// couven92 \n// RReverser \n// sreimer15 \n// MatCarlson \n// ekinsol \n// Thierry Régagnon \n// Brian Wilson \n// Sebastiaan Pasma \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.4\n\n/// \n\n",
+ "b4b3bc8a617e2e0810d60e389415818d903e6362:types/chrome/index.d.ts": "// Type definitions for Chrome extension development\n// Project: http://developer.chrome.com/extensions/\n// Definitions by: Matthew Kimber \n// otiai10 \n// couven92 \n// RReverser \n// sreimer15 \n// MatCarlson \n// ekinsol \n// Thierry Régagnon \n// Brian Wilson \n// Sebastiaan Pasma \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.4\n\n/// \n\n"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43175/_notes.txt b/packages/mergebot/src/_tests/fixtures/43175/_notes.txt
new file mode 100644
index 0000000000..dae4499e35
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/_notes.txt
@@ -0,0 +1 @@
+This is a PR which is mostly ready, but requires a human to say yes
diff --git a/packages/mergebot/src/_tests/fixtures/43175/_response.json b/packages/mergebot/src/_tests/fixtures/43175/_response.json
new file mode 100644
index 0000000000..a9b7cb1841
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/_response.json
@@ -0,0 +1,277 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0Mzg5NzQ2Mjcx",
+ "title": "Add function getAutoLockDelay to chrome.idle",
+ "lastEditedAt": null,
+ "author": {
+ "login": "ankhler",
+ "__typename": "User"
+ },
+ "authorAssociation": "FIRST_TIME_CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-17T10:20:28Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "Awaiting reviewer feedback",
+ "__typename": "Label"
+ },
+ {
+ "name": "Popular package",
+ "__typename": "Label"
+ },
+ {
+ "name": "Untested Change",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43175,
+ "state": "OPEN",
+ "headRefOid": "b4b3bc8a617e2e0810d60e389415818d903e6362",
+ "changedFiles": 1,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "767a7507319a934b05f285f80b780abaa5273537",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "PullRequestReview",
+ "author": {
+ "login": "couven92",
+ "__typename": "User"
+ },
+ "state": "COMMENTED"
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "b4b3bc8a617e2e0810d60e389415818d903e6362",
+ "__typename": "Commit"
+ }
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "couven92",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "767a7507319a934b05f285f80b780abaa5273537",
+ "abbreviatedOid": "767a750",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-03-17T13:29:17Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43175#pullrequestreview-376024679",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ },
+ {
+ "author": {
+ "login": "ankhler",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "b4b3bc8a617e2e0810d60e389415818d903e6362",
+ "abbreviatedOid": "b4b3bc8",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "NONE",
+ "state": "COMMENTED",
+ "submittedAt": "2020-03-17T13:54:18Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43175#pullrequestreview-376054940",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 2,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/767a7507319a934b05f285f80b780abaa5273537/checks?check_suite_id=526679606",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/767a7507319a934b05f285f80b780abaa5273537/checks?check_suite_id=526679606",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/663437102?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-17T10:17:24Z",
+ "committedDate": "2020-03-17T10:17:24Z",
+ "pushedDate": "2020-03-17T10:17:28Z",
+ "abbreviatedOid": "767a750",
+ "oid": "767a7507319a934b05f285f80b780abaa5273537",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/b4b3bc8a617e2e0810d60e389415818d903e6362/checks?check_suite_id=527143042",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/b4b3bc8a617e2e0810d60e389415818d903e6362/checks?check_suite_id=527143042",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/663511348?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-17T13:51:00Z",
+ "committedDate": "2020-03-17T13:51:00Z",
+ "pushedDate": "2020-03-17T13:51:37Z",
+ "abbreviatedOid": "b4b3bc8",
+ "oid": "b4b3bc8a617e2e0810d60e389415818d903e6362",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 1,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDU5OTk5MTc2Mg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@ankhler Thank you for submitting this PR!\n\n🔔 @matthewkimber @otiai10 @couven92 @rreverser @sreimer15 @MatCarlson @ekinsol @tregagnon @echoabstract @spasma — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43175/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n\nIf no reviewer appears after a week, a DefinitelyTyped maintainer will review the PR instead.\r\n",
+ "createdAt": "2020-03-17T10:22:32Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/chrome/index.d.ts",
+ "additions": 7,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 1
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ3MDIzNTk=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzU3",
+ "name": "Waiting for Reviewers",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43175/derived.json b/packages/mergebot/src/_tests/fixtures/43175/derived.json
new file mode 100644
index 0000000000..1247f54728
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/derived.json
@@ -0,0 +1,51 @@
+{
+ "type": "info",
+ "now": "2020-03-19T18:39:37.000Z",
+ "pr_number": 43175,
+ "author": "ankhler",
+ "headCommitOid": "b4b3bc8a617e2e0810d60e389415818d903e6362",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-17T13:51:37.000Z",
+ "lastActivityDate": "2020-03-17T13:51:37.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": true,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Popular",
+ "pkgInfo": [
+ {
+ "name": "chrome",
+ "kind": "edit",
+ "files": [
+ {
+ "path": "types/chrome/index.d.ts",
+ "kind": "definition"
+ }
+ ],
+ "owners": [
+ "matthewkimber",
+ "otiai10",
+ "couven92",
+ "rreverser",
+ "sreimer15",
+ "MatCarlson",
+ "ekinsol",
+ "tregagnon",
+ "echoabstract",
+ "spasma"
+ ],
+ "addedOwners": [],
+ "deletedOwners": [],
+ "popularityLevel": "Popular"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "stale",
+ "reviewer": "couven92",
+ "date": "2020-03-17T13:29:17.000Z",
+ "abbrOid": "767a750"
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43175/mutations.json b/packages/mergebot/src/_tests/fixtures/43175/mutations.json
new file mode 100644
index 0000000000..798058f4be
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/mutations.json
@@ -0,0 +1,47 @@
+[
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5NzQ2Mjcx",
+ "body": "@ankhler Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through.\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `chrome` — [on npm](https://www.npmjs.com/package/chrome), [on unpkg](https://unpkg.com/browse/chrome@latest/)\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43175&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes [without tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package)\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0Mzg5NzQ2Mjcx",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIy"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5NzQ2Mjcx",
+ "body": "Hey @ankhler,\n\n:unamused: Your PR doesn't modify any tests, so it's hard to know what's being fixed, and your changes might regress in the future. Please consider [adding tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package) to cover the change you're making. Including tests allows this PR to be merged by yourself and the owners of this module.\n\n***This can potentially save days of time for you!***\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5NzQ2Mjcx",
+ "body": "🔔 @matthewkimber @otiai10 @couven92 @rreverser @sreimer15 @MatCarlson @ekinsol @tregagnon @echoabstract @spasma — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43175/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0Mzg5NzQ2Mjcx",
+ "body": "@couven92 Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43175/result.json b/packages/mergebot/src/_tests/fixtures/43175/result.json
new file mode 100644
index 0000000000..af077507d7
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43175/result.json
@@ -0,0 +1,28 @@
+{
+ "projectColumn": "Needs Maintainer Review",
+ "labels": [
+ "Popular package",
+ "Untested Change"
+ ],
+ "responseComments": [
+ {
+ "tag": "suggest-testing",
+ "status": "Hey @ankhler,\n\n:unamused: Your PR doesn't modify any tests, so it's hard to know what's being fixed, and your changes might regress in the future. Please consider [adding tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package) to cover the change you're making. Including tests allows this PR to be merged by yourself and the owners of this module.\n\n***This can potentially save days of time for you!***"
+ },
+ {
+ "tag": "welcome",
+ "status": "@ankhler Thank you for submitting this PR! I see this is your first time submitting to DefinitelyTyped 👋 — I'm the local bot who will help you through the process of getting things through.\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `chrome` — [on npm](https://www.npmjs.com/package/chrome), [on unpkg](https://unpkg.com/browse/chrome@latest/)\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43175&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes [without tests](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-test-editing-an-existing-package)\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers",
+ "status": "🔔 @matthewkimber @otiai10 @couven92 @rreverser @sreimer15 @MatCarlson @ekinsol @tregagnon @echoabstract @spasma — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43175/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on."
+ },
+ {
+ "tag": "stale-ping-bbb366-767a750",
+ "status": "@couven92 Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43235/_downloads.json b/packages/mergebot/src/_tests/fixtures/43235/_downloads.json
new file mode 100644
index 0000000000..13f6197d70
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "arcgis-js-api": 30242
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43235/_files.json b/packages/mergebot/src/_tests/fixtures/43235/_files.json
new file mode 100644
index 0000000000..2bd82369b1
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/_files.json
@@ -0,0 +1,4 @@
+{
+ "master:types/arcgis-js-api/index.d.ts": "// Type definitions for ArcGIS API for JavaScript 4.15\n// Project: http://js.arcgis.com\n// Definitions by: Esri \n// Bjorn Svensson \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.7\n\ntype HashMap = Record;\ntype IPromise = Promise;\n\ninterface IHandle {\n remove(): void;\n}\n\ndeclare namespace __esri {\n export class Accessor {\n constructor(obj?: any);\n\n destroyed: boolean;\n initialized: boolean;\n declaredClass: string;\n destroy(): void;\n\n get(propertyName: string): T;\n get(propertyName: string): any;\n set(propertyName: string, value: T): this;\n set(props: HashMap): this;\n watch(path: string | string[], callback: WatchCallback, sync?: boolean): WatchHandle;\n\n protected notifyChange(propertyName: string): void;\n protected _get(propertyName: string): any;\n protected _get(propertyName: string): T;\n protected _set(propertyName: string, value: T): this;\n }\n\n export interface AnonymousAccessor extends Object {\n get?(propertyName: string): T;\n get?(propertyName: string): any;\n set?(propertyName: string, value: T): this;\n set?(props: HashMap): this;\n watch?(path: string | string[], callback: WatchCallback, sync?: boolean): WatchHandle;\n }\n\n export type ItemCallback = (item: T, index: number) => void;\n\n export type ItemCompareCallback = (firstItem: T, secondItem: T) => number;\n\n export type ItemMapCallback = (item: T, index: number) => R;\n\n export type ItemReduceCallback = (previousValue: R, currentValue: T, index: number) => R;\n\n export type ItemTestCallback = (item: T, index: number) => boolean;\n\n export type CollectionAfterAddEventHandler = (event: CollectionAfterEvent) => void;\n\n export type CollectionAfterChangesEventHandler = (event: CollectionAfterChangesEvent) => void;\n\n export type CollectionAfterRemoveEventHandler = (event: CollectionAfterEvent) => void;\n\n export type CollectionChangeEventHandler = (event: CollectionChangeEvent) => void;\n\n export type CollectionBeforeAddEventHandler = (event: CollectionBeforeEvent) => void;\n\n export type CollectionBeforeChangesEventHandler = (event: CollectionBeforeEvent) => void;\n\n export type CollectionBeforeRemoveEventHandler = (event: CollectionBeforeEvent) => void;\n\n export interface CollectionAfterEvent {\n item: T;\n }\n\n export interface CollectionAfterChangesEvent {}\n\n export interface CollectionBeforeEvent {\n item: T;\n preventDefault(): void;\n }\n\n export interface CollectionChangeEvent {\n added: T[];\n removed: T[];\n moved: T[];\n }\n\n interface Collection extends Evented {\n on(type: \"after-add\", listener: CollectionAfterAddEventHandler): IHandle;\n on(type: \"after-changes\", listener: CollectionAfterChangesEventHandler): IHandle;\n on(type: \"after-remove\", listener: CollectionAfterRemoveEventHandler): IHandle;\n on(type: \"before-add\", listener: CollectionBeforeAddEventHandler): IHandle;\n on(type: \"before-changes\", listener: CollectionBeforeChangesEventHandler): IHandle;\n on(type: \"before-remove\", listener: CollectionBeforeRemoveEventHandler): IHandle;\n on(type: \"change\", listener: CollectionChangeEventHandler): IHandle;\n on(type: string, listener: (event: any) => void): IHandle;\n }\n\n type Constructor = new (...params: any[]) => T;\n\n interface Types {\n key: string | ((obj: any) => string);\n base: Constructor | Function;\n typeMap: HashMap>;\n }\n\n export class Collection extends Accessor {\n constructor(values?: any[] | Collection);\n\n readonly length: number;\n\n add(item: T, index?: number): void;\n addMany(items: T[] | Collection, index?: number): void;\n clone(): Collection;\n concat(value: T[] | Collection): Collection;\n every(callback: ItemTestCallback): boolean;\n filter(callback: ItemTestCallback): Collection;\n filter(callback: (item: T, index: number) => item is S): Collection;\n find(callback: ItemTestCallback): T;\n findIndex(callback: ItemTestCallback): number;\n flatten(callback: (item: T, index: number) => T[] | Collection): Collection;\n flatten(callback: (item: U, index: number) => U[] | Collection): Collection;\n forEach(callback: ItemCallback): void;\n getItemAt(index: number): T;\n includes(searchElement: T): boolean;\n indexOf(searchElement: T, fromIndex?: number): number;\n join(separator?: string): string;\n lastIndexOf(searchElement: T, fromIndex?: number): number;\n map(callback: ItemMapCallback): Collection;\n pop(): T;\n push(item: T): number;\n reduce(callback: ItemReduceCallback, initialValue?: R): R;\n reduceRight(callback: ItemReduceCallback, initialValue?: R): R;\n remove(item: T): void;\n removeAll(): void;\n removeAt(index: number): any;\n removeMany(items: T[] | Collection): T[];\n reorder(item: T, index: number): T;\n reverse(): Collection;\n shift(): T;\n slice(begin?: number, end?: number): Collection;\n some(callback: ItemCallback): boolean;\n sort(compareFunction?: ItemCompareCallback): void;\n splice(start: number, deleteCount: number, ...items: T[]): T[];\n toArray(): T[];\n unshift(...items: T[]): number;\n\n static isCollection(value: any | Collection): value is Collection;\n\n static ofType(\n type: Constructor | Types\n ): new (items?: (T[] | Collection) | { items?: T[] | Collection }) => Collection;\n }\n\n type CollectionProperties = T[] | Collection;\n\n type DateProperties = number | string | Date;\n\n export type BaseDynamicLayerLayerviewCreateErrorEventHandler = (\n event: BaseDynamicLayerLayerviewCreateErrorEvent\n ) => void;\n\n export type BaseDynamicLayerLayerviewCreateEventHandler = (event: BaseDynamicLayerLayerviewCreateEvent) => void;\n\n export type BaseDynamicLayerLayerviewDestroyEventHandler = (event: BaseDynamicLayerLayerviewDestroyEvent) => void;\n\n export type BaseElevationLayerLayerviewCreateErrorEventHandler = (\n event: BaseElevationLayerLayerviewCreateErrorEvent\n ) => void;\n\n export type BaseElevationLayerLayerviewCreateEventHandler = (event: BaseElevationLayerLayerviewCreateEvent) => void;\n\n export type BaseElevationLayerLayerviewDestroyEventHandler = (event: BaseElevationLayerLayerviewDestroyEvent) => void;\n\n export type BasemapLayerListTriggerActionEventHandler = (event: BasemapLayerListTriggerActionEvent) => void;\n\n export type BasemapToggleToggleEventHandler = (event: BasemapToggleToggleEvent) => void;\n\n export type BaseTileLayerLayerviewCreateErrorEventHandler = (event: BaseTileLayerLayerviewCreateErrorEvent) => void;\n\n export type BaseTileLayerLayerviewCreateEventHandler = (event: BaseTileLayerLayerviewCreateEvent) => void;\n\n export type BaseTileLayerLayerviewDestroyEventHandler = (event: BaseTileLayerLayerviewDestroyEvent) => void;\n\n export type BingMapsLayerLayerviewCreateErrorEventHandler = (event: BingMapsLayerLayerviewCreateErrorEvent) => void;\n\n export type BingMapsLayerLayerviewCreateEventHandler = (event: BingMapsLayerLayerviewCreateEvent) => void;\n\n export type BingMapsLayerLayerviewDestroyEventHandler = (event: BingMapsLayerLayerviewDestroyEvent) => void;\n\n export type BookmarksSelectBookmarkEventHandler = (event: BookmarksSelectBookmarkEvent) => void;\n\n export type BuildingSceneLayerLayerviewCreateErrorEventHandler = (\n event: BuildingSceneLayerLayerviewCreateErrorEvent\n ) => void;\n\n export type BuildingSceneLayerLayerviewCreateEventHandler = (event: BuildingSceneLayerLayerviewCreateEvent) => void;\n\n export type BuildingSceneLayerLayerviewDestroyEventHandler = (event: BuildingSceneLayerLayerviewDestroyEvent) => void;\n\n export type ClassedColorSliderMaxChangeEventHandler = (event: ClassedColorSliderMaxChangeEvent) => void;\n\n export type ClassedColorSliderMinChangeEventHandler = (event: ClassedColorSliderMinChangeEvent) => void;\n\n export type ClassedColorSliderThumbChangeEventHandler = (event: ClassedColorSliderThumbChangeEvent) => void;\n\n export type ClassedColorSliderThumbDragEventHandler = (event: ClassedColorSliderThumbDragEvent) => void;\n\n export type ClassedColorSliderViewModelMaxChangeEventHandler = (\n event: ClassedColorSliderViewModelMaxChangeEvent\n ) => void;\n\n export type ClassedColorSliderViewModelMinChangeEventHandler = (\n event: ClassedColorSliderViewModelMinChangeEvent\n ) => void;\n\n export type ClassedSizeSliderMaxChangeEventHandler = (event: ClassedSizeSliderMaxChangeEvent) => void;\n\n export type ClassedSizeSliderMinChangeEventHandler = (event: ClassedSizeSliderMinChangeEvent) => void;\n\n export type ClassedSizeSliderThumbChangeEventHandler = (event: ClassedSizeSliderThumbChangeEvent) => void;\n\n export type ClassedSizeSliderThumbDragEventHandler = (event: ClassedSizeSliderThumbDragEvent) => void;\n\n export type ClassedSizeSliderViewModelMaxChangeEventHandler = (\n event: ClassedSizeSliderViewModelMaxChangeEvent\n ) => void;\n\n export type ClassedSizeSliderViewModelMinChangeEventHandler = (\n event: ClassedSizeSliderViewModelMinChangeEvent\n ) => void;\n\n export type ColorSizeSliderMaxChangeEventHandler = (event: ColorSizeSliderMaxChangeEvent) => void;\n\n export type ColorSizeSliderMinChangeEventHandler = (event: ColorSizeSliderMinChangeEvent) => void;\n\n export type ColorSizeSliderThumbChangeEventHandler = (event: ColorSizeSliderThumbChangeEvent) => void;\n\n export type ColorSizeSliderThumbDragEventHandler = (event: ColorSizeSliderThumbDragEvent) => void;\n\n export type ColorSizeSliderViewModelMaxChangeEventHandler = (event: ColorSizeSliderViewModelMaxChangeEvent) => void;\n\n export type ColorSizeSliderViewModelMinChangeEventHandler = (event: ColorSizeSliderViewModelMinChangeEvent) => void;\n\n export type ColorSliderMaxChangeEventHandler = (event: ColorSliderMaxChangeEvent) => void;\n\n export type ColorSliderMinChangeEventHandle",
+ "933d8d81859cea3cb2df640bd099ef80bee3d691:types/arcgis-js-api/index.d.ts": "// Type definitions for ArcGIS API for JavaScript 4.15\n// Project: http://js.arcgis.com\n// Definitions by: Esri \n// Bjorn Svensson \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.7\n\ntype HashMap = Record;\ntype IPromise = Promise;\n\ninterface IHandle {\n remove(): void;\n}\n\ndeclare namespace __esri {\n export class Accessor {\n constructor(obj?: any);\n\n destroyed: boolean;\n initialized: boolean;\n declaredClass: string;\n destroy(): void;\n\n get(propertyName: string): T;\n get(propertyName: string): any;\n set(propertyName: string, value: T): this;\n set(props: HashMap): this;\n watch(path: string | string[], callback: WatchCallback, sync?: boolean): WatchHandle;\n\n protected notifyChange(propertyName: string): void;\n protected _get(propertyName: string): any;\n protected _get(propertyName: string): T;\n protected _set(propertyName: string, value: T): this;\n }\n\n export interface AnonymousAccessor extends Object {\n get?(propertyName: string): T;\n get?(propertyName: string): any;\n set?(propertyName: string, value: T): this;\n set?(props: HashMap): this;\n watch?(path: string | string[], callback: WatchCallback, sync?: boolean): WatchHandle;\n }\n\n export type ItemCallback = (item: T, index: number) => void;\n\n export type ItemCompareCallback = (firstItem: T, secondItem: T) => number;\n\n export type ItemMapCallback = (item: T, index: number) => R;\n\n export type ItemReduceCallback = (previousValue: R, currentValue: T, index: number) => R;\n\n export type ItemTestCallback = (item: T, index: number) => boolean;\n\n export type CollectionAfterAddEventHandler = (event: CollectionAfterEvent) => void;\n\n export type CollectionAfterChangesEventHandler = (event: CollectionAfterChangesEvent) => void;\n\n export type CollectionAfterRemoveEventHandler = (event: CollectionAfterEvent) => void;\n\n export type CollectionChangeEventHandler = (event: CollectionChangeEvent) => void;\n\n export type CollectionBeforeAddEventHandler = (event: CollectionBeforeEvent) => void;\n\n export type CollectionBeforeChangesEventHandler = (event: CollectionBeforeEvent) => void;\n\n export type CollectionBeforeRemoveEventHandler = (event: CollectionBeforeEvent) => void;\n\n export interface CollectionAfterEvent {\n item: T;\n }\n\n export interface CollectionAfterChangesEvent {}\n\n export interface CollectionBeforeEvent {\n item: T;\n preventDefault(): void;\n }\n\n export interface CollectionChangeEvent {\n added: T[];\n removed: T[];\n moved: T[];\n }\n\n interface Collection extends Evented {\n on(type: \"after-add\", listener: CollectionAfterAddEventHandler): IHandle;\n on(type: \"after-changes\", listener: CollectionAfterChangesEventHandler): IHandle;\n on(type: \"after-remove\", listener: CollectionAfterRemoveEventHandler): IHandle;\n on(type: \"before-add\", listener: CollectionBeforeAddEventHandler): IHandle;\n on(type: \"before-changes\", listener: CollectionBeforeChangesEventHandler): IHandle;\n on(type: \"before-remove\", listener: CollectionBeforeRemoveEventHandler): IHandle;\n on(type: \"change\", listener: CollectionChangeEventHandler): IHandle;\n on(type: string, listener: (event: any) => void): IHandle;\n }\n\n type Constructor = new (...params: any[]) => T;\n\n interface Types {\n key: string | ((obj: any) => string);\n base: Constructor | Function;\n typeMap: HashMap>;\n }\n\n export class Collection extends Accessor {\n constructor(values?: any[] | Collection);\n\n readonly length: number;\n\n add(item: T, index?: number): void;\n addMany(items: T[] | Collection, index?: number): void;\n clone(): Collection;\n concat(value: T[] | Collection): Collection;\n every(callback: ItemTestCallback): boolean;\n filter(callback: ItemTestCallback): Collection;\n filter(callback: (item: T, index: number) => item is S): Collection;\n find(callback: ItemTestCallback): T;\n findIndex(callback: ItemTestCallback): number;\n flatten(callback: (item: T, index: number) => T[] | Collection): Collection;\n flatten(callback: (item: U, index: number) => U[] | Collection): Collection;\n forEach(callback: ItemCallback): void;\n getItemAt(index: number): T;\n includes(searchElement: T): boolean;\n indexOf(searchElement: T, fromIndex?: number): number;\n join(separator?: string): string;\n lastIndexOf(searchElement: T, fromIndex?: number): number;\n map(callback: ItemMapCallback): Collection;\n pop(): T;\n push(item: T): number;\n reduce(callback: ItemReduceCallback, initialValue?: R): R;\n reduceRight(callback: ItemReduceCallback, initialValue?: R): R;\n remove(item: T): void;\n removeAll(): void;\n removeAt(index: number): any;\n removeMany(items: T[] | Collection): T[];\n reorder(item: T, index: number): T;\n reverse(): Collection;\n shift(): T;\n slice(begin?: number, end?: number): Collection;\n some(callback: ItemCallback): boolean;\n sort(compareFunction?: ItemCompareCallback): void;\n splice(start: number, deleteCount: number, ...items: T[]): T[];\n toArray(): T[];\n unshift(...items: T[]): number;\n\n static isCollection(value: any | Collection): value is Collection;\n\n static ofType(\n type: Constructor | Types\n ): new (items?: (T[] | Collection) | { items?: T[] | Collection }) => Collection;\n }\n\n type CollectionProperties = T[] | Collection;\n\n type DateProperties = number | string | Date;\n\n export type BaseDynamicLayerLayerviewCreateErrorEventHandler = (\n event: BaseDynamicLayerLayerviewCreateErrorEvent\n ) => void;\n\n export type BaseDynamicLayerLayerviewCreateEventHandler = (event: BaseDynamicLayerLayerviewCreateEvent) => void;\n\n export type BaseDynamicLayerLayerviewDestroyEventHandler = (event: BaseDynamicLayerLayerviewDestroyEvent) => void;\n\n export type BaseElevationLayerLayerviewCreateErrorEventHandler = (\n event: BaseElevationLayerLayerviewCreateErrorEvent\n ) => void;\n\n export type BaseElevationLayerLayerviewCreateEventHandler = (event: BaseElevationLayerLayerviewCreateEvent) => void;\n\n export type BaseElevationLayerLayerviewDestroyEventHandler = (event: BaseElevationLayerLayerviewDestroyEvent) => void;\n\n export type BasemapLayerListTriggerActionEventHandler = (event: BasemapLayerListTriggerActionEvent) => void;\n\n export type BasemapToggleToggleEventHandler = (event: BasemapToggleToggleEvent) => void;\n\n export type BaseTileLayerLayerviewCreateErrorEventHandler = (event: BaseTileLayerLayerviewCreateErrorEvent) => void;\n\n export type BaseTileLayerLayerviewCreateEventHandler = (event: BaseTileLayerLayerviewCreateEvent) => void;\n\n export type BaseTileLayerLayerviewDestroyEventHandler = (event: BaseTileLayerLayerviewDestroyEvent) => void;\n\n export type BingMapsLayerLayerviewCreateErrorEventHandler = (event: BingMapsLayerLayerviewCreateErrorEvent) => void;\n\n export type BingMapsLayerLayerviewCreateEventHandler = (event: BingMapsLayerLayerviewCreateEvent) => void;\n\n export type BingMapsLayerLayerviewDestroyEventHandler = (event: BingMapsLayerLayerviewDestroyEvent) => void;\n\n export type BookmarksSelectBookmarkEventHandler = (event: BookmarksSelectBookmarkEvent) => void;\n\n export type BuildingSceneLayerLayerviewCreateErrorEventHandler = (\n event: BuildingSceneLayerLayerviewCreateErrorEvent\n ) => void;\n\n export type BuildingSceneLayerLayerviewCreateEventHandler = (event: BuildingSceneLayerLayerviewCreateEvent) => void;\n\n export type BuildingSceneLayerLayerviewDestroyEventHandler = (event: BuildingSceneLayerLayerviewDestroyEvent) => void;\n\n export type ClassedColorSliderMaxChangeEventHandler = (event: ClassedColorSliderMaxChangeEvent) => void;\n\n export type ClassedColorSliderMinChangeEventHandler = (event: ClassedColorSliderMinChangeEvent) => void;\n\n export type ClassedColorSliderThumbChangeEventHandler = (event: ClassedColorSliderThumbChangeEvent) => void;\n\n export type ClassedColorSliderThumbDragEventHandler = (event: ClassedColorSliderThumbDragEvent) => void;\n\n export type ClassedColorSliderViewModelMaxChangeEventHandler = (\n event: ClassedColorSliderViewModelMaxChangeEvent\n ) => void;\n\n export type ClassedColorSliderViewModelMinChangeEventHandler = (\n event: ClassedColorSliderViewModelMinChangeEvent\n ) => void;\n\n export type ClassedSizeSliderMaxChangeEventHandler = (event: ClassedSizeSliderMaxChangeEvent) => void;\n\n export type ClassedSizeSliderMinChangeEventHandler = (event: ClassedSizeSliderMinChangeEvent) => void;\n\n export type ClassedSizeSliderThumbChangeEventHandler = (event: ClassedSizeSliderThumbChangeEvent) => void;\n\n export type ClassedSizeSliderThumbDragEventHandler = (event: ClassedSizeSliderThumbDragEvent) => void;\n\n export type ClassedSizeSliderViewModelMaxChangeEventHandler = (\n event: ClassedSizeSliderViewModelMaxChangeEvent\n ) => void;\n\n export type ClassedSizeSliderViewModelMinChangeEventHandler = (\n event: ClassedSizeSliderViewModelMinChangeEvent\n ) => void;\n\n export type ColorSizeSliderMaxChangeEventHandler = (event: ColorSizeSliderMaxChangeEvent) => void;\n\n export type ColorSizeSliderMinChangeEventHandler = (event: ColorSizeSliderMinChangeEvent) => void;\n\n export type ColorSizeSliderThumbChangeEventHandler = (event: ColorSizeSliderThumbChangeEvent) => void;\n\n export type ColorSizeSliderThumbDragEventHandler = (event: ColorSizeSliderThumbDragEvent) => void;\n\n export type ColorSizeSliderViewModelMaxChangeEventHandler = (event: ColorSizeSliderViewModelMaxChangeEvent) => void;\n\n export type ColorSizeSliderViewModelMinChangeEventHandler = (event: ColorSizeSliderViewModelMinChangeEvent) => void;\n\n export type ColorSliderMaxChangeEventHandler = (event: ColorSliderMaxChangeEvent) => void;\n\n export type ColorSliderMinChangeEventHandle"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43235/_notes.txt b/packages/mergebot/src/_tests/fixtures/43235/_notes.txt
new file mode 100644
index 0000000000..777b237882
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/_notes.txt
@@ -0,0 +1 @@
+Looks good, waiting on feedback from a reviewer
diff --git a/packages/mergebot/src/_tests/fixtures/43235/_response.json b/packages/mergebot/src/_tests/fixtures/43235/_response.json
new file mode 100644
index 0000000000..ab36c12cdd
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/_response.json
@@ -0,0 +1,139 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0MzkxMDM3MzMy",
+ "title": "refactor(arcgis-js-api): add optional return type for Collection#Filter and Collection#Flatten",
+ "lastEditedAt": "2020-03-19T14:33:55Z",
+ "author": {
+ "login": "Favna",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-19T14:30:03Z",
+ "labels": {
+ "nodes": [],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43235,
+ "state": "OPEN",
+ "headRefOid": "933d8d81859cea3cb2df640bd099ef80bee3d691",
+ "changedFiles": 2,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "933d8d81859cea3cb2df640bd099ef80bee3d691",
+ "__typename": "Commit"
+ }
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 1,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/933d8d81859cea3cb2df640bd099ef80bee3d691/checks?check_suite_id=532765826",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/933d8d81859cea3cb2df640bd099ef80bee3d691/checks?check_suite_id=532765826",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "borisyankov",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/664421407?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-19T14:24:12Z",
+ "committedDate": "2020-03-19T14:37:26Z",
+ "pushedDate": "2020-03-19T14:37:52Z",
+ "abbreviatedOid": "933d8d8",
+ "oid": "933d8d81859cea3cb2df640bd099ef80bee3d691",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 0,
+ "nodes": [],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/arcgis-js-api/arcgis-js-api-tests.ts",
+ "additions": 5,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/arcgis-js-api/index.d.ts",
+ "additions": 2,
+ "deletions": 2,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 2
+ },
+ "projectCards": {
+ "nodes": [],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43235/derived.json b/packages/mergebot/src/_tests/fixtures/43235/derived.json
new file mode 100644
index 0000000000..5a2983d125
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/derived.json
@@ -0,0 +1,40 @@
+{
+ "type": "info",
+ "now": "2020-03-19T19:25:52.000Z",
+ "pr_number": 43235,
+ "author": "Favna",
+ "headCommitOid": "933d8d81859cea3cb2df640bd099ef80bee3d691",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-19T14:37:52.000Z",
+ "lastActivityDate": "2020-03-19T14:37:52.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "arcgis-js-api",
+ "kind": "edit",
+ "files": [
+ {
+ "path": "types/arcgis-js-api/arcgis-js-api-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/arcgis-js-api/index.d.ts",
+ "kind": "definition"
+ }
+ ],
+ "owners": [
+ "Esri",
+ "bsvensson"
+ ],
+ "addedOwners": [],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43235/mutations.json b/packages/mergebot/src/_tests/fixtures/43235/mutations.json
new file mode 100644
index 0000000000..9f8df491be
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/mutations.json
@@ -0,0 +1,29 @@
+[
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0MzkxMDM3MzMy",
+ "body": "@Favna Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `arcgis-js-api` — [on npm](https://www.npmjs.com/package/arcgis-js-api), [on unpkg](https://unpkg.com/browse/arcgis-js-api@latest/)\n\n## Code Reviews\n\nBecause you edited one package and updated the tests (👏), I can help you merge this PR once someone else signs off on it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43235&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Most recent commit is approved by type definition owners, DT maintainers or others\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "contentId": "MDExOlB1bGxSZXF1ZXN0MzkxMDM3MzMy",
+ "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTMw"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0MzkxMDM3MzMy",
+ "body": "🔔 @Esri @bsvensson — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43235/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on.\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43235/result.json b/packages/mergebot/src/_tests/fixtures/43235/result.json
new file mode 100644
index 0000000000..68adab8c45
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43235/result.json
@@ -0,0 +1,17 @@
+{
+ "projectColumn": "Waiting for Code Reviews",
+ "labels": [],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@Favna Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `arcgis-js-api` — [on npm](https://www.npmjs.com/package/arcgis-js-api), [on unpkg](https://unpkg.com/browse/arcgis-js-api@latest/)\n\n## Code Reviews\n\nBecause you edited one package and updated the tests (👏), I can help you merge this PR once someone else signs off on it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43235&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Most recent commit is approved by type definition owners, DT maintainers or others\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers",
+ "status": "🔔 @Esri @bsvensson — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43235/files) in the next few days. Be sure to explicitly select **`Approve`** or **`Request Changes`** in the GitHub UI so I know what's going on."
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43314/_downloads.json b/packages/mergebot/src/_tests/fixtures/43314/_downloads.json
new file mode 100644
index 0000000000..be9b133e6f
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43314/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "carbon__icon-helpers": 1036
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43314/_files.json b/packages/mergebot/src/_tests/fixtures/43314/_files.json
new file mode 100644
index 0000000000..e8fbfd1d23
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43314/_files.json
@@ -0,0 +1,3 @@
+{
+ "432f23fe1b87b12fe58bb1a8958f77ee3242741e:types/carbon__icon-helpers/index.d.ts": "// Type definitions for @carbon/icon-helpers 10.6\n// Project: https://github.com/carbon-design-system/carbon/blob/master/packages/icon-helpers\n// Definitions by: Eric Liu \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 3.8\n\nexport interface Path {\n elem: 'path';\n attrs: { d: string };\n}"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43314/_response.json b/packages/mergebot/src/_tests/fixtures/43314/_response.json
new file mode 100644
index 0000000000..780f91dcac
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43314/_response.json
@@ -0,0 +1,260 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0MzkyMDM2NjA4",
+ "title": "feat(types): add carbon__icon-helpers",
+ "lastEditedAt": null,
+ "author": {
+ "login": "metonym",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-03-22T16:50:35Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "Awaiting reviewer feedback",
+ "__typename": "Label"
+ },
+ {
+ "name": "New Definition",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "UNKNOWN",
+ "number": 43314,
+ "state": "OPEN",
+ "headRefOid": "432f23fe1b87b12fe58bb1a8958f77ee3242741e",
+ "changedFiles": 4,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "432f23fe1b87b12fe58bb1a8958f77ee3242741e",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 1,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/432f23fe1b87b12fe58bb1a8958f77ee3242741e/checks?check_suite_id=538815611",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/432f23fe1b87b12fe58bb1a8958f77ee3242741e/checks?check_suite_id=538815611",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/665548702?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-03-22T16:48:33Z",
+ "committedDate": "2020-03-22T16:48:33Z",
+ "pushedDate": "2020-03-22T16:48:44Z",
+ "abbreviatedOid": "432f23f",
+ "oid": "432f23fe1b87b12fe58bb1a8958f77ee3242741e",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 4,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYwMjIzODI3OQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@metonym Thank you for submitting this PR! \n\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\n- [carbon__icon-helpers](https://www.npmjs.com/package/carbon__icon-helpers)\n\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ Only a DT maintainer can approve changes without tests\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n",
+ "createdAt": "2020-03-22T16:50:45Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYwMjIzODI5MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@metonym The Travis CI build failed! Please [review the logs for more information](https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/665548702?utm_source=github_status&utm_medium=notification).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n",
+ "createdAt": "2020-03-22T16:50:47Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYwMjIzODI5Mg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@metonym The Travis CI build failed! Please [review the logs for more information](https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/665548702?utm_source=github_status&utm_medium=notification).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n",
+ "createdAt": "2020-03-22T16:50:48Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYwMjI0MjY1NA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@metonym Thank you for submitting this PR!\n \nBecause this is a new definition, a DefinitelyTyped maintainer will be reviewing this PR in the next few days once the Travis CI build passes.\n \nIn the meantime, if the build fails or a merge conflict occurs, I'll let you know. Have a nice day!\r\n",
+ "createdAt": "2020-03-22T17:22:32Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/carbon__icon-helpers/carbon__icon-helpers-tests.ts",
+ "additions": 26,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/carbon__icon-helpers/index.d.ts",
+ "additions": 56,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/carbon__icon-helpers/tsconfig.json",
+ "additions": 19,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/carbon__icon-helpers/tslint.json",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 4
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ5NjgxMDk=",
+ "project": {
+ "id": "MDc6UHJvamVjdDM3NDExMDQ=",
+ "number": 5,
+ "name": "New Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTMw",
+ "name": "Waiting for Code Reviews",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ },
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzQ5NjkxODM=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzU2",
+ "name": "Review",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43314/derived.json b/packages/mergebot/src/_tests/fixtures/43314/derived.json
new file mode 100644
index 0000000000..38e881fc60
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43314/derived.json
@@ -0,0 +1,48 @@
+{
+ "type": "info",
+ "now": "2020-03-22T21:36:44.000Z",
+ "pr_number": 43314,
+ "author": "metonym",
+ "headCommitOid": "432f23fe1b87b12fe58bb1a8958f77ee3242741e",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-03-22T16:48:44.000Z",
+ "lastActivityDate": "2020-03-22T16:50:35.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "carbon__icon-helpers",
+ "kind": "add",
+ "files": [
+ {
+ "path": "types/carbon__icon-helpers/carbon__icon-helpers-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/carbon__icon-helpers/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/carbon__icon-helpers/tsconfig.json",
+ "kind": "package-meta-ok"
+ },
+ {
+ "path": "types/carbon__icon-helpers/tslint.json",
+ "kind": "package-meta",
+ "suspect": "edited"
+ }
+ ],
+ "owners": [],
+ "addedOwners": [
+ "metonym"
+ ],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43314/mutations.json b/packages/mergebot/src/_tests/fixtures/43314/mutations.json
new file mode 100644
index 0000000000..b00cbdfb0b
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43314/mutations.json
@@ -0,0 +1,40 @@
+[
+ {
+ "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "id": "MDEyOklzc3VlQ29tbWVudDYwMjIzODI3OQ==",
+ "body": "@metonym Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `carbon__icon-helpers` (*new!*) — [on npm](https://www.npmjs.com/package/@carbon/icon-helpers), [on unpkg](https://unpkg.com/browse/@carbon/icon-helpers@latest/)\n - 1 added owner: ✎@metonym\n - Config files to check:\n - [`carbon__icon-helpers/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43314/files/432f23fe1b87b12fe58bb1a8958f77ee3242741e#diff-9f7808ddcec9553672dd10ae54a269326e3346253364745d3f187e0b2b95b27b): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43314&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyMTU0ODE2NTQ5"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0MzkyMDM2NjA4"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: MoveProjectCardInput!) {\n moveProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "cardId": "MDExOlByb2plY3RDYXJkMzQ5NjgxMDk=",
+ "columnId": "MDEzOlByb2plY3RDb2x1bW45ODY3MDA2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0MzkyMDM2NjA4",
+ "body": "🔔 @metonym — you're the only owner, but it would still be good if you find someone to [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43314/files) in the next few days, otherwise a maintainer will look at it. (And if you do find someone, maybe even recruit them to be a second owner to make future changes easier...)\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43314/result.json b/packages/mergebot/src/_tests/fixtures/43314/result.json
new file mode 100644
index 0000000000..8aaf0f8690
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43314/result.json
@@ -0,0 +1,20 @@
+{
+ "projectColumn": "Needs Maintainer Action",
+ "labels": [
+ "New Definition",
+ "Check Config"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@metonym Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `carbon__icon-helpers` (*new!*) — [on npm](https://www.npmjs.com/package/@carbon/icon-helpers), [on unpkg](https://unpkg.com/browse/@carbon/icon-helpers@latest/)\n - 1 added owner: ✎@metonym\n - Config files to check:\n - [`carbon__icon-helpers/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43314/files/432f23fe1b87b12fe58bb1a8958f77ee3242741e#diff-9f7808ddcec9553672dd10ae54a269326e3346253364745d3f187e0b2b95b27b): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43314&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers-others",
+ "status": "🔔 @metonym — you're the only owner, but it would still be good if you find someone to [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43314/files) in the next few days, otherwise a maintainer will look at it. (And if you do find someone, maybe even recruit them to be a second owner to make future changes easier...)"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_downloads.json b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_downloads.json
new file mode 100644
index 0000000000..3600062d0e
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "accedo__accedo-one": 0
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_files.json b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_files.json
new file mode 100644
index 0000000000..a78ba7a823
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_files.json
@@ -0,0 +1,3 @@
+{
+ "3e836178b736e5512361ffda46e84a5c668d7a90:types/accedo__accedo-one/index.d.ts": "// Type definitions for @accedo/accedo-one 4.0\n// Project: https://www.accedo.tv/one\n// Definitions by: Alexander P. Cerutti \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// Minimum TypeScript Version: 3.1\n\n/**\n * @example"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_response.json b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_response.json
new file mode 100644
index 0000000000..857206316c
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/_response.json
@@ -0,0 +1,1266 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "title": "Added typings for @accedo/accedo-one package",
+ "lastEditedAt": "2020-04-23T18:17:03Z",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-04-07T07:51:12Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "New Definition",
+ "__typename": "Label"
+ },
+ {
+ "name": "No Other Owners",
+ "__typename": "Label"
+ },
+ {
+ "name": "Check Config",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "isDraft": false,
+ "mergeable": "MERGEABLE",
+ "number": 43695,
+ "state": "OPEN",
+ "headRefOid": "3e836178b736e5512361ffda46e84a5c668d7a90",
+ "changedFiles": 4,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T07:51:15Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T07:51:23Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T07:56:06Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T08:22:33Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-08T16:24:30Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-10T11:54:25Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T12:26:33Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T12:26:33Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T15:57:14Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:26:48Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:26:50Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:26:50Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:28:26Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-21T11:55:50Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:52Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:52Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:53Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:53Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:53Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:53Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:54Z"
+ },
+ {
+ "__typename": "ReopenedEvent",
+ "createdAt": "2020-04-30T23:08:16Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-01T00:00:44Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-01T00:03:35Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-01T00:06:19Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-01T00:19:19Z"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "abbreviatedOid": "a5285cd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-08T16:23:48Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "CHANGES_REQUESTED",
+ "submittedAt": "2020-04-08T16:23:52Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-390133785",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "abbreviatedOid": "a5285cd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-08T17:03:39Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-08T17:03:39Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-390164904",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "abbreviatedOid": "90c94f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:44Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "CHANGES_REQUESTED",
+ "submittedAt": "2020-04-30T23:07:49Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403936744",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "abbreviatedOid": "90c94f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:20:14Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-30T23:20:14Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403941289",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "abbreviatedOid": "90c94f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:32:42Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-30T23:32:42Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403945620",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "abbreviatedOid": "90c94f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:47:20Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-30T23:47:20Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403950552",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "68463fd2f4f3bcfdfdf271637a1b33a0fb1190b1",
+ "abbreviatedOid": "68463fd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:58:30Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-30T23:58:31Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403954214",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "68463fd2f4f3bcfdfdf271637a1b33a0fb1190b1",
+ "abbreviatedOid": "68463fd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "APPROVED",
+ "submittedAt": "2020-04-30T23:59:41Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403954569",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "68463fd2f4f3bcfdfdf271637a1b33a0fb1190b1",
+ "abbreviatedOid": "68463fd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-05-01T00:01:22Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-05-01T00:01:22Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403955126",
+ "__typename": "PullRequestReview"
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 13,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:21:51Z",
+ "committedDate": "2020-04-07T07:40:36Z",
+ "pushedDate": null,
+ "abbreviatedOid": "af8957d",
+ "oid": "af8957d1fc70a0de9c0f4c7c0118a24389fb5b26",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:36:34Z",
+ "committedDate": "2020-04-07T07:40:42Z",
+ "pushedDate": null,
+ "abbreviatedOid": "f9a4323",
+ "oid": "f9a43233fe8c5758e6d58662b999d0e14929ee83",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:41:15Z",
+ "committedDate": "2020-04-07T07:40:44Z",
+ "pushedDate": null,
+ "abbreviatedOid": "9e24828",
+ "oid": "9e248289b7b7bb8f239f0ff106a95b00f5cd4a87",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:41:40Z",
+ "committedDate": "2020-04-07T07:40:47Z",
+ "pushedDate": null,
+ "abbreviatedOid": "2494da5",
+ "oid": "2494da59bfc825d8d68fdfc149f4bb89e7fd5358",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/a5285cda2722912a390770722a334e6d6e43d1ab/checks?check_suite_id=578707768",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/a5285cda2722912a390770722a334e6d6e43d1ab/checks?check_suite_id=578707768",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "rbuckton",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/671973003?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-06T16:43:27Z",
+ "committedDate": "2020-04-07T07:40:50Z",
+ "pushedDate": null,
+ "abbreviatedOid": "a5285cd",
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "FAILURE",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/f12c498d540d73baacfa1abb4feb43fda41ac8e5/checks?check_suite_id=588273165",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f12c498d540d73baacfa1abb4feb43fda41ac8e5/checks?check_suite_id=588273165",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "FAILURE",
+ "contexts": [
+ {
+ "state": "FAILURE",
+ "description": "The Travis CI build failed",
+ "creator": {
+ "login": "johnnyreilly",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/673381199?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-10T11:47:19Z",
+ "committedDate": "2020-04-10T11:47:19Z",
+ "pushedDate": null,
+ "abbreviatedOid": "f12c498",
+ "oid": "f12c498d540d73baacfa1abb4feb43fda41ac8e5",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-15T15:27:23Z",
+ "committedDate": "2020-04-15T15:27:23Z",
+ "pushedDate": null,
+ "abbreviatedOid": "86e9006",
+ "oid": "86e900621feb6b2d017a9f1aaea224f498e5a22a",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-15T15:32:48Z",
+ "committedDate": "2020-04-15T15:32:48Z",
+ "pushedDate": null,
+ "abbreviatedOid": "3cb23d4",
+ "oid": "3cb23d4793e7eeede37a11580c3abf8d314b9748",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-15T15:52:12Z",
+ "committedDate": "2020-04-15T15:52:12Z",
+ "pushedDate": null,
+ "abbreviatedOid": "07b0b29",
+ "oid": "07b0b292fbf5ad04763bbed94dc3713c05468067",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "CANCELLED",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/90c94f91120c026f5f8bcc586426e8590b7b4048/checks?check_suite_id=600295513",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/90c94f91120c026f5f8bcc586426e8590b7b4048/checks?check_suite_id=600295513",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "johnnyreilly",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/681726779?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-15T15:52:24Z",
+ "committedDate": "2020-04-15T15:52:24Z",
+ "pushedDate": null,
+ "abbreviatedOid": "90c94f9",
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "FAILURE",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/68463fd2f4f3bcfdfdf271637a1b33a0fb1190b1/checks?check_suite_id=644114464",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/68463fd2f4f3bcfdfdf271637a1b33a0fb1190b1/checks?check_suite_id=644114464",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "FAILURE",
+ "contexts": [
+ {
+ "state": "FAILURE",
+ "description": "The Travis CI build failed",
+ "creator": {
+ "login": "johnnyreilly",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/681738901?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-30T23:48:33Z",
+ "committedDate": "2020-04-30T23:48:33Z",
+ "pushedDate": null,
+ "abbreviatedOid": "68463fd",
+ "oid": "68463fd2f4f3bcfdfdf271637a1b33a0fb1190b1",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/3e836178b736e5512361ffda46e84a5c668d7a90/checks?check_suite_id=644175407",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3e836178b736e5512361ffda46e84a5c668d7a90/checks?check_suite_id=644175407",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "johnnyreilly",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/681746087?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-05-01T00:12:41Z",
+ "committedDate": "2020-05-01T00:12:41Z",
+ "pushedDate": null,
+ "abbreviatedOid": "3e83617",
+ "oid": "3e836178b736e5512361ffda46e84a5c668d7a90",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 31,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDI3MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti Thank you for submitting this PR! \n\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\n- [accedo__accedo-one](https://www.npmjs.com/package/accedo__accedo-one)\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n",
+ "createdAt": "2020-04-07T07:51:15Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDMyNQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n",
+ "createdAt": "2020-04-07T07:51:23Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNjQzOQ==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "So, actually the CI didn't fail.",
+ "createdAt": "2020-04-07T07:56:06Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDI0ODg1Nw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@alexandercerutti Thank you for submitting this PR!\n \nBecause this is a new definition, a DefinitelyTyped maintainer will be reviewing this PR in the next few days once the Travis CI build passes.\n \nIn the meantime, if the build fails or a merge conflict occurs, I'll let you know. Have a nice day!\r\n",
+ "createdAt": "2020-04-07T08:22:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMTA1Njg0MQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits or comments. Thank you!\r\n",
+ "createdAt": "2020-04-08T16:24:30Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMTk5ODMxNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti The Travis CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f12c498d540d73baacfa1abb4feb43fda41ac8e5/checks?check_suite_id=588273165).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n",
+ "createdAt": "2020-04-10T11:54:25Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDAwNzA3MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti I haven't seen anything from you in a while and this PR currently has problems that prevent it from being merged. The PR will be closed tomorrow if there aren't new commits to fix the issues.\n",
+ "createdAt": "2020-04-15T12:26:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDAwNzA3Mg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti I haven't seen anything from you in a while and this PR currently has problems that prevent it from being merged. The PR will be closed tomorrow if there aren't new commits to fix the issues.\n",
+ "createdAt": "2020-04-15T12:26:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDEyNTI4OA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\n\n👋 **Hi there!** I’ve run some quick measurements against master and your PR. These metrics should help the humans reviewing this PR gauge whether it might negatively affect compile times or editor responsiveness for users who install these typings.\n\n\nLet’s review the numbers, shall we?\n\nThese typings are for a package that doesn’t yet exist on master, so I don’t have anything to compare against yet! In the future, I’ll be able to compare PRs to accedo__accedo-one with its source on master.\n\n\n\nComparison details 📊
\n\n| **Batch compilation** | |\n| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Type count | 2239 |\n| Assignability cache size | 116 |\n| | |\n| **Language service measurements** | |\n| Samples taken | 51 |\n| Identifiers in tests | 51 |\n| **`getCompletionsAtPosition`** | |\n| Mean duration (ms) | 78.7 |\n| Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 27.3% |\n| Worst duration (ms) | 101.4 |\n| Worst identifier | [accedoOne](/DefinitelyTyped/DefinitelyTyped/blob/97b243dc95c812604fa6736faf8dc8f7a0ff41ac/types/accedo__accedo-one/accedo__accedo-one-tests.ts#L9) |\n| **`getQuickInfoAtPosition`** | |\n| Mean duration (ms) | 74.9 |\n| Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 25.8% |\n| Worst duration (ms) | 91.7 |\n| Worst identifier | [sendLog](/DefinitelyTyped/DefinitelyTyped/blob/97b243dc95c812604fa6736faf8dc8f7a0ff41ac/types/accedo__accedo-one/accedo__accedo-one-tests.ts#L18) |\n| | |\n| **System information** | |\n| Node version | v12.16.1 |\n| CPU count | 2 |\n| CPU speed | 2.095 GHz |\n| CPU model | Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz |\n| CPU Architecture | x64 |\n| Memory | 6.8 GiB |\n| Platform | linux |\n| Release | 4.15.0-1077-azure |\n\n\n \n",
+ "createdAt": "2020-04-15T15:57:14Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MTY5OQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n🔔 @RyanCavanaugh - Thanks for your review of this PR! Can you please look at the new code and update your review status if appropriate?\r\n",
+ "createdAt": "2020-04-15T16:26:48Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MTcxNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@RyanCavanaugh Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-04-15T16:26:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MTcyMg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@RyanCavanaugh Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-04-15T16:26:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MjU3Ng==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "What's wrong with this bot? lol",
+ "createdAt": "2020-04-15T16:28:26Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNzEzNDI2Ng==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "Are there any news for this @RyanCavanaugh? Sorry for tagging, but several days passed since first review and since my code updates. So, only to understand how much we'll have to wait.\r\n\r\nThank you.\r\n\r\nP.s. sorry for asking a code review.",
+ "createdAt": "2020-04-21T11:55:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgxNg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:52Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgxOA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:52Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgyNA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti To keep things tidy, we have to close PRs that aren't mergeable but don't have activity from their author. No worries, though - please open a new PR if you'd like to continue with this change. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:53Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgyNQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti To keep things tidy, we have to close PRs that aren't mergeable but don't have activity from their author. No worries, though - please open a new PR if you'd like to continue with this change. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:53Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgyOA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti To keep things tidy, we have to close PRs that aren't mergeable but don't have activity from their author. No worries, though - please open a new PR if you'd like to continue with this change. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:53Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgyOQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti To keep things tidy, we have to close PRs that aren't mergeable but don't have activity from their author. No worries, though - please open a new PR if you'd like to continue with this change. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:53Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE2NTgzMA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti To keep things tidy, we have to close PRs that aren't mergeable but don't have activity from their author. No worries, though - please open a new PR if you'd like to continue with this change. Thank you!\n",
+ "createdAt": "2020-04-30T23:07:54Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE4MTgyNQ==",
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "body": "Or rather, as soon as you fix your test import! Should be `import accedoOne = require('...')`, not `import accedoOne from '...'`",
+ "createdAt": "2020-05-01T00:00:44Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE4MjY1Mw==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "But should it be like this in my code too? Isn't that format a legacy format? Do I remember wrong? I mean, the code where we use it, already uses ES Syntax (but gets compiled through Webpack, so it still might be okay to use it through ES Syntax?).\r\nAnyway, I'm trying to fix it and testing also with my code.",
+ "createdAt": "2020-05-01T00:03:35Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE4MzUyNA==",
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "body": "It’s not a legacy format; it’s the accurate format for CJS or UMD imports. You _can_ use a default import _only if_ you have ES module interop (`--esModuleInterop` in TypeScript) enabled, which you don’t in your tsconfig.json, so you need to use the accurate import format here. You can use a default import in your own code with Webpack.",
+ "createdAt": "2020-05-01T00:06:19Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYyMjE4NzIxMg==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "@andrewbranch Done, fixed everything. The tests passed but before them to being started, the bot said that they failed. 😅",
+ "createdAt": "2020-05-01T00:19:19Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/accedo__accedo-one/accedo__accedo-one-tests.ts",
+ "additions": 41,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/index.d.ts",
+ "additions": 407,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/tsconfig.json",
+ "additions": 28,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/tslint.json",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 4
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzU4NjkxNTQ=",
+ "project": {
+ "id": "MDc6UHJvamVjdDM3NDExMDQ=",
+ "number": 5,
+ "name": "New Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTMw",
+ "name": "Waiting for Code Reviews",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/derived.json b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/derived.json
new file mode 100644
index 0000000000..075d5cb491
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/derived.json
@@ -0,0 +1,61 @@
+{
+ "type": "info",
+ "now": "2020-05-01T17:11:04.885Z",
+ "pr_number": 43695,
+ "author": "alexandercerutti",
+ "headCommitOid": "3e836178b736e5512361ffda46e84a5c668d7a90",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-04-07T07:51:12.000Z",
+ "lastActivityDate": "2020-05-01T00:19:19.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "accedo__accedo-one",
+ "kind": "add",
+ "files": [
+ {
+ "path": "types/accedo__accedo-one/accedo__accedo-one-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/accedo__accedo-one/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/accedo__accedo-one/tsconfig.json",
+ "kind": "package-meta-ok"
+ },
+ {
+ "path": "types/accedo__accedo-one/tslint.json",
+ "kind": "package-meta",
+ "suspect": "edited"
+ }
+ ],
+ "owners": [],
+ "addedOwners": [
+ "alexandercerutti"
+ ],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "stale",
+ "reviewer": "andrewbranch",
+ "date": "2020-04-30T23:59:41.000Z",
+ "abbrOid": "68463fd"
+ },
+ {
+ "type": "stale",
+ "reviewer": "RyanCavanaugh",
+ "date": "2020-04-08T16:23:52.000Z",
+ "abbrOid": "a5285cd"
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/mutations.json b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/mutations.json
new file mode 100644
index 0000000000..e58b4c6900
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/mutations.json
@@ -0,0 +1,69 @@
+[
+ {
+ "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDI3MA==",
+ "body": "@alexandercerutti Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `accedo__accedo-one` (*new!*) — [on npm](https://www.npmjs.com/package/@accedo/accedo-one), [on unpkg](https://unpkg.com/browse/@accedo/accedo-one@latest/)\n - 1 added owner: ✎@alexandercerutti\n - Config files to check:\n - [`accedo__accedo-one/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files/3e836178b736e5512361ffda46e84a5c668d7a90#diff-4413d8770def1e851a87a519d27ff32bc17eee42f2c9a26c9a0d59dc710e09ba): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43695&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n## Inactive\n\nThis PR has been inactive for 24 days — it is *still* unreviewed!\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyNDYyODA0MzE1"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: RemoveLabelsFromLabelableInput!) {\n removeLabelsFromLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyMTU0ODU3ODAw"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: MoveProjectCardInput!) {\n moveProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "cardId": "MDExOlByb2plY3RDYXJkMzU4NjkxNTQ=",
+ "columnId": "MDEzOlByb2plY3RDb2x1bW45ODY3MDA2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "body": "🔔 @alexandercerutti — you're the only owner, but it would still be good if you find someone to [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files) in the next few days, otherwise a maintainer will look at it. (And if you do find someone, maybe even recruit them to be a second owner to make future changes easier...)\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "body": "@andrewbranch, @RyanCavanaugh Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "body": "It has been more than two weeks and this PR still has no reviews.\n\nI'll bump it to the DT maintainer queue. Thank you for your patience, @alexandercerutti.\n\n(Ping @«anyone?».)\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/result.json b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/result.json
new file mode 100644
index 0000000000..b386c42bb1
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-duplicate-comment/result.json
@@ -0,0 +1,29 @@
+{
+ "projectColumn": "Needs Maintainer Action",
+ "labels": [
+ "New Definition",
+ "Check Config",
+ "Unreviewed"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@alexandercerutti Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `accedo__accedo-one` (*new!*) — [on npm](https://www.npmjs.com/package/@accedo/accedo-one), [on unpkg](https://unpkg.com/browse/@accedo/accedo-one@latest/)\n - 1 added owner: ✎@alexandercerutti\n - Config files to check:\n - [`accedo__accedo-one/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files/3e836178b736e5512361ffda46e84a5c668d7a90#diff-4413d8770def1e851a87a519d27ff32bc17eee42f2c9a26c9a0d59dc710e09ba): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43695&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n## Inactive\n\nThis PR has been inactive for 24 days — it is *still* unreviewed!\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "pinging-reviewers-others",
+ "status": "🔔 @alexandercerutti — you're the only owner, but it would still be good if you find someone to [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files) in the next few days, otherwise a maintainer will look at it. (And if you do find someone, maybe even recruit them to be a second owner to make future changes easier...)"
+ },
+ {
+ "tag": "stale-ping-61f252-a5285cd",
+ "status": "@andrewbranch, @RyanCavanaugh Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?"
+ },
+ {
+ "tag": "Unreviewed:done",
+ "status": "It has been more than two weeks and this PR still has no reviews.\n\nI'll bump it to the DT maintainer queue. Thank you for your patience, @alexandercerutti.\n\n(Ping @«anyone?».)"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-post-review/_downloads.json b/packages/mergebot/src/_tests/fixtures/43695-post-review/_downloads.json
new file mode 100644
index 0000000000..3600062d0e
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-post-review/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "accedo__accedo-one": 0
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-post-review/_files.json b/packages/mergebot/src/_tests/fixtures/43695-post-review/_files.json
new file mode 100644
index 0000000000..bf070f644d
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-post-review/_files.json
@@ -0,0 +1,3 @@
+{
+ "90c94f91120c026f5f8bcc586426e8590b7b4048:types/accedo__accedo-one/index.d.ts": "// Type definitions for @accedo/accedo-one 4.0\n// Project: https://www.accedo.tv/one\n// Definitions by: Alexander P. Cerutti \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// Minimum TypeScript Version: 3.1\n\n/**\n * @example"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-post-review/_response.json b/packages/mergebot/src/_tests/fixtures/43695-post-review/_response.json
new file mode 100644
index 0000000000..336fbc8935
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-post-review/_response.json
@@ -0,0 +1,780 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "title": "Added typings for @accedo/accedo-one package",
+ "lastEditedAt": "2020-04-23T18:17:03Z",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-04-07T07:51:12Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "New Definition",
+ "__typename": "Label"
+ },
+ {
+ "name": "Revision needed",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "isDraft": false,
+ "mergeable": "MERGEABLE",
+ "number": 43695,
+ "state": "OPEN",
+ "headRefOid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "changedFiles": 4,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T07:51:15Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T07:51:23Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T07:56:06Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-07T08:22:33Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-08T16:24:30Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-10T11:54:25Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T12:26:33Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T12:26:33Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T15:57:14Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:26:48Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:26:50Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:26:50Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-15T16:28:26Z"
+ },
+ {
+ "__typename": "IssueComment",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-21T11:55:50Z"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "abbreviatedOid": "a5285cd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-08T16:23:48Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "CHANGES_REQUESTED",
+ "submittedAt": "2020-04-08T16:23:52Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-390133785",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "abbreviatedOid": "a5285cd",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-08T17:03:39Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-08T17:03:39Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-390164904",
+ "__typename": "PullRequestReview"
+ },
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "abbreviatedOid": "90c94f9",
+ "__typename": "Commit"
+ },
+ "comments": {
+ "nodes": [
+ {
+ "author": {
+ "login": "andrewbranch",
+ "__typename": "User"
+ },
+ "createdAt": "2020-04-30T23:07:44Z",
+ "__typename": "PullRequestReviewComment"
+ }
+ ],
+ "__typename": "PullRequestReviewCommentConnection"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "CHANGES_REQUESTED",
+ "submittedAt": "2020-04-30T23:07:49Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-403936744",
+ "__typename": "PullRequestReview"
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 10,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:21:51Z",
+ "committedDate": "2020-04-07T07:40:36Z",
+ "pushedDate": null,
+ "abbreviatedOid": "af8957d",
+ "oid": "af8957d1fc70a0de9c0f4c7c0118a24389fb5b26",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:36:34Z",
+ "committedDate": "2020-04-07T07:40:42Z",
+ "pushedDate": null,
+ "abbreviatedOid": "f9a4323",
+ "oid": "f9a43233fe8c5758e6d58662b999d0e14929ee83",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:41:15Z",
+ "committedDate": "2020-04-07T07:40:44Z",
+ "pushedDate": null,
+ "abbreviatedOid": "9e24828",
+ "oid": "9e248289b7b7bb8f239f0ff106a95b00f5cd4a87",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:41:40Z",
+ "committedDate": "2020-04-07T07:40:47Z",
+ "pushedDate": null,
+ "abbreviatedOid": "2494da5",
+ "oid": "2494da59bfc825d8d68fdfc149f4bb89e7fd5358",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/a5285cda2722912a390770722a334e6d6e43d1ab/checks?check_suite_id=578707768",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/a5285cda2722912a390770722a334e6d6e43d1ab/checks?check_suite_id=578707768",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "rbuckton",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/671973003?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-06T16:43:27Z",
+ "committedDate": "2020-04-07T07:40:50Z",
+ "pushedDate": "2020-04-07T07:41:37Z",
+ "abbreviatedOid": "a5285cd",
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "FAILURE",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/f12c498d540d73baacfa1abb4feb43fda41ac8e5/checks?check_suite_id=588273165",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f12c498d540d73baacfa1abb4feb43fda41ac8e5/checks?check_suite_id=588273165",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "FAILURE",
+ "contexts": [
+ {
+ "state": "FAILURE",
+ "description": "The Travis CI build failed",
+ "creator": {
+ "login": "johnnyreilly",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/673381199?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-10T11:47:19Z",
+ "committedDate": "2020-04-10T11:47:19Z",
+ "pushedDate": "2020-04-10T11:48:31Z",
+ "abbreviatedOid": "f12c498",
+ "oid": "f12c498d540d73baacfa1abb4feb43fda41ac8e5",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-15T15:27:23Z",
+ "committedDate": "2020-04-15T15:27:23Z",
+ "pushedDate": null,
+ "abbreviatedOid": "86e9006",
+ "oid": "86e900621feb6b2d017a9f1aaea224f498e5a22a",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-15T15:32:48Z",
+ "committedDate": "2020-04-15T15:32:48Z",
+ "pushedDate": null,
+ "abbreviatedOid": "3cb23d4",
+ "oid": "3cb23d4793e7eeede37a11580c3abf8d314b9748",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-15T15:52:12Z",
+ "committedDate": "2020-04-15T15:52:12Z",
+ "pushedDate": null,
+ "abbreviatedOid": "07b0b29",
+ "oid": "07b0b292fbf5ad04763bbed94dc3713c05468067",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": null,
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/90c94f91120c026f5f8bcc586426e8590b7b4048/checks?check_suite_id=600295513",
+ "status": "IN_PROGRESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/90c94f91120c026f5f8bcc586426e8590b7b4048/checks?check_suite_id=600295513",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "johnnyreilly",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/681726779?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-15T15:52:24Z",
+ "committedDate": "2020-04-15T15:52:24Z",
+ "pushedDate": "2020-04-15T15:53:29Z",
+ "abbreviatedOid": "90c94f9",
+ "oid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 21,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDI3MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti Thank you for submitting this PR! \n\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\n- [accedo__accedo-one](https://www.npmjs.com/package/accedo__accedo-one)\n\n## Status\n\n * ✅ No merge conflicts\n * ❌ Continuous integration tests have passed\n * ❌ Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n",
+ "createdAt": "2020-04-07T07:51:15Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDMyNQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n",
+ "createdAt": "2020-04-07T07:51:23Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNjQzOQ==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "So, actually the CI didn't fail.",
+ "createdAt": "2020-04-07T07:56:06Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDI0ODg1Nw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@alexandercerutti Thank you for submitting this PR!\n \nBecause this is a new definition, a DefinitelyTyped maintainer will be reviewing this PR in the next few days once the Travis CI build passes.\n \nIn the meantime, if the build fails or a merge conflict occurs, I'll let you know. Have a nice day!\r\n",
+ "createdAt": "2020-04-07T08:22:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMTA1Njg0MQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits or comments. Thank you!\r\n",
+ "createdAt": "2020-04-08T16:24:30Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMTk5ODMxNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti The Travis CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/f12c498d540d73baacfa1abb4feb43fda41ac8e5/checks?check_suite_id=588273165).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n",
+ "createdAt": "2020-04-10T11:54:25Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDAwNzA3MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti I haven't seen anything from you in a while and this PR currently has problems that prevent it from being merged. The PR will be closed tomorrow if there aren't new commits to fix the issues.\n",
+ "createdAt": "2020-04-15T12:26:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDAwNzA3Mg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti I haven't seen anything from you in a while and this PR currently has problems that prevent it from being merged. The PR will be closed tomorrow if there aren't new commits to fix the issues.\n",
+ "createdAt": "2020-04-15T12:26:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDEyNTI4OA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\n\n👋 **Hi there!** I’ve run some quick measurements against master and your PR. These metrics should help the humans reviewing this PR gauge whether it might negatively affect compile times or editor responsiveness for users who install these typings.\n\n\nLet’s review the numbers, shall we?\n\nThese typings are for a package that doesn’t yet exist on master, so I don’t have anything to compare against yet! In the future, I’ll be able to compare PRs to accedo__accedo-one with its source on master.\n\n\n\nComparison details 📊
\n\n| **Batch compilation** | |\n| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Type count | 2239 |\n| Assignability cache size | 116 |\n| | |\n| **Language service measurements** | |\n| Samples taken | 51 |\n| Identifiers in tests | 51 |\n| **`getCompletionsAtPosition`** | |\n| Mean duration (ms) | 78.7 |\n| Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 27.3% |\n| Worst duration (ms) | 101.4 |\n| Worst identifier | [accedoOne](/DefinitelyTyped/DefinitelyTyped/blob/97b243dc95c812604fa6736faf8dc8f7a0ff41ac/types/accedo__accedo-one/accedo__accedo-one-tests.ts#L9) |\n| **`getQuickInfoAtPosition`** | |\n| Mean duration (ms) | 74.9 |\n| Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 25.8% |\n| Worst duration (ms) | 91.7 |\n| Worst identifier | [sendLog](/DefinitelyTyped/DefinitelyTyped/blob/97b243dc95c812604fa6736faf8dc8f7a0ff41ac/types/accedo__accedo-one/accedo__accedo-one-tests.ts#L18) |\n| | |\n| **System information** | |\n| Node version | v12.16.1 |\n| CPU count | 2 |\n| CPU speed | 2.095 GHz |\n| CPU model | Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz |\n| CPU Architecture | x64 |\n| Memory | 6.8 GiB |\n| Platform | linux |\n| Release | 4.15.0-1077-azure |\n\n\n \n",
+ "createdAt": "2020-04-15T15:57:14Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MTY5OQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n🔔 @RyanCavanaugh - Thanks for your review of this PR! Can you please look at the new code and update your review status if appropriate?\r\n",
+ "createdAt": "2020-04-15T16:26:48Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MTcxNw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@RyanCavanaugh Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-04-15T16:26:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MTcyMg==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@RyanCavanaugh Thank you for reviewing this PR! The author has pushed new commits since your last review. Could you take another look and submit a fresh review?\n",
+ "createdAt": "2020-04-15T16:26:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNDE0MjU3Ng==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "What's wrong with this bot? lol",
+ "createdAt": "2020-04-15T16:28:26Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxNzEzNDI2Ng==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "Are there any news for this @RyanCavanaugh? Sorry for tagging, but several days passed since first review and since my code updates. So, only to understand how much we'll have to wait.\r\n\r\nThank you.\r\n\r\nP.s. sorry for asking a code review.",
+ "createdAt": "2020-04-21T11:55:50Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/accedo__accedo-one/accedo__accedo-one-tests.ts",
+ "additions": 41,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/index.d.ts",
+ "additions": 405,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/tsconfig.json",
+ "additions": 28,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/tslint.json",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 4
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzU4NzA5Njc=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW40Njk1ODAw",
+ "name": "Done",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ },
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzczNDY4ODQ=",
+ "project": {
+ "id": "MDc6UHJvamVjdDM3NDExMDQ=",
+ "number": 5,
+ "name": "New Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTMw",
+ "name": "Waiting for Code Reviews",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-post-review/derived.json b/packages/mergebot/src/_tests/fixtures/43695-post-review/derived.json
new file mode 100644
index 0000000000..b83d38c60d
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-post-review/derived.json
@@ -0,0 +1,60 @@
+{
+ "type": "info",
+ "now": "2020-04-30T23:13:37.659Z",
+ "pr_number": 43695,
+ "author": "alexandercerutti",
+ "headCommitOid": "90c94f91120c026f5f8bcc586426e8590b7b4048",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-04-15T15:53:29.000Z",
+ "lastActivityDate": "2020-04-30T23:07:49.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "accedo__accedo-one",
+ "kind": "add",
+ "files": [
+ {
+ "path": "types/accedo__accedo-one/accedo__accedo-one-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/accedo__accedo-one/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/accedo__accedo-one/tsconfig.json",
+ "kind": "package-meta-ok"
+ },
+ {
+ "path": "types/accedo__accedo-one/tslint.json",
+ "kind": "package-meta",
+ "suspect": "edited"
+ }
+ ],
+ "owners": [],
+ "addedOwners": [
+ "alexandercerutti"
+ ],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "changereq",
+ "reviewer": "andrewbranch",
+ "date": "2020-04-30T23:07:49.000Z"
+ },
+ {
+ "type": "stale",
+ "reviewer": "RyanCavanaugh",
+ "date": "2020-04-08T16:23:52.000Z",
+ "abbrOid": "a5285cd"
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695-post-review/mutations.json b/packages/mergebot/src/_tests/fixtures/43695-post-review/mutations.json
new file mode 100644
index 0000000000..3578e621c9
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-post-review/mutations.json
@@ -0,0 +1,40 @@
+[
+ {
+ "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDI3MA==",
+ "body": "@alexandercerutti Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `accedo__accedo-one` (*new!*) — [on npm](https://www.npmjs.com/package/@accedo/accedo-one), [on unpkg](https://unpkg.com/browse/@accedo/accedo-one@latest/)\n - 1 added owner: ✎@alexandercerutti\n - Config files to check:\n - [`accedo__accedo-one/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files/90c94f91120c026f5f8bcc586426e8590b7b4048#diff-4413d8770def1e851a87a519d27ff32bc17eee42f2c9a26c9a0d59dc710e09ba): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43695&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyMTU0ODE2NTQ5"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: MoveProjectCardInput!) {\n moveProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "cardId": "MDExOlByb2plY3RDYXJkMzczNDY4ODQ=",
+ "columnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTI0"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43695-post-review/result.json b/packages/mergebot/src/_tests/fixtures/43695-post-review/result.json
new file mode 100644
index 0000000000..779c8601ec
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695-post-review/result.json
@@ -0,0 +1,21 @@
+{
+ "projectColumn": "Needs Author Action",
+ "labels": [
+ "Revision needed",
+ "New Definition",
+ "Check Config"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@alexandercerutti Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `accedo__accedo-one` (*new!*) — [on npm](https://www.npmjs.com/package/@accedo/accedo-one), [on unpkg](https://unpkg.com/browse/@accedo/accedo-one@latest/)\n - 1 added owner: ✎@alexandercerutti\n - Config files to check:\n - [`accedo__accedo-one/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files/90c94f91120c026f5f8bcc586426e8590b7b4048#diff-4413d8770def1e851a87a519d27ff32bc17eee42f2c9a26c9a0d59dc710e09ba): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43695&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "reviewer-complaint-90c94f9",
+ "status": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695/_downloads.json b/packages/mergebot/src/_tests/fixtures/43695/_downloads.json
new file mode 100644
index 0000000000..3600062d0e
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695/_downloads.json
@@ -0,0 +1,3 @@
+{
+ "accedo__accedo-one": 0
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695/_files.json b/packages/mergebot/src/_tests/fixtures/43695/_files.json
new file mode 100644
index 0000000000..9cdf56ddb9
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695/_files.json
@@ -0,0 +1,3 @@
+{
+ "a5285cda2722912a390770722a334e6d6e43d1ab:types/accedo__accedo-one/index.d.ts": "// Type definitions for @accedo/accedo-one 4.0\n// Project: https://www.accedo.tv/one\n// Definitions by: Alexander P. Cerutti \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// Minimum TypeScript Version: 3.1\n\n/**\n * @example"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695/_response.json b/packages/mergebot/src/_tests/fixtures/43695/_response.json
new file mode 100644
index 0000000000..27f790b5ce
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695/_response.json
@@ -0,0 +1,416 @@
+{
+ "data": {
+ "repository": {
+ "pullRequest": {
+ "id": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "title": "Added typings for @accedo/accedo-one package",
+ "lastEditedAt": null,
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "baseRef": {
+ "name": "master",
+ "__typename": "Ref"
+ },
+ "createdAt": "2020-04-07T07:51:12Z",
+ "labels": {
+ "nodes": [
+ {
+ "name": "New Definition",
+ "__typename": "Label"
+ },
+ {
+ "name": "Revision needed",
+ "__typename": "Label"
+ }
+ ],
+ "__typename": "LabelConnection"
+ },
+ "mergeable": "MERGEABLE",
+ "number": 43695,
+ "state": "OPEN",
+ "headRefOid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "changedFiles": 4,
+ "commitIds": {},
+ "timelineItems": {
+ "nodes": [
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "af8957d1fc70a0de9c0f4c7c0118a24389fb5b26",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "f9a43233fe8c5758e6d58662b999d0e14929ee83",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "9e248289b7b7bb8f239f0ff106a95b00f5cd4a87",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "2494da59bfc825d8d68fdfc149f4bb89e7fd5358",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "PullRequestCommit",
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "__typename": "Commit"
+ }
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "IssueComment"
+ },
+ {
+ "__typename": "PullRequestReview",
+ "author": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "state": "CHANGES_REQUESTED"
+ },
+ {
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "PullRequestTimelineItemsConnection"
+ },
+ "reviews": {
+ "nodes": [
+ {
+ "author": {
+ "login": "RyanCavanaugh",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "abbreviatedOid": "a5285cd",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "MEMBER",
+ "state": "CHANGES_REQUESTED",
+ "submittedAt": "2020-04-08T16:23:52Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-390133785",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ },
+ {
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "commit": {
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "abbreviatedOid": "a5285cd",
+ "__typename": "Commit"
+ },
+ "authorAssociation": "CONTRIBUTOR",
+ "state": "COMMENTED",
+ "submittedAt": "2020-04-08T17:03:39Z",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695#pullrequestreview-390164904",
+ "__typename": "PullRequestReview",
+ "comments": {
+ "nodes": []
+ }
+ }
+ ],
+ "__typename": "PullRequestReviewConnection"
+ },
+ "commits": {
+ "totalCount": 5,
+ "nodes": [
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:21:51Z",
+ "committedDate": "2020-04-07T07:40:36Z",
+ "pushedDate": null,
+ "abbreviatedOid": "af8957d",
+ "oid": "af8957d1fc70a0de9c0f4c7c0118a24389fb5b26",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:36:34Z",
+ "committedDate": "2020-04-07T07:40:42Z",
+ "pushedDate": null,
+ "abbreviatedOid": "f9a4323",
+ "oid": "f9a43233fe8c5758e6d58662b999d0e14929ee83",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:41:15Z",
+ "committedDate": "2020-04-07T07:40:44Z",
+ "pushedDate": null,
+ "abbreviatedOid": "9e24828",
+ "oid": "9e248289b7b7bb8f239f0ff106a95b00f5cd4a87",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": null,
+ "authoredDate": "2020-04-06T16:41:40Z",
+ "committedDate": "2020-04-07T07:40:47Z",
+ "pushedDate": null,
+ "abbreviatedOid": "2494da5",
+ "oid": "2494da59bfc825d8d68fdfc149f4bb89e7fd5358",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ },
+ {
+ "commit": {
+ "checkSuites": {
+ "nodes": [
+ {
+ "app": {
+ "name": "Azure Pipelines",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/a5285cda2722912a390770722a334e6d6e43d1ab/checks?check_suite_id=578707768",
+ "status": "COMPLETED",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/a5285cda2722912a390770722a334e6d6e43d1ab/checks?check_suite_id=578707768",
+ "__typename": "CheckSuite"
+ },
+ {
+ "app": {
+ "name": "GitHub Actions",
+ "__typename": "App"
+ },
+ "conclusion": "SUCCESS",
+ "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "status": "SUCCESS",
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/22c73c88cc9c09efd4c2998ec360607dd4c36c2e/checks?check_suite_id=731664306",
+ "__typename": "CheckSuite"
+ }
+ ],
+ "__typename": "CheckSuiteConnection"
+ },
+ "status": {
+ "state": "SUCCESS",
+ "contexts": [
+ {
+ "state": "SUCCESS",
+ "description": "The Travis CI build passed",
+ "creator": {
+ "login": "rbuckton",
+ "__typename": "User"
+ },
+ "targetUrl": "https://travis-ci.org/github/DefinitelyTyped/DefinitelyTyped/builds/671973003?utm_source=github_status&utm_medium=notification",
+ "__typename": "StatusContext"
+ }
+ ],
+ "__typename": "Status"
+ },
+ "authoredDate": "2020-04-06T16:43:27Z",
+ "committedDate": "2020-04-07T07:40:50Z",
+ "pushedDate": "2020-04-07T07:41:37Z",
+ "abbreviatedOid": "a5285cd",
+ "oid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "__typename": "Commit"
+ },
+ "__typename": "PullRequestCommit"
+ }
+ ],
+ "__typename": "PullRequestCommitConnection"
+ },
+ "comments": {
+ "totalCount": 5,
+ "nodes": [
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDI3MA==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti Thank you for submitting this PR! \n\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\n- [accedo__accedo-one](https://www.npmjs.com/package/accedo__accedo-one)\n\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ Only a DT maintainer can approve changes without tests\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n",
+ "createdAt": "2020-04-07T07:51:15Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDMyNQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n",
+ "createdAt": "2020-04-07T07:51:23Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNjQzOQ==",
+ "author": {
+ "login": "alexandercerutti",
+ "__typename": "User"
+ },
+ "body": "So, actually the CI didn't fail.",
+ "createdAt": "2020-04-07T07:56:06Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDI0ODg1Nw==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@alexandercerutti Thank you for submitting this PR!\n \nBecause this is a new definition, a DefinitelyTyped maintainer will be reviewing this PR in the next few days once the Travis CI build passes.\n \nIn the meantime, if the build fails or a merge conflict occurs, I'll let you know. Have a nice day!\r\n",
+ "createdAt": "2020-04-07T08:22:33Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ },
+ {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMTA1Njg0MQ==",
+ "author": {
+ "login": "typescript-bot",
+ "__typename": "User"
+ },
+ "body": "\r\n@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits or comments. Thank you!\r\n",
+ "createdAt": "2020-04-08T16:24:30Z",
+ "reactions": {
+ "nodes": [],
+ "__typename": "ReactionConnection"
+ },
+ "__typename": "IssueComment"
+ }
+ ],
+ "__typename": "IssueCommentConnection"
+ },
+ "files": {
+ "nodes": [
+ {
+ "path": "types/accedo__accedo-one/accedo__accedo-one-tests.ts",
+ "additions": 41,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/index.d.ts",
+ "additions": 409,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/tsconfig.json",
+ "additions": 24,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ },
+ {
+ "path": "types/accedo__accedo-one/tslint.json",
+ "additions": 1,
+ "deletions": 0,
+ "__typename": "PullRequestChangedFile"
+ }
+ ],
+ "__typename": "PullRequestChangedFileConnection",
+ "totalCount": 4
+ },
+ "projectCards": {
+ "nodes": [
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzU4NjkxNTQ=",
+ "project": {
+ "id": "MDc6UHJvamVjdDM3NDExMDQ=",
+ "number": 5,
+ "name": "New Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTMw",
+ "name": "Waiting for Code Reviews",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ },
+ {
+ "id": "MDExOlByb2plY3RDYXJkMzU4NzA5Njc=",
+ "project": {
+ "id": "MDc6UHJvamVjdDE0NDQ5NTY=",
+ "number": 4,
+ "name": "Pull Request Status Board",
+ "__typename": "Project"
+ },
+ "column": {
+ "id": "MDEzOlByb2plY3RDb2x1bW4yNTYxMzU5",
+ "name": "Needs Author Attention",
+ "__typename": "ProjectColumn"
+ },
+ "__typename": "ProjectCard"
+ }
+ ],
+ "__typename": "ProjectCardConnection"
+ },
+ "__typename": "PullRequest"
+ },
+ "__typename": "Repository"
+ }
+ },
+ "loading": false,
+ "networkStatus": 7,
+ "stale": false
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695/derived.json b/packages/mergebot/src/_tests/fixtures/43695/derived.json
new file mode 100644
index 0000000000..3b55ef887a
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695/derived.json
@@ -0,0 +1,54 @@
+{
+ "type": "info",
+ "now": "2020-04-08T12:29:36.999Z",
+ "pr_number": 43695,
+ "author": "alexandercerutti",
+ "headCommitOid": "a5285cda2722912a390770722a334e6d6e43d1ab",
+ "mergeBaseOid": "master",
+ "lastPushDate": "2020-04-07T07:41:37.000Z",
+ "lastActivityDate": "2020-04-08T16:23:52.000Z",
+ "hasMergeConflict": false,
+ "isFirstContribution": false,
+ "tooManyFiles": false,
+ "hugeChange": false,
+ "popularityLevel": "Well-liked by everyone",
+ "pkgInfo": [
+ {
+ "name": "accedo__accedo-one",
+ "kind": "add",
+ "files": [
+ {
+ "path": "types/accedo__accedo-one/accedo__accedo-one-tests.ts",
+ "kind": "test"
+ },
+ {
+ "path": "types/accedo__accedo-one/index.d.ts",
+ "kind": "definition"
+ },
+ {
+ "path": "types/accedo__accedo-one/tsconfig.json",
+ "kind": "package-meta-ok"
+ },
+ {
+ "path": "types/accedo__accedo-one/tslint.json",
+ "kind": "package-meta",
+ "suspect": "edited"
+ }
+ ],
+ "owners": [],
+ "addedOwners": [
+ "alexandercerutti"
+ ],
+ "deletedOwners": [],
+ "popularityLevel": "Well-liked by everyone"
+ }
+ ],
+ "reviews": [
+ {
+ "type": "changereq",
+ "reviewer": "RyanCavanaugh",
+ "date": "2020-04-08T16:23:52.000Z"
+ }
+ ],
+ "ciResult": "pass"
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43695/mutations.json b/packages/mergebot/src/_tests/fixtures/43695/mutations.json
new file mode 100644
index 0000000000..9b3c8571e4
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695/mutations.json
@@ -0,0 +1,40 @@
+[
+ {
+ "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "id": "MDEyOklzc3VlQ29tbWVudDYxMDIzNDI3MA==",
+ "body": "@alexandercerutti Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `accedo__accedo-one` (*new!*) — [on npm](https://www.npmjs.com/package/@accedo/accedo-one), [on unpkg](https://unpkg.com/browse/@accedo/accedo-one@latest/)\n - 1 added owner: ✎@alexandercerutti\n - Config files to check:\n - [`accedo__accedo-one/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files/a5285cda2722912a390770722a334e6d6e43d1ab#diff-4413d8770def1e851a87a519d27ff32bc17eee42f2c9a26c9a0d59dc710e09ba): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43695&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ...\n"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "labelIds": [
+ "MDU6TGFiZWwyMTU0ODE2NTQ5"
+ ],
+ "labelableId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: MoveProjectCardInput!) {\n moveProjectCard(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "cardId": "MDExOlByb2plY3RDYXJkMzU4NjkxNTQ=",
+ "columnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTI0"
+ }
+ }
+ },
+ {
+ "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n",
+ "variables": {
+ "input": {
+ "subjectId": "MDExOlB1bGxSZXF1ZXN0NDAwMTAwMTk2",
+ "body": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!\n"
+ }
+ }
+ }
+]
diff --git a/packages/mergebot/src/_tests/fixtures/43695/result.json b/packages/mergebot/src/_tests/fixtures/43695/result.json
new file mode 100644
index 0000000000..aa7e2baff6
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43695/result.json
@@ -0,0 +1,21 @@
+{
+ "projectColumn": "Needs Author Action",
+ "labels": [
+ "Revision needed",
+ "New Definition",
+ "Check Config"
+ ],
+ "responseComments": [
+ {
+ "tag": "welcome",
+ "status": "@alexandercerutti Thank you for submitting this PR!\n\n***This is a live comment that I will keep updated.***\n\n## 1 package in this PR\n\n* `accedo__accedo-one` (*new!*) — [on npm](https://www.npmjs.com/package/@accedo/accedo-one), [on unpkg](https://unpkg.com/browse/@accedo/accedo-one@latest/)\n - 1 added owner: ✎@alexandercerutti\n - Config files to check:\n - [`accedo__accedo-one/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43695/files/a5285cda2722912a390770722a334e6d6e43d1ab#diff-4413d8770def1e851a87a519d27ff32bc17eee42f2c9a26c9a0d59dc710e09ba): edited\n\n## Code Reviews\n\nThis PR adds a new definition, so it needs to be reviewed by a DT maintainer before it can be merged.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=43695&install-plugin=playground-dt-review).\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * 🕐 Only a DT maintainer can approve changes when there are new packages added\n\nOnce every item on this list is checked, I'll ask you for permission to merge and publish the changes.\n\n----------------------\n... diagnostics scrubbed ..."
+ },
+ {
+ "tag": "reviewer-complaint-a5285cd",
+ "status": "@alexandercerutti One or more reviewers has requested changes. Please address their comments. I'll be back once they sign off or you've pushed new commits. Thank you!"
+ }
+ ],
+ "shouldClose": false,
+ "shouldMerge": false,
+ "shouldUpdateLabels": true
+}
diff --git a/packages/mergebot/src/_tests/fixtures/43960-post-close/_downloads.json b/packages/mergebot/src/_tests/fixtures/43960-post-close/_downloads.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43960-post-close/_downloads.json
@@ -0,0 +1 @@
+{}
diff --git a/packages/mergebot/src/_tests/fixtures/43960-post-close/_files.json b/packages/mergebot/src/_tests/fixtures/43960-post-close/_files.json
new file mode 100644
index 0000000000..4d205b084e
--- /dev/null
+++ b/packages/mergebot/src/_tests/fixtures/43960-post-close/_files.json
@@ -0,0 +1,3 @@
+{
+ "master:types/supertest/index.d.ts": "// Type definitions for SuperTest v2.0.1\n// Project: https://github.com/visionmedia/supertest\n// Definitions by: Alex Varju \n// Petteri Parkkila \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 3.0\n\nimport * as superagent from 'superagent';\n\nexport = supertest;\n\ndeclare function supertest(app: any): supertest.SuperTest;\ndeclare namespace supertest {\n interface Response extends superagent.Response {}\n\n interface Request extends superagent.SuperAgentRequest {}\n\n type CallbackHandler = (err: any, res: Response) => void;\n interface Test extends superagent.SuperAgentRequest {\n app?: any;\n url: string;\n serverAddress(app: any, path: string): string;\n expect(status: number, callback?: CallbackHandler): this;\n expect(status: number, body: any, callback?: CallbackHandler): this;\n expect(checker: (res: Response) => any, callback?: CallbackHandler): this;\n expect(body: string, callback?: CallbackHandler): this;\n expect(body: RegExp, callback?: CallbackHandler): this;\n expect(body: Object, callback?: CallbackHandler): this;\n expect(field: string, val: string, callback?: CallbackHandler): this;\n expect(field: string, val: RegExp, callback?: CallbackHandler): this;\n end(callback?: CallbackHandler): this;\n }\n\n interface AgentOptions {\n ca?: any;\n }\n function agent(app?: any, options?: AgentOptions): SuperAgentTest;\n\n type SuperAgentTest = SuperTest &\n Pick<\n Request,\n | 'use'\n | 'on'\n | 'set'\n | 'query'\n | 'type'\n | 'accept'\n | 'auth'\n | 'withCredentials'\n | 'retry'\n | 'ok'\n | 'redirects'\n | 'timeout'\n | 'buffer'\n | 'serialize'\n | 'parse'\n | 'ca'\n | 'key'\n | 'pfx'\n | 'cert'\n >;\n interface SuperTest