diff --git a/src/_tests/fixtures/38979/mutations.json b/src/_tests/fixtures/38979/mutations.json index 558b0199..67d0d75e 100644 --- a/src/_tests/fixtures/38979/mutations.json +++ b/src/_tests/fixtures/38979/mutations.json @@ -4,7 +4,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDYyNzA5NzAxMg==", - "body": "@ExE-Boss Thank you for submitting this PR!\n\n***This is a live comment which 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\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 * πŸ• 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## Inactive\n\nThis PR has been inactive for 129 days β€” it is *still* unreviewed!\n\n----------------------\n... diagnostics scrubbed ...\n" + "body": "@ExE-Boss Thank you for submitting this PR!\n\n***This is a live comment which 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\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 * πŸ• 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" } } }, @@ -13,8 +13,7 @@ "variables": { "input": { "labelIds": [ - "MDU6TGFiZWwxNjA4NjM0NDg0", - "MDU6TGFiZWwyNDYyODA0MzE1" + "MDU6TGFiZWwxNjA4NjM0NDg0" ], "labelableId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0" } @@ -37,7 +36,7 @@ "variables": { "input": { "contentId": "MDExOlB1bGxSZXF1ZXN0MzI1ODk5Njc0", - "projectColumnId": "MDEzOlByb2plY3RDb2x1bW45ODY3MDA2" + "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIy" } } }, @@ -58,14 +57,5 @@ "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/src/_tests/fixtures/38979/result.json b/src/_tests/fixtures/38979/result.json index ec055e48..944289ad 100644 --- a/src/_tests/fixtures/38979/result.json +++ b/src/_tests/fixtures/38979/result.json @@ -1,14 +1,13 @@ { - "projectColumn": "Needs Maintainer Action", + "projectColumn": "Needs Maintainer Review", "labels": [ "Critical package", - "Other Approved", - "Unreviewed" + "Other Approved" ], "responseComments": [ { "tag": "welcome", - "status": "@ExE-Boss Thank you for submitting this PR!\n\n***This is a live comment which 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\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 * πŸ• 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## Inactive\n\nThis PR has been inactive for 129 days β€” it is *still* unreviewed!\n\n----------------------\n... diagnostics scrubbed ..." + "status": "@ExE-Boss Thank you for submitting this PR!\n\n***This is a live comment which 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\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 * πŸ• 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", @@ -17,10 +16,6 @@ { "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, diff --git a/src/_tests/fixtures/43695-duplicate-comment/mutations.json b/src/_tests/fixtures/43695-duplicate-comment/mutations.json index f7db7066..22753919 100644 --- a/src/_tests/fixtures/43695-duplicate-comment/mutations.json +++ b/src/_tests/fixtures/43695-duplicate-comment/mutations.json @@ -63,7 +63,7 @@ "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" + "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/src/_tests/fixtures/43695-duplicate-comment/result.json b/src/_tests/fixtures/43695-duplicate-comment/result.json index 4bc4bb86..b0cff19e 100644 --- a/src/_tests/fixtures/43695-duplicate-comment/result.json +++ b/src/_tests/fixtures/43695-duplicate-comment/result.json @@ -19,7 +19,7 @@ }, { "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?Β».)" + "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, diff --git a/src/_tests/fixtures/44857/mutations.json b/src/_tests/fixtures/44857/mutations.json index f07baab3..5a99d651 100644 --- a/src/_tests/fixtures/44857/mutations.json +++ b/src/_tests/fixtures/44857/mutations.json @@ -30,6 +30,15 @@ } } }, + { + "mutation": "mutation ($input: MoveProjectCardInput!) {\n moveProjectCard(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "cardId": "MDExOlByb2plY3RDYXJkMzg0NjYwNjg=", + "columnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIy" + } + } + }, { "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n", "variables": { diff --git a/src/_tests/fixtures/44857/result.json b/src/_tests/fixtures/44857/result.json index b09b3dfb..5bbbe763 100644 --- a/src/_tests/fixtures/44857/result.json +++ b/src/_tests/fixtures/44857/result.json @@ -1,5 +1,5 @@ { - "projectColumn": "Needs Maintainer Action", + "projectColumn": "Needs Maintainer Review", "labels": [ "Critical package", "Author is Owner", diff --git a/src/_tests/fixtures/44989-14days/mutations.json b/src/_tests/fixtures/44989-14days/mutations.json index 8c6464a0..9c652e8e 100644 --- a/src/_tests/fixtures/44989-14days/mutations.json +++ b/src/_tests/fixtures/44989-14days/mutations.json @@ -33,7 +33,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NDIyMDc5Mjk3", - "body": "Re-ping @petr-motejlek / @TheHandsomeCoder, @donnut, @mdekrey, @sbking, @afharo, @teves-castro, @1M0reBug, @hojberg, @samsonkeung, @angeloocana, @raynerd, @moshensky, @ethanresnick, @deftomat, @blimusiek, @biern, @rayhaneh, @rgm, @drewwyatt, @jottenlips, @minitesh, @krantisinh, @pirix-gh, @brekk, @nemo108, @jituanlin, @Philippe-mills, @Saul-Mirone:\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on Jun 22nd (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)\n" + "body": "Re-ping @petr-motejlek / @TheHandsomeCoder, @donnut, @mdekrey, @sbking, @afharo, @teves-castro, @1M0reBug, @hojberg, @samsonkeung, @angeloocana, @raynerd, @moshensky, @ethanresnick, @deftomat, @blimusiek, @biern, @rayhaneh, @rgm, @drewwyatt, @jottenlips, @minitesh, @krantisinh, @pirix-gh, @brekk, @nemo108, @jituanlin, @Philippe-mills, @Saul-Mirone, @Nicholaiii:\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on Jun 22nd (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)\n" } } } diff --git a/src/_tests/fixtures/44989-14days/result.json b/src/_tests/fixtures/44989-14days/result.json index 32947af2..7e1cf922 100644 --- a/src/_tests/fixtures/44989-14days/result.json +++ b/src/_tests/fixtures/44989-14days/result.json @@ -17,7 +17,7 @@ }, { "tag": "Unmerged:nearly:2020-05-23", - "status": "Re-ping @petr-motejlek / @TheHandsomeCoder, @donnut, @mdekrey, @sbking, @afharo, @teves-castro, @1M0reBug, @hojberg, @samsonkeung, @angeloocana, @raynerd, @moshensky, @ethanresnick, @deftomat, @blimusiek, @biern, @rayhaneh, @rgm, @drewwyatt, @jottenlips, @minitesh, @krantisinh, @pirix-gh, @brekk, @nemo108, @jituanlin, @Philippe-mills, @Saul-Mirone:\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on Jun 22nd (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)" + "status": "Re-ping @petr-motejlek / @TheHandsomeCoder, @donnut, @mdekrey, @sbking, @afharo, @teves-castro, @1M0reBug, @hojberg, @samsonkeung, @angeloocana, @raynerd, @moshensky, @ethanresnick, @deftomat, @blimusiek, @biern, @rayhaneh, @rgm, @drewwyatt, @jottenlips, @minitesh, @krantisinh, @pirix-gh, @brekk, @nemo108, @jituanlin, @Philippe-mills, @Saul-Mirone, @Nicholaiii:\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on Jun 22nd (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/49548/mutations.json b/src/_tests/fixtures/49548/mutations.json index df6cf385..a5a495d1 100644 --- a/src/_tests/fixtures/49548/mutations.json +++ b/src/_tests/fixtures/49548/mutations.json @@ -24,7 +24,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NTIwODA1MjIx", - "body": "Re-ping @Β«anyone?Β»:\n\nThis PR has been out for over a week, yet I haven't seen any reviews.\n\nCould someone please give it some attention? Thanks!\n" + "body": "Re-ping Β«anyone?Β»:\n\nThis PR has been out for over a week, yet I haven't seen any reviews.\n\nCould someone please give it some attention? Thanks!\n" } } } diff --git a/src/_tests/fixtures/49548/result.json b/src/_tests/fixtures/49548/result.json index 82d5cff8..8b4d4f42 100644 --- a/src/_tests/fixtures/49548/result.json +++ b/src/_tests/fixtures/49548/result.json @@ -16,7 +16,7 @@ }, { "tag": "Unreviewed:nearly:2020-11-16", - "status": "Re-ping @Β«anyone?Β»:\n\nThis PR has been out for over a week, yet I haven't seen any reviews.\n\nCould someone please give it some attention? Thanks!" + "status": "Re-ping Β«anyone?Β»:\n\nThis PR has been out for over a week, yet I haven't seen any reviews.\n\nCould someone please give it some attention? Thanks!" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/49575/mutations.json b/src/_tests/fixtures/49575/mutations.json index a2d17964..09bd5f54 100644 --- a/src/_tests/fixtures/49575/mutations.json +++ b/src/_tests/fixtures/49575/mutations.json @@ -4,7 +4,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NTIxMTM3NjEy", - "body": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\nThis PR touches some part of DefinitelyTyped infrastructure, so a DT maintainer will need to review it. This is rare β€” did you mean to do this?\n\n## 0 packages in this PR (and infra files)\n\n* Infra files\n - [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35)\n - [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235)\n - [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2)\n - [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae)\n - [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5)\n - [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119)\n - [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42)\n\n## Code Reviews\n\nThere aren't any other owners of this package, so a DT maintainer will review it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=49575&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 which affect DT infrastructure ([`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35), [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235), [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2), [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae), [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5), [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119), [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42))\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 7 days.\n\n----------------------\n... diagnostics scrubbed ...\n" + "body": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\nThis PR touches some part of DefinitelyTyped infrastructure, so a DT maintainer will need to review it. This is rare β€” did you mean to do this?\n\n## 0 packages in this PR (and infra files)\n\n* Infra files\n - [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35)\n - [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235)\n - [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2)\n - [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae)\n - [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5)\n - [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119)\n - [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42)\n\n## Code Reviews\n\nThere aren't any other owners of this package, so a DT maintainer will review it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=49575&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 which affect DT infrastructure ([`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35), [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235), [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2), [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae), [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5), [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119), [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42))\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" } } }, diff --git a/src/_tests/fixtures/49575/result.json b/src/_tests/fixtures/49575/result.json index a7eed0b5..6a63f5ad 100644 --- a/src/_tests/fixtures/49575/result.json +++ b/src/_tests/fixtures/49575/result.json @@ -7,7 +7,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\nThis PR touches some part of DefinitelyTyped infrastructure, so a DT maintainer will need to review it. This is rare β€” did you mean to do this?\n\n## 0 packages in this PR (and infra files)\n\n* Infra files\n - [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35)\n - [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235)\n - [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2)\n - [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae)\n - [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5)\n - [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119)\n - [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42)\n\n## Code Reviews\n\nThere aren't any other owners of this package, so a DT maintainer will review it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=49575&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 which affect DT infrastructure ([`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35), [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235), [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2), [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae), [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5), [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119), [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42))\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 7 days.\n\n----------------------\n... diagnostics scrubbed ..." + "status": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\nThis PR touches some part of DefinitelyTyped infrastructure, so a DT maintainer will need to review it. This is rare β€” did you mean to do this?\n\n## 0 packages in this PR (and infra files)\n\n* Infra files\n - [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35)\n - [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235)\n - [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2)\n - [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae)\n - [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5)\n - [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119)\n - [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42)\n\n## Code Reviews\n\nThere aren't any other owners of this package, so a DT maintainer will review it.\n\nYou can test the changes of this PR [in the Playground](https://www.typescriptlang.org/play/?dtPR=49575&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 which affect DT infrastructure ([`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35), [`README.cn.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-97a2a8d47e133a2b24ad7bc1a2e25710f534470e28a73efb62da312a3bb19235), [`README.es.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-42010a55cd1784b825a37c762cc91d75421f3ed4515f1047cf5506444949a0c2), [`README.ko.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-86fa6921bcebf260d55d8a3742c1b513bd78f4ea18366db989b5a03c68c563ae), [`README.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5), [`README.pt.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-822bdbb1cbe31bcc1afd1ddbbd7b3191052e07c9996334e645a22694e3cc2119), [`README.ru.md`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49575/files/cdd66f483bb0103f6e6d1eb7b07192ff95718f25#diff-fb460bf71153d8224708cfa7298df0409d20c207f5b252b74906895bd8e1ac42))\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", diff --git a/src/_tests/fixtures/51338/mutations.json b/src/_tests/fixtures/51338/mutations.json index 2639f50f..07874b4c 100644 --- a/src/_tests/fixtures/51338/mutations.json +++ b/src/_tests/fixtures/51338/mutations.json @@ -4,18 +4,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDc4MjIxMzI4Nw==", - "body": "@pkuczynski Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `koa` β€” [on npm](https://www.npmjs.com/package/koa), [on unpkg](https://unpkg.com/browse/koa@latest/) (author is owner)\n - owner-approval: @tellnes\n - Config files to check:\n - [`koa/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/51338/files/4a7712f61d17eb33e89171f317deeb31b3d555ae#diff-1730c5405d0220a98f28feeec2de3f5a511ebc6a04ceadf12415b81de841672e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it (check: `compilerOptions.esModuleInterop`)\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=51338&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 which 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 11 days β€” please try to get reviewers!\n\n----------------------\n... diagnostics scrubbed ...\n" - } - } - }, - { - "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n", - "variables": { - "input": { - "labelIds": [ - "MDU6TGFiZWwyNDYyODA0MzE1" - ], - "labelableId": "MDExOlB1bGxSZXF1ZXN0NTc2NTk4OTQ2" + "body": "@pkuczynski Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `koa` β€” [on npm](https://www.npmjs.com/package/koa), [on unpkg](https://unpkg.com/browse/koa@latest/) (author is owner)\n - owner-approval: @tellnes\n - Config files to check:\n - [`koa/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/51338/files/4a7712f61d17eb33e89171f317deeb31b3d555ae#diff-1730c5405d0220a98f28feeec2de3f5a511ebc6a04ceadf12415b81de841672e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it (check: `compilerOptions.esModuleInterop`)\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=51338&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 which 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----------------------\n... diagnostics scrubbed ...\n" } } }, @@ -27,14 +16,5 @@ "body": ":hourglass_flowing_sand: Hi @pkuczynski,\n\nIt's been a few days since this PR was approved by tellnes and we're waiting for a DT maintainer to give a review.\n\nIf you would like to short-circuit this wait, you can edit some of the [test files](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-my-package-teststs) in the package which verify how the `.d.ts` files work. This would allow the PR to be merged by you or the DT module owners after a re-review.\n" } } - }, - { - "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n", - "variables": { - "input": { - "subjectId": "MDExOlB1bGxSZXF1ZXN0NTc2NTk4OTQ2", - "body": "Re-ping @DavidCai1993, @jkeylu, @brikou, @harryparkdotio, @chatoo2412:\n\nThis PR has been out for over a week, yet I haven't seen any reviews.\n\nCould someone please give it some attention? Thanks!\n" - } - } } ] diff --git a/src/_tests/fixtures/51338/result.json b/src/_tests/fixtures/51338/result.json index 00a37637..9fdf37ea 100644 --- a/src/_tests/fixtures/51338/result.json +++ b/src/_tests/fixtures/51338/result.json @@ -5,8 +5,7 @@ "Owner Approved", "Author is Owner", "Check Config", - "Untested Change", - "Unreviewed" + "Untested Change" ], "responseComments": [ { @@ -15,15 +14,11 @@ }, { "tag": "welcome", - "status": "@pkuczynski Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `koa` β€” [on npm](https://www.npmjs.com/package/koa), [on unpkg](https://unpkg.com/browse/koa@latest/) (author is owner)\n - owner-approval: @tellnes\n - Config files to check:\n - [`koa/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/51338/files/4a7712f61d17eb33e89171f317deeb31b3d555ae#diff-1730c5405d0220a98f28feeec2de3f5a511ebc6a04ceadf12415b81de841672e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it (check: `compilerOptions.esModuleInterop`)\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=51338&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 which 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 11 days β€” please try to get reviewers!\n\n----------------------\n... diagnostics scrubbed ..." + "status": "@pkuczynski Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `koa` β€” [on npm](https://www.npmjs.com/package/koa), [on unpkg](https://unpkg.com/browse/koa@latest/) (author is owner)\n - owner-approval: @tellnes\n - Config files to check:\n - [`koa/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/51338/files/4a7712f61d17eb33e89171f317deeb31b3d555ae#diff-1730c5405d0220a98f28feeec2de3f5a511ebc6a04ceadf12415b81de841672e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it (check: `compilerOptions.esModuleInterop`)\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=51338&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 which 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----------------------\n... diagnostics scrubbed ..." }, { "tag": "wait-for-merge-offer-4a7712f", "status": ":hourglass_flowing_sand: Hi @pkuczynski,\n\nIt's been a few days since this PR was approved by tellnes and we're waiting for a DT maintainer to give a review.\n\nIf you would like to short-circuit this wait, you can edit some of the [test files](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-my-package-teststs) in the package which verify how the `.d.ts` files work. This would allow the PR to be merged by you or the DT module owners after a re-review." - }, - { - "tag": "Unreviewed:nearly:2021-02-19", - "status": "Re-ping @DavidCai1993, @jkeylu, @brikou, @harryparkdotio, @chatoo2412:\n\nThis PR has been out for over a week, yet I haven't seen any reviews.\n\nCould someone please give it some attention? Thanks!" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/59713/_downloads.json b/src/_tests/fixtures/59713/_downloads.json new file mode 100644 index 00000000..6fe7893a --- /dev/null +++ b/src/_tests/fixtures/59713/_downloads.json @@ -0,0 +1,3 @@ +{ + "eonasdan-bootstrap-datetimepicker": 42589 +} diff --git a/src/_tests/fixtures/59713/_files.json b/src/_tests/fixtures/59713/_files.json new file mode 100644 index 00000000..5ab5fabe --- /dev/null +++ b/src/_tests/fixtures/59713/_files.json @@ -0,0 +1,6 @@ +{ + "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977:types/eonasdan-bootstrap-datetimepicker/tslint.json": "{\n \"extends\": \"@definitelytyped/dtslint/dt.json\",\n \"rules\": {\n \"adjacent-overload-signatures\": false,\n \"dt-header\": false,\n \"interface-over-type-literal\": false,\n \"jsdoc-format\": false,\n \"max-line-length\": false,\n \"no-var-keyword\": false,\n \"only-arrow-functions\": false,\n \"prefer-const\": false,\n \"semicolon\": false,\n \"space-before-function-paren\": false,\n \"strict-export-declare-modifiers\": false,\n \"unified-signatures\": false\n }\n}\n", + "7d761ba60b12dda9d54420ff9351b104a49c1355:types/eonasdan-bootstrap-datetimepicker/tslint.json": "{\n \"extends\": \"@definitelytyped/dtslint/dt.json\",\n \"rules\": {\n \"adjacent-overload-signatures\": false,\n \"dt-header\": false,\n \"interface-over-type-literal\": false,\n \"jsdoc-format\": false,\n \"max-line-length\": false,\n \"no-const-enum\": false,\n \"no-var-keyword\": false,\n \"only-arrow-functions\": false,\n \"prefer-const\": false,\n \"semicolon\": false,\n \"space-before-function-paren\": false,\n \"strict-export-declare-modifiers\": false,\n \"unified-signatures\": false\n }\n}\n", + "7d761ba60b12dda9d54420ff9351b104a49c1355:types/eonasdan-bootstrap-datetimepicker/index.d.ts": "// Type definitions for Bootstrap v3 Datepicker v4.17.37\n// Project: http://eonasdan.github.io/bootstrap-datetimepicker\n// Definitions by: Markus Peloso \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.3\n\n/// \n\nimport * as moment from 'moment';\n\nexport as namespace EonasdanBootstrapDatetimepicker;\n\nexport type DateComparable = string | Date | moment.Moment;\n\nexport type UseCurrent = \"year\" | \"month\" | \"day\" | \"hour\" | \"minute\";\n\nexport interface Icons {\n /**\n * Default: \"glyphicon glyphicon-chevron-right\"\n */\n time?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-calendar\"\n */\n date?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-chevron-up\"\n */\n up?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-time\"\n */\n down?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-screenshot\"\n */\n previous?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-chevron-left\"\n */\n next?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-chevron-down\"\n */\n today?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-trash\"\n */\n clear?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-remove\"\n */\n close?: string | undefined;\n}\n\nexport declare const enum DayOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6\n}\n\nexport type ViewMode = \"days\" | \"months\" | \"years\" | \"decades\";\n\nexport type ToolbarPlacement = \"default\" | \"top\" | \"bottom\";\n\nexport interface WidgetPositioning {\n horizontal?: \"auto\" | \"left\" | \"right\" | undefined;\n vertical?: \"auto\" | \"top\" | \"bottom\" | undefined;\n}\n\nexport interface KeyBinds {\n up?: ((widget: JQuery | boolean) => any) | undefined;\n down?: ((widget: JQuery | boolean) => any) | undefined;\n \"control up\"?: ((widget: JQuery | boolean) => any) | undefined;\n \"control down\"?: ((widget: JQuery | boolean) => any) | undefined;\n left?: ((widget: JQuery | boolean) => any) | undefined;\n right?: ((widget: JQuery | boolean) => any) | undefined;\n pageUp?: ((widget: JQuery | boolean) => any) | undefined;\n pageDown?: ((widget: JQuery | boolean) => any) | undefined;\n enter?: (() => any) | undefined;\n escape?: (() => any) | undefined;\n \"control space\"?: ((widget: JQuery) => any) | undefined;\n t?: (() => any) | undefined;\n delete?: (() => any) | undefined;\n}\n\nexport type FromTo = [moment.Moment, moment.Moment];\n\nexport interface Tooltips {\n /**\n * Default: \"Go to today\"\n */\n today?: string | undefined;\n\n /**\n * Default: \"Clear selection\"\n */\n clear?: string | undefined;\n\n /**\n * Default: \"Close the picker\"\n */\n close?: string | undefined;\n\n /**\n * Default: \"Select Month\"\n */\n selectMonth?: string | undefined;\n\n /**\n * Default: \"Previous Month\"\n */\n prevMonth?: string | undefined;\n\n /**\n * Default: \"Next Month\"\n */\n nextMonth?: string | undefined;\n\n /**\n * Default: \"Select Year\"\n */\n selectYear?: string | undefined;\n\n /**\n * Default: \"Previous Year\"\n */\n prevYear?: string | undefined;\n\n /**\n * Default: \"Next Year\"\n */\n nextYear?: string | undefined;\n\n /**\n * Default: \"Select Decade\"\n */\n selectDecade?: string | undefined;\n\n /**\n * Default: \"Previous Decade\"\n */\n prevDecade?: string | undefined;\n\n /**\n * Default: \"Next Decade\"\n */\n nextDecade?: string | undefined;\n\n /**\n * Default: \"Previous Century\"\n */\n prevCentury?: string | undefined;\n\n /**\n * Default: \"Next Century\"\n */\n nextCentury?: string | undefined;\n\n /**\n * Default: \"Pick Hour\"\n */\n pickHour?: string | undefined;\n\n /**\n * Default: \"Increment Hour\"\n */\n incrementHour?: string | undefined;\n\n /**\n * Default: \"Decrement Hour\"\n */\n decrementHour?: string | undefined;\n\n /**\n * Default: \"Pick Minute\"\n */\n pickMinute?: string | undefined;\n\n /**\n * Default: \"Increment Minute\"\n */\n incrementMinute?: string | undefined;\n\n /**\n * Default: \"Decrement Minute\"\n */\n decrementMinute?: string | undefined;\n\n /**\n * Default: \"Pick Second\"\n */\n pickSecond?: string | undefined;\n\n /**\n * Default: \"Increment Second\"\n */\n incrementSecond?: string | undefined;\n\n /**\n * Default: \"Decrement Second\"\n */\n decrementSecond?: string | undefined;\n\n /**\n * Default: \"Toggle Period\"\n */\n togglePeriod?: string | undefined;\n\n /**\n * Default: \"Select Time\"\n */\n selectTime?: string | undefined;\n}\n\nexport type ParseInputDateFunction = (inputDate: string) => moment.Moment;\n\nexport interface OptionsBase {\n /**\n * Default: \"Etc/UTC\"\n */\n timeZone?: string | undefined;\n\n /**\n * See momentjs' docs for valid formats. Format also dictates what components are shown, e.g. MM/dd/YYYY will not display the time picker.\n * Default: false\n */\n format?: string | boolean | undefined;\n\n /**\n * Changes the heading of the datepicker when in \"days\" view.\n * Default: \"MMMM YYYY\"\n */\n dayViewHeaderFormat?: string | undefined;\n\n /**\n * Allows for several input formats to be valid.\n * Default: false\n */\n extraFormats?: string[] | boolean | undefined;\n\n /**\n * Number of minutes the up/down arrow's will move the minutes value in the time picker.\n * Default: 1\n */\n stepping?: number | undefined;\n\n /**\n * Prevents date/time selections before this date.\n * minDate will override defaultDate and useCurrent if either of these settings are the same day since both options are invalid according to the rules you've selected.\n * Default: false\n */\n minDate?: DateComparable | boolean | undefined;\n\n /**\n * Prevents date/time selections after this date.\n * maxDate will override defaultDate and useCurrent if either of these settings are the same day since both options are invalid according to the rules you've selected.\n * Default: false\n */\n maxDate?: DateComparable | boolean | undefined;\n\n /**\n * On show, will set the picker to the current date/time\n * Default: true\n */\n useCurrent?: boolean | UseCurrent | undefined;\n\n /**\n * Using a Bootstraps collapse to switch between date/time pickers.\n * Default: true\n */\n collapse?: boolean | undefined;\n\n /**\n * See momentjs for valid locales.\n * You must include moment-with-locales.js or a local js file.\n * Default: moment.locale()\n */\n locale?: string | undefined;\n\n /**\n * Sets the picker default date/time. Overrides useCurrent\n * Default: false\n */\n defaultDate?: DateComparable | boolean | undefined;\n\n /**\n * Change the default icons for the pickers functions\n * Default: {\n * time: \"glyphicon glyphicon-time\",\n * date: \"glyphicon glyphicon-calendar\",\n * up: \"glyphicon glyphicon-chevron-up\",\n * down: \"glyphicon glyphicon-chevron-down\",\n * previous: \"glyphicon glyphicon-chevron-left\",\n * next: \"glyphicon glyphicon-chevron-right\",\n * today: \"glyphicon glyphicon-screenshot\",\n * clear: \"glyphicon glyphicon-trash\",\n * close: \"glyphicon glyphicon-remove\"\n * }\n */\n icons?: Icons | undefined;\n\n /**\n * Defines if moment should use strict date parsing when considering a date to be valid\n * Default: false\n */\n useStrict?: boolean | undefined;\n\n /**\n * Shows the picker side by side when using the time and date together.\n * Default: false\n */\n sideBySide?: boolean | undefined;\n\n /**\n * Accepts: array of numbers from 0-6\n * Disables the section of days of the week, e.g. weekends.\n * Default: false\n */\n daysOfWeekDisabled?: DayOfWeek[] | boolean | undefined;\n\n /**\n * Shows the week of the year to the left of first day of the week.\n * Default: false\n */\n calendarWeeks?: boolean | undefined;\n\n /**\n * The default view to display when the picker is shown.\n * Note: To limit the picker to selecting, for instance the year and month, use format: MM/YYYY\n * Default: \"days\"\n */\n viewMode?: ViewMode | undefined;\n\n /**\n * Changes the placement of the icon toolbar.\n * Default: \"default\"\n */\n toolbarPlacement?: ToolbarPlacement | undefined;\n\n /**\n * Show the \"Today\" button in the icon toolbar.\n * Clicking the \"Today\" button will set the calendar view and set the date to now.\n * Default: false\n */\n showTodayButton?: boolean | undefined;\n\n /**\n * Show the \"Clear\" button in the icon toolbar.\n * Clicking the \"Clear\" button will set the calendar to null.\n * Default: false\n */\n showClear?: boolean | undefined;\n\n /**\n * Show the \"Close\" button in the icon toolbar.\n * Clicking the \"Close\" button will call hide()\n * Default: false\n */\n showClose?: boolean | undefined;\n\n /**\n * Accepts: object with the all or one of the parameters above\n * horizontal: 'auto', 'left', 'right'\n * vertical: 'auto', 'top', 'bottom'\n * Default: {\n * horizontal: 'auto'\n * vertical: 'auto'\n * }\n */\n widgetPositioning?: WidgetPositioning | undefined;\n\n /**\n * On picker show, places the widget at the identifier (string) or jQuery object if the element has css position: \"relative\"\n * Default: null\n */\n widgetParent?: string | JQuery | undefined;\n\n /**\n * Will cause the date picker to stay open after selecting a date if no time components are being used.\n * Default: false\n */\n keepOpen?: boolean | undefined;\n\n /**\n * Will display the picker inline without the need of a input field. This will also hide borders and shadows.\n * Default: false\n */\n inline?: boole", + "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977:types/eonasdan-bootstrap-datetimepicker/index.d.ts": "// Type definitions for Bootstrap v3 Datepicker v4.17.37\n// Project: http://eonasdan.github.io/bootstrap-datetimepicker\n// Definitions by: Markus Peloso \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n// TypeScript Version: 2.3\n\n/// \n\nimport * as moment from 'moment';\n\nexport as namespace EonasdanBootstrapDatetimepicker;\n\nexport type DateComparable = string | Date | moment.Moment;\n\nexport type UseCurrent = \"year\" | \"month\" | \"day\" | \"hour\" | \"minute\";\n\nexport interface Icons {\n /**\n * Default: \"glyphicon glyphicon-chevron-right\"\n */\n time?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-calendar\"\n */\n date?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-chevron-up\"\n */\n up?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-time\"\n */\n down?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-screenshot\"\n */\n previous?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-chevron-left\"\n */\n next?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-chevron-down\"\n */\n today?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-trash\"\n */\n clear?: string | undefined;\n\n /**\n * Default: \"glyphicon glyphicon-remove\"\n */\n close?: string | undefined;\n}\n\nexport type DayOfWeek =\n | 0 /* Sunday */\n | 1 /* Monday */\n | 2 /* Tuesday */\n | 3 /* Wednesday */\n | 4 /* Thursday */\n | 5 /* Friday */\n | 6 /* Saturday */;\n\nexport type ViewMode = \"days\" | \"months\" | \"years\" | \"decades\";\n\nexport type ToolbarPlacement = \"default\" | \"top\" | \"bottom\";\n\nexport interface WidgetPositioning {\n horizontal?: \"auto\" | \"left\" | \"right\" | undefined;\n vertical?: \"auto\" | \"top\" | \"bottom\" | undefined;\n}\n\nexport interface KeyBinds {\n up?: ((widget: JQuery | boolean) => any) | undefined;\n down?: ((widget: JQuery | boolean) => any) | undefined;\n \"control up\"?: ((widget: JQuery | boolean) => any) | undefined;\n \"control down\"?: ((widget: JQuery | boolean) => any) | undefined;\n left?: ((widget: JQuery | boolean) => any) | undefined;\n right?: ((widget: JQuery | boolean) => any) | undefined;\n pageUp?: ((widget: JQuery | boolean) => any) | undefined;\n pageDown?: ((widget: JQuery | boolean) => any) | undefined;\n enter?: (() => any) | undefined;\n escape?: (() => any) | undefined;\n \"control space\"?: ((widget: JQuery) => any) | undefined;\n t?: (() => any) | undefined;\n delete?: (() => any) | undefined;\n}\n\nexport type FromTo = [moment.Moment, moment.Moment];\n\nexport interface Tooltips {\n /**\n * Default: \"Go to today\"\n */\n today?: string | undefined;\n\n /**\n * Default: \"Clear selection\"\n */\n clear?: string | undefined;\n\n /**\n * Default: \"Close the picker\"\n */\n close?: string | undefined;\n\n /**\n * Default: \"Select Month\"\n */\n selectMonth?: string | undefined;\n\n /**\n * Default: \"Previous Month\"\n */\n prevMonth?: string | undefined;\n\n /**\n * Default: \"Next Month\"\n */\n nextMonth?: string | undefined;\n\n /**\n * Default: \"Select Year\"\n */\n selectYear?: string | undefined;\n\n /**\n * Default: \"Previous Year\"\n */\n prevYear?: string | undefined;\n\n /**\n * Default: \"Next Year\"\n */\n nextYear?: string | undefined;\n\n /**\n * Default: \"Select Decade\"\n */\n selectDecade?: string | undefined;\n\n /**\n * Default: \"Previous Decade\"\n */\n prevDecade?: string | undefined;\n\n /**\n * Default: \"Next Decade\"\n */\n nextDecade?: string | undefined;\n\n /**\n * Default: \"Previous Century\"\n */\n prevCentury?: string | undefined;\n\n /**\n * Default: \"Next Century\"\n */\n nextCentury?: string | undefined;\n\n /**\n * Default: \"Pick Hour\"\n */\n pickHour?: string | undefined;\n\n /**\n * Default: \"Increment Hour\"\n */\n incrementHour?: string | undefined;\n\n /**\n * Default: \"Decrement Hour\"\n */\n decrementHour?: string | undefined;\n\n /**\n * Default: \"Pick Minute\"\n */\n pickMinute?: string | undefined;\n\n /**\n * Default: \"Increment Minute\"\n */\n incrementMinute?: string | undefined;\n\n /**\n * Default: \"Decrement Minute\"\n */\n decrementMinute?: string | undefined;\n\n /**\n * Default: \"Pick Second\"\n */\n pickSecond?: string | undefined;\n\n /**\n * Default: \"Increment Second\"\n */\n incrementSecond?: string | undefined;\n\n /**\n * Default: \"Decrement Second\"\n */\n decrementSecond?: string | undefined;\n\n /**\n * Default: \"Toggle Period\"\n */\n togglePeriod?: string | undefined;\n\n /**\n * Default: \"Select Time\"\n */\n selectTime?: string | undefined;\n}\n\nexport type ParseInputDateFunction = (inputDate: string) => moment.Moment;\n\nexport interface OptionsBase {\n /**\n * Default: \"Etc/UTC\"\n */\n timeZone?: string | undefined;\n\n /**\n * See momentjs' docs for valid formats. Format also dictates what components are shown, e.g. MM/dd/YYYY will not display the time picker.\n * Default: false\n */\n format?: string | boolean | undefined;\n\n /**\n * Changes the heading of the datepicker when in \"days\" view.\n * Default: \"MMMM YYYY\"\n */\n dayViewHeaderFormat?: string | undefined;\n\n /**\n * Allows for several input formats to be valid.\n * Default: false\n */\n extraFormats?: string[] | boolean | undefined;\n\n /**\n * Number of minutes the up/down arrow's will move the minutes value in the time picker.\n * Default: 1\n */\n stepping?: number | undefined;\n\n /**\n * Prevents date/time selections before this date.\n * minDate will override defaultDate and useCurrent if either of these settings are the same day since both options are invalid according to the rules you've selected.\n * Default: false\n */\n minDate?: DateComparable | boolean | undefined;\n\n /**\n * Prevents date/time selections after this date.\n * maxDate will override defaultDate and useCurrent if either of these settings are the same day since both options are invalid according to the rules you've selected.\n * Default: false\n */\n maxDate?: DateComparable | boolean | undefined;\n\n /**\n * On show, will set the picker to the current date/time\n * Default: true\n */\n useCurrent?: boolean | UseCurrent | undefined;\n\n /**\n * Using a Bootstraps collapse to switch between date/time pickers.\n * Default: true\n */\n collapse?: boolean | undefined;\n\n /**\n * See momentjs for valid locales.\n * You must include moment-with-locales.js or a local js file.\n * Default: moment.locale()\n */\n locale?: string | undefined;\n\n /**\n * Sets the picker default date/time. Overrides useCurrent\n * Default: false\n */\n defaultDate?: DateComparable | boolean | undefined;\n\n /**\n * Change the default icons for the pickers functions\n * Default: {\n * time: \"glyphicon glyphicon-time\",\n * date: \"glyphicon glyphicon-calendar\",\n * up: \"glyphicon glyphicon-chevron-up\",\n * down: \"glyphicon glyphicon-chevron-down\",\n * previous: \"glyphicon glyphicon-chevron-left\",\n * next: \"glyphicon glyphicon-chevron-right\",\n * today: \"glyphicon glyphicon-screenshot\",\n * clear: \"glyphicon glyphicon-trash\",\n * close: \"glyphicon glyphicon-remove\"\n * }\n */\n icons?: Icons | undefined;\n\n /**\n * Defines if moment should use strict date parsing when considering a date to be valid\n * Default: false\n */\n useStrict?: boolean | undefined;\n\n /**\n * Shows the picker side by side when using the time and date together.\n * Default: false\n */\n sideBySide?: boolean | undefined;\n\n /**\n * Accepts: array of numbers from 0-6\n * Disables the section of days of the week, e.g. weekends.\n * Default: false\n */\n daysOfWeekDisabled?: DayOfWeek[] | boolean | undefined;\n\n /**\n * Shows the week of the year to the left of first day of the week.\n * Default: false\n */\n calendarWeeks?: boolean | undefined;\n\n /**\n * The default view to display when the picker is shown.\n * Note: To limit the picker to selecting, for instance the year and month, use format: MM/YYYY\n * Default: \"days\"\n */\n viewMode?: ViewMode | undefined;\n\n /**\n * Changes the placement of the icon toolbar.\n * Default: \"default\"\n */\n toolbarPlacement?: ToolbarPlacement | undefined;\n\n /**\n * Show the \"Today\" button in the icon toolbar.\n * Clicking the \"Today\" button will set the calendar view and set the date to now.\n * Default: false\n */\n showTodayButton?: boolean | undefined;\n\n /**\n * Show the \"Clear\" button in the icon toolbar.\n * Clicking the \"Clear\" button will set the calendar to null.\n * Default: false\n */\n showClear?: boolean | undefined;\n\n /**\n * Show the \"Close\" button in the icon toolbar.\n * Clicking the \"Close\" button will call hide()\n * Default: false\n */\n showClose?: boolean | undefined;\n\n /**\n * Accepts: object with the all or one of the parameters above\n * horizontal: 'auto', 'left', 'right'\n * vertical: 'auto', 'top', 'bottom'\n * Default: {\n * horizontal: 'auto'\n * vertical: 'auto'\n * }\n */\n widgetPositioning?: WidgetPositioning | undefined;\n\n /**\n * On picker show, places the widget at the identifier (string) or jQuery object if the element has css position: \"relative\"\n * Default: null\n */\n widgetParent?: string | JQuery | undefined;\n\n /**\n * Will cause the date picker to stay open after selecting a date if no time components are being used.\n * Default: false\n */\n keepOpen?: boolean | undefined;\n\n /**\n * Will display the picker inline without the need of a input field. This will also hide borders and shadows.\n * Default: false\n " +} diff --git a/src/_tests/fixtures/59713/_response.json b/src/_tests/fixtures/59713/_response.json new file mode 100644 index 00000000..c65b12a2 --- /dev/null +++ b/src/_tests/fixtures/59713/_response.json @@ -0,0 +1,457 @@ +{ + "data": { + "repository": { + "id": "MDEwOlJlcG9zaXRvcnk2MDkzMzE2", + "pullRequest": { + "id": "PR_kwDOAFz6BM41rj-f", + "title": "[eonasdan-bootstrap-datetimepicker] Deconstify enums", + "createdAt": "2022-04-05T19:03:13Z", + "author": { + "login": "jablko", + "__typename": "User" + }, + "authorAssociation": "CONTRIBUTOR", + "baseRef": { + "name": "master", + "__typename": "Ref" + }, + "labels": { + "nodes": [ + { + "name": "Unmerged", + "__typename": "Label" + }, + { + "name": "Self Merge", + "__typename": "Label" + }, + { + "name": "Owner Approved", + "__typename": "Label" + } + ], + "__typename": "LabelConnection" + }, + "isDraft": false, + "mergeable": "MERGEABLE", + "number": 59713, + "state": "OPEN", + "headRefOid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "changedFiles": 3, + "additions": 9, + "deletions": 12, + "commitIds": { + "nodes": [ + { + "commit": { + "oid": "b2559df8a6f7bf6cbdd7282de6366e8734f6cdbf", + "parents": { + "nodes": [ + { + "oid": "7d761ba60b12dda9d54420ff9351b104a49c1355", + "__typename": "Commit" + } + ], + "__typename": "CommitConnection" + }, + "__typename": "Commit" + }, + "__typename": "PullRequestCommit" + }, + { + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "parents": { + "nodes": [ + { + "oid": "b2559df8a6f7bf6cbdd7282de6366e8734f6cdbf", + "__typename": "Commit" + } + ], + "__typename": "CommitConnection" + }, + "__typename": "Commit" + }, + "__typename": "PullRequestCommit" + } + ], + "__typename": "PullRequestCommitConnection" + }, + "timelineItems": { + "nodes": [ + { + "createdAt": "2022-04-05T19:35:59Z", + "__typename": "ReadyForReviewEvent" + }, + { + "actor": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2022-04-05T19:36:32Z", + "projectColumnName": "Waiting for Code Reviews", + "__typename": "MovedColumnsInProjectEvent" + }, + { + "actor": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2022-04-07T17:55:09Z", + "projectColumnName": "Waiting for Author to Merge", + "__typename": "MovedColumnsInProjectEvent" + } + ], + "__typename": "PullRequestTimelineItemsConnection" + }, + "reviews": { + "nodes": [ + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "createdAt": "2022-04-06T19:03:34Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2022-04-06T19:03:35Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713#pullrequestreview-933983168", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "jablko", + "__typename": "User" + }, + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "jablko", + "__typename": "User" + }, + "createdAt": "2022-04-07T14:32:54Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2022-04-07T14:32:55Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713#pullrequestreview-935173960", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "createdAt": "2022-04-07T17:48:38Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2022-04-07T17:48:38Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713#pullrequestreview-935462062", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "createdAt": "2022-04-07T17:53:21Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2022-04-07T17:53:21Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713#pullrequestreview-935467400", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "comments": { + "nodes": [], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "APPROVED", + "submittedAt": "2022-04-07T17:54:31Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713#pullrequestreview-935468699", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "commit": { + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "ToastHawaii", + "__typename": "User" + }, + "createdAt": "2022-04-07T17:56:28Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2022-04-07T17:56:28Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713#pullrequestreview-935470946", + "__typename": "PullRequestReview" + } + ], + "__typename": "PullRequestReviewConnection" + }, + "commits": { + "totalCount": 2, + "nodes": [ + { + "commit": { + "checkSuites": { + "nodes": [ + { + "databaseId": 5944248407, + "app": { + "name": "GitHub Actions", + "__typename": "App" + }, + "conclusion": "SUCCESS", + "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/ee6b96f0d20c772b6f04d7d827d4ed3594fb1977/checks?check_suite_id=5944248407", + "status": "COMPLETED", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/ee6b96f0d20c772b6f04d7d827d4ed3594fb1977/checks?check_suite_id=5944248407", + "checkRuns": { + "nodes": [ + { + "title": null, + "__typename": "CheckRun" + } + ], + "__typename": "CheckRunConnection" + }, + "__typename": "CheckSuite" + }, + { + "databaseId": 5944249940, + "app": { + "name": "Azure Pipelines", + "__typename": "App" + }, + "conclusion": "SUCCESS", + "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/ee6b96f0d20c772b6f04d7d827d4ed3594fb1977/checks?check_suite_id=5944249940", + "status": "COMPLETED", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/ee6b96f0d20c772b6f04d7d827d4ed3594fb1977/checks?check_suite_id=5944249940", + "checkRuns": { + "nodes": [ + { + "title": "Build #20220405.30 succeeded", + "__typename": "CheckRun" + } + ], + "__typename": "CheckRunConnection" + }, + "__typename": "CheckSuite" + } + ], + "__typename": "CheckSuiteConnection" + }, + "status": null, + "authoredDate": "2022-04-05T19:22:47Z", + "committedDate": "2022-04-05T19:22:47Z", + "pushedDate": "2022-04-05T19:23:43Z", + "oid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "__typename": "Commit" + }, + "__typename": "PullRequestCommit" + } + ], + "__typename": "PullRequestCommitConnection" + }, + "comments": { + "totalCount": 4, + "nodes": [ + { + "id": "IC_kwDOAFz6BM5A7HyT", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "databaseId": 1089240211, + "body": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `eonasdan-bootstrap-datetimepicker` β€” [on npm](https://www.npmjs.com/package/eonasdan-bootstrap-datetimepicker), [on unpkg](https://unpkg.com/browse/eonasdan-bootstrap-datetimepicker@latest/)\n - owner-approval: @ToastHawaii\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=59713&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## Inactive\n\nThis PR has been inactive for 17 days β€” please merge or say something if there's a problem, otherwise it will be closed!\n\n----------------------\n... diagnostics scrubbed ...\n", + "createdAt": "2022-04-05T19:36:32Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "IC_kwDOAFz6BM5A7Hyq", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "databaseId": 1089240234, + "body": "πŸ”” @ToastHawaii β€” please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59713/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", + "createdAt": "2022-04-05T19:36:33Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "IC_kwDOAFz6BM5BFxQs", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "databaseId": 1092031532, + "body": "@jablko: Everything looks good here. I am ready to merge this PR (at ee6b96f) 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(@ToastHawaii: you can do this too.)\n", + "createdAt": "2022-04-07T17:55:09Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "IC_kwDOAFz6BM5BnuVN", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "databaseId": 1100932429, + "body": "Re-ping @jablko / :\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on May 7th (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)\n", + "createdAt": "2022-04-17T18:57:23Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + } + ], + "__typename": "IssueCommentConnection" + }, + "files": { + "totalCount": 3, + "nodes": [ + { + "path": "types/eonasdan-bootstrap-datetimepicker/eonasdan-bootstrap-datetimepicker-tests.ts", + "additions": 1, + "deletions": 2, + "__typename": "PullRequestChangedFile" + }, + { + "path": "types/eonasdan-bootstrap-datetimepicker/index.d.ts", + "additions": 8, + "deletions": 9, + "__typename": "PullRequestChangedFile" + }, + { + "path": "types/eonasdan-bootstrap-datetimepicker/tslint.json", + "additions": 0, + "deletions": 1, + "__typename": "PullRequestChangedFile" + } + ], + "pageInfo": { + "hasNextPage": false, + "endCursor": "Mw", + "__typename": "PageInfo" + }, + "__typename": "PullRequestChangedFileConnection" + }, + "projectCards": { + "nodes": [ + { + "id": "PRC_lALOAFz6BM4AORWwzgTH7Us", + "project": { + "id": "MDc6UHJvamVjdDM3NDExMDQ=", + "number": 5, + "name": "New Pull Request Status Board", + "__typename": "Project" + }, + "column": { + "id": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIz", + "name": "Waiting for Author to Merge", + "__typename": "ProjectColumn" + }, + "__typename": "ProjectCard" + } + ], + "__typename": "ProjectCardConnection" + }, + "__typename": "PullRequest" + }, + "__typename": "Repository" + } + }, + "loading": false, + "networkStatus": 7 +} diff --git a/src/_tests/fixtures/59713/derived.json b/src/_tests/fixtures/59713/derived.json new file mode 100644 index 00000000..8cfdc9ab --- /dev/null +++ b/src/_tests/fixtures/59713/derived.json @@ -0,0 +1,52 @@ +{ + "type": "info", + "now": "2022-04-25T17:33:26.473Z", + "pr_number": 59713, + "author": "jablko", + "headCommitOid": "ee6b96f0d20c772b6f04d7d827d4ed3594fb1977", + "mergeBaseOid": "7d761ba60b12dda9d54420ff9351b104a49c1355", + "lastPushDate": "2022-04-05T19:23:43.000Z", + "lastActivityDate": "2022-04-07T17:56:28.000Z", + "mergeOfferDate": "2022-04-07T17:55:09.000Z", + "hasMergeConflict": false, + "isFirstContribution": false, + "tooManyFiles": false, + "hugeChange": false, + "popularityLevel": "Well-liked by everyone", + "pkgInfo": [ + { + "name": "eonasdan-bootstrap-datetimepicker", + "kind": "edit", + "files": [ + { + "path": "types/eonasdan-bootstrap-datetimepicker/eonasdan-bootstrap-datetimepicker-tests.ts", + "kind": "test" + }, + { + "path": "types/eonasdan-bootstrap-datetimepicker/index.d.ts", + "kind": "definition" + }, + { + "path": "types/eonasdan-bootstrap-datetimepicker/tslint.json", + "kind": "package-meta-ok" + } + ], + "owners": [ + "ToastHawaii" + ], + "addedOwners": [], + "deletedOwners": [], + "popularityLevel": "Well-liked by everyone" + } + ], + "reviews": [ + { + "type": "approved", + "reviewer": "ToastHawaii", + "date": "2022-04-07T17:54:31.000Z", + "isMaintainer": false + } + ], + "mainBotCommentID": 1089240211, + "ciResult": "pass" +} diff --git a/src/_tests/fixtures/59713/mutations.json b/src/_tests/fixtures/59713/mutations.json new file mode 100644 index 00000000..4122dc3d --- /dev/null +++ b/src/_tests/fixtures/59713/mutations.json @@ -0,0 +1,20 @@ +[ + { + "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "id": "IC_kwDOAFz6BM5A7HyT", + "body": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `eonasdan-bootstrap-datetimepicker` β€” [on npm](https://www.npmjs.com/package/eonasdan-bootstrap-datetimepicker), [on unpkg](https://unpkg.com/browse/eonasdan-bootstrap-datetimepicker@latest/)\n - owner-approval: @ToastHawaii\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=59713&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## Inactive\n\nThis PR has been inactive for 17 days β€” please merge or say something if there's a problem, otherwise it will be closed!\n\n----------------------\n... diagnostics scrubbed ...\n" + } + } + }, + { + "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "id": "IC_kwDOAFz6BM5BnuVN", + "body": "Re-ping @jablko / @ToastHawaii:\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on May 7th (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)\n" + } + } + } +] diff --git a/src/_tests/fixtures/59713/result.json b/src/_tests/fixtures/59713/result.json new file mode 100644 index 00000000..d08fbe2c --- /dev/null +++ b/src/_tests/fixtures/59713/result.json @@ -0,0 +1,25 @@ +{ + "projectColumn": "Waiting for Author to Merge", + "labels": [ + "Owner Approved", + "Unmerged", + "Self Merge" + ], + "responseComments": [ + { + "tag": "welcome", + "status": "@jablko Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 1 package in this PR\n\n* `eonasdan-bootstrap-datetimepicker` β€” [on npm](https://www.npmjs.com/package/eonasdan-bootstrap-datetimepicker), [on unpkg](https://unpkg.com/browse/eonasdan-bootstrap-datetimepicker@latest/)\n - owner-approval: @ToastHawaii\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=59713&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## Inactive\n\nThis PR has been inactive for 17 days β€” please merge or say something if there's a problem, otherwise it will be closed!\n\n----------------------\n... diagnostics scrubbed ..." + }, + { + "tag": "merge-offer", + "status": "@jablko: Everything looks good here. I am ready to merge this PR (at ee6b96f) 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(@ToastHawaii: you can do this too.)" + }, + { + "tag": "Unmerged:nearly:2022-04-07", + "status": "Re-ping @jablko / @ToastHawaii:\n\nThis PR has been ready to merge for over a week, and I haven't seen any requests to merge it. I will close it on May 7th (in three weeks) if this doesn't happen.\n\n(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't be merged or if it needs more time, please close it or turn it into a draft.)" + } + ], + "shouldClose": false, + "shouldMerge": false, + "shouldUpdateLabels": true +} diff --git a/src/comments.ts b/src/comments.ts index b75a5ee0..a1771118 100644 --- a/src/comments.ts +++ b/src/comments.ts @@ -150,42 +150,39 @@ export const StalenessExplanations: { [k: string]: string } = { }; // Comments to post for the staleness timeline (the tag is computed in `makeStaleness`) -export const StalenessComment = (author: string, ownersToPing: string[], expires: string) => { - const ownerPing = ownersToPing.map(o => "@"+o).join(", "); - return { - // --Unmerged-- - "Unmerged:nearly": txt` - |Re-ping @${author} / ${ownerPing}: - | - |This PR has been ready to merge for over a week, and I haven't seen any requests to - merge it. I will close it on ${expires} (in three weeks) if this doesn't happen. - | - |(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't - be merged or if it needs more time, please close it or turn it into a draft.)`, - "Unmerged:done": txt` - |After a month, no one has requested merging the PR 😞. I'm going to assume that the - change is not wanted after all, and will therefore close it.`, - // --Abandoned-- - "Abandoned:nearly": txt` - |@${author} I haven't seen any activity on this PR in more than three weeks, and it - still has problems that prevent it from being merged. The PR will be closed on - ${expires} (in a week) if the issues aren't addressed.`, - "Abandoned:done": txt` - |@${author} To keep things tidy, we have to close PRs that aren't mergeable and don't - have activity in the last month. No worries, though β€” please open a new PR if you'd - like to continue with this change. Thank you!`, - // --Unreviewed-- - "Unreviewed:nearly": txt` - |Re-ping ${ownerPing}: - | - |This PR has been out for over a week, yet I haven't seen any reviews. - | - |Could someone please give it some attention? Thanks!`, - "Unreviewed:done": txt` - |It has been more than two weeks and this PR still has no reviews. - | - |I'll bump it to the DT maintainer queue. Thank you for your patience, @${author}. - | - |(Ping ${ownerPing}.)` - } as { [k: string]: string }; -}; +export const StalenessComment = (author: string, ownersToPing: string, expires: string): { [k: string]: string } => ({ + // --Unmerged-- + "Unmerged:nearly": txt` + |Re-ping @${author} / ${ownersToPing}: + | + |This PR has been ready to merge for over a week, and I haven't seen any requests to + merge it. I will close it on ${expires} (in three weeks) if this doesn't happen. + | + |(If there's no reason to avoid merging it, please do so. Otherwise, if it shouldn't + be merged or if it needs more time, please close it or turn it into a draft.)`, + "Unmerged:done": txt` + |After a month, no one has requested merging the PR 😞. I'm going to assume that the + change is not wanted after all, and will therefore close it.`, + // --Abandoned-- + "Abandoned:nearly": txt` + |@${author} I haven't seen any activity on this PR in more than three weeks, and it + still has problems that prevent it from being merged. The PR will be closed on + ${expires} (in a week) if the issues aren't addressed.`, + "Abandoned:done": txt` + |@${author} To keep things tidy, we have to close PRs that aren't mergeable and don't + have activity in the last month. No worries, though β€” please open a new PR if you'd + like to continue with this change. Thank you!`, + // --Unreviewed-- + "Unreviewed:nearly": txt` + |Re-ping ${ownersToPing}: + | + |This PR has been out for over a week, yet I haven't seen any reviews. + | + |Could someone please give it some attention? Thanks!`, + "Unreviewed:done": txt` + |It has been more than two weeks and this PR still has no reviews. + | + |I'll bump it to the DT maintainer queue. Thank you for your patience, @${author}. + | + |(Ping ${ownersToPing}.)` +}); diff --git a/src/compute-pr-actions.ts b/src/compute-pr-actions.ts index 7f8fb5bc..f2094fd2 100644 --- a/src/compute-pr-actions.ts +++ b/src/compute-pr-actions.ts @@ -128,7 +128,7 @@ function extendPrInfo(info: PrInfo): ExtendedPrInfo { const needsAuthorAction = failedCI || info.hasMergeConflict || hasChangereqs; // => could be dropped from the extended info and replaced with: info.staleness?.kind === "Abandoned" const staleness = getStaleness(); - const reviewColumn = getReviewColumn(); + const reviewColumn = getReviewColumn(approverKind); return { ...info, orig: info, authorIsOwner, editsInfra, possiblyEditsInfra, checkConfig, @@ -142,15 +142,15 @@ function extendPrInfo(info: PrInfo): ExtendedPrInfo { // Staleness timeline configurations (except for texts that are all in `comments.ts`) function getStaleness() { - const ownersToPing = otherOwners.length === 0 ? ["Β«anyone?Β»"] - : otherOwners.filter(o => !approvedReviews.some(r => o === r.reviewer)); + const ownersToPing = otherOwners.map(o => "@"+o).join(", ") || "Β«anyone?Β»"; const mkStaleness = makeStaleness(info.now, info.author, ownersToPing); if (canBeSelfMerged) return info.mergeOfferDate && mkStaleness( // no merge offer yet: avoid the unreviewed timeline "Unmerged", info.mergeOfferDate, 4, 9, 30, "*REMOVE*"); if (needsAuthorAction) return mkStaleness( "Abandoned", info.lastActivityDate, 6, 22, 30, "*REMOVE*"); - if (!approved) return mkStaleness( - "Unreviewed", info.lastPushDate, 6, 10, 17, "Needs Maintainer Action"); + // Don't re-ping about PRs that have reviews and are already in the maintainer queue. + if (approvedBy.length === 0 || approverKind !== "maintainer") return mkStaleness( + "Unreviewed", info.lastPushDate, 6, 10, 17, getReviewColumn("maintainer")); return undefined; } @@ -192,7 +192,7 @@ function extendPrInfo(info: PrInfo): ExtendedPrInfo { && (approverKind === "other" || approvedBy.includes("maintainer") || approvedBy.includes(approverKind)); } - function getReviewColumn(): ColumnName { + function getReviewColumn(approverKind: ApproverKind): ColumnName { // Get the project column for review with least access // E.g. let people review, but fall back to the DT maintainers based on the access rights above return approverKind !== "maintainer" ? "Waiting for Code Reviews" @@ -339,7 +339,7 @@ export function process(prInfo: BotResult, // Has it: got no DT tests but is approved by DT modules and basically blocked by the DT maintainers - and it has been over 3 days? // Send a message reminding them that they can un-block themselves by adding tests. if (!info.hasTests && !info.hasMultiplePackages && info.approvedBy.includes("owner") && !info.editsInfra - && info.approverKind === "maintainer" && (info.staleness?.days ?? 0) > 3) { + && info.approverKind === "maintainer" && dayjs(info.now).diff(info.lastPushDate, "days") > 3) { post(Comments.RemindPeopleTheyCanUnblockPR(info.author, info.approvedReviews.map(r => r.reviewer), info.ciResult === "pass", headCommitAbbrOid)); } @@ -350,7 +350,7 @@ export function process(prInfo: BotResult, return actions; } -function makeStaleness(now: Date, author: string, ownersToPing: string[]) { // curried for convenience +function makeStaleness(now: Date, author: string, ownersToPing: string) { // curried for convenience return (kind: StalenessKind, since: Date, freshDays: number, attnDays: number, nearDays: number, doneColumn: ColumnName) => {