From 3963a632b14562be3f417bc7a426f59aa88b686b Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Thu, 12 Nov 2020 12:01:58 -0700 Subject: [PATCH 01/19] Show differences from the expected form --- src/pr-info.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pr-info.ts b/src/pr-info.ts index 8b0e77fe4..181ab5fa7 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -412,11 +412,18 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par const newDiff = diffFromExpected(contents); if (typeof newDiff === "string") return newDiff; if (newDiff.length === 0) return undefined; - if (!oldText) return `not ${theExpectedForm}`; + if (!oldText) return `not ${theExpectedForm} +\`\`\`JSON +${JSON.stringify(newDiff)} +\`\`\``; const oldDiff = diffFromExpected(oldText); if (typeof oldDiff === "string") return oldDiff; - if (jsonDiff.compare(oldDiff, newDiff).every(({ op }) => op === "remove")) return undefined; - return `not ${theExpectedForm} and not moving towards it`; + const notRemove = jsonDiff.compare(oldDiff, newDiff).filter(({ op }) => op !== "remove"); + if (notRemove.length === 0) return undefined; + return `not ${theExpectedForm} and not moving towards it +\`\`\`JSON +${JSON.stringify(notRemove.map(({ path }) => newDiff[Number(path.slice(1))]))} +\`\`\``; }; } From 422f1c2a8c6352b93b944e74c6776cdbd758063b Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Sat, 16 Jan 2021 08:19:59 -0700 Subject: [PATCH 02/19] Update snapshots --- src/_tests/fixtures/49841/derived.json | 2 +- src/_tests/fixtures/49841/mutations.json | 2 +- src/_tests/fixtures/49841/result.json | 2 +- src/_tests/fixtures/50429/derived.json | 2 +- src/_tests/fixtures/50429/mutations.json | 2 +- src/_tests/fixtures/50429/result.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index 128dd7dec..410605c34 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -26,7 +26,7 @@ { "path": "types/react-native-sha1/tsconfig.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)" + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```JSON\n[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]\n```" }, { "path": "types/react-native-sha1/tslint.json", diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index 3be306eb7..3f55b503b 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -37,7 +37,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", - "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\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## 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" + "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```JSON\n[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]\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## 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" } } }, diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index c426d5844..b9724d860 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\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## 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 ..." + "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```JSON\n[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]\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## 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", diff --git a/src/_tests/fixtures/50429/derived.json b/src/_tests/fixtures/50429/derived.json index c7090faf6..d07b2c5bd 100644 --- a/src/_tests/fixtures/50429/derived.json +++ b/src/_tests/fixtures/50429/derived.json @@ -42,7 +42,7 @@ { "path": "types/omise-js/tslint.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)" + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```JSON\n[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]\n```" } ], "owners": [], diff --git a/src/_tests/fixtures/50429/mutations.json b/src/_tests/fixtures/50429/mutations.json index 8ffa7ad6d..01739bacd 100644 --- a/src/_tests/fixtures/50429/mutations.json +++ b/src/_tests/fixtures/50429/mutations.json @@ -24,7 +24,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDc1NTI4NDk3Mw==", - "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\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## 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" + "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```JSON\n[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]\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## 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" } } }, diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json index c2c19a9e0..c0322717a 100644 --- a/src/_tests/fixtures/50429/result.json +++ b/src/_tests/fixtures/50429/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\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## 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 ..." + "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```JSON\n[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]\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## 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", From cca75d6e615bb223be4ed81046cb93714ee8749b Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Fri, 13 Nov 2020 11:10:27 -0700 Subject: [PATCH 03/19] Apply suggestions from code review --- src/pr-info.ts | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/pr-info.ts b/src/pr-info.ts index 181ab5fa7..a5f9dd997 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -412,18 +412,12 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par const newDiff = diffFromExpected(contents); if (typeof newDiff === "string") return newDiff; if (newDiff.length === 0) return undefined; - if (!oldText) return `not ${theExpectedForm} -\`\`\`JSON -${JSON.stringify(newDiff)} -\`\`\``; + if (!oldText) return `not ${theExpectedForm} \`${JSON.stringify(newDiff)}\``; const oldDiff = diffFromExpected(oldText); if (typeof oldDiff === "string") return oldDiff; const notRemove = jsonDiff.compare(oldDiff, newDiff).filter(({ op }) => op !== "remove"); if (notRemove.length === 0) return undefined; - return `not ${theExpectedForm} and not moving towards it -\`\`\`JSON -${JSON.stringify(notRemove.map(({ path }) => newDiff[Number(path.slice(1))]))} -\`\`\``; + return `not ${theExpectedForm} and not moving towards it \`${JSON.stringify(notRemove.map(({ path }) => newDiff[Number(path.slice(1))]))}\``; }; } From 3040156ed8d9462a4751dc6c30517b7116dcc1f8 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Sat, 16 Jan 2021 08:21:03 -0700 Subject: [PATCH 04/19] Update snapshots --- src/_tests/fixtures/49841/derived.json | 2 +- src/_tests/fixtures/49841/mutations.json | 2 +- src/_tests/fixtures/49841/result.json | 2 +- src/_tests/fixtures/50429/derived.json | 2 +- src/_tests/fixtures/50429/mutations.json | 2 +- src/_tests/fixtures/50429/result.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index 410605c34..d4699d972 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -26,7 +26,7 @@ { "path": "types/react-native-sha1/tsconfig.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```JSON\n[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]\n```" + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) `[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]`" }, { "path": "types/react-native-sha1/tslint.json", diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index 3f55b503b..c3f6668f3 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -37,7 +37,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", - "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```JSON\n[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]\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## 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" + "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) `[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]`\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## 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" } } }, diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index b9724d860..0003ed697 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```JSON\n[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]\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## 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 ..." + "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) `[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]`\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## 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", diff --git a/src/_tests/fixtures/50429/derived.json b/src/_tests/fixtures/50429/derived.json index d07b2c5bd..b408eedd9 100644 --- a/src/_tests/fixtures/50429/derived.json +++ b/src/_tests/fixtures/50429/derived.json @@ -42,7 +42,7 @@ { "path": "types/omise-js/tslint.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```JSON\n[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]\n```" + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) `[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]`" } ], "owners": [], diff --git a/src/_tests/fixtures/50429/mutations.json b/src/_tests/fixtures/50429/mutations.json index 01739bacd..91d4e63b6 100644 --- a/src/_tests/fixtures/50429/mutations.json +++ b/src/_tests/fixtures/50429/mutations.json @@ -24,7 +24,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDc1NTI4NDk3Mw==", - "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```JSON\n[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]\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## 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" + "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) `[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]`\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## 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" } } }, diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json index c0322717a..3f72fef9c 100644 --- a/src/_tests/fixtures/50429/result.json +++ b/src/_tests/fixtures/50429/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```JSON\n[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]\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## 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 ..." + "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) `[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]`\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## 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", From 0aa7fa304cb98a4a4676d40f0f551267d1f2a7a9 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Thu, 19 Nov 2020 14:41:56 -0700 Subject: [PATCH 05/19] Suggest the expected form --- package.json | 1 + src/comments.ts | 5 +++ src/compute-pr-actions.ts | 14 ++++++- src/execute-pr-actions.ts | 27 ++++++++++++- src/pr-info.ts | 82 ++++++++++++++++++++++++++++----------- 5 files changed, 104 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 722c2eaff..2645e1148 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "fs-extra": "^9.0.1", "graphql": "^14.5.8", "node-fetch": "^2.6.1", + "prettier": "^2.2.0", "prettyjson": "^1.2.1", "yargs": "^16.2.0" }, diff --git a/src/comments.ts b/src/comments.ts index 9c50bf45a..5fbf986a1 100644 --- a/src/comments.ts +++ b/src/comments.ts @@ -122,3 +122,8 @@ I'll bump it to the DT maintainer queue. Thank you for your patience, @${author} (Ping ${owners}.)`} as { [k: string]: string }; }; + +export const suggestions = (user: string) => ({ + tag: "suggestions", + status: `@${user} I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!`, +}); diff --git a/src/compute-pr-actions.ts b/src/compute-pr-actions.ts index eba231424..58839e20a 100644 --- a/src/compute-pr-actions.ts +++ b/src/compute-pr-actions.ts @@ -1,7 +1,7 @@ import * as Comments from "./comments"; import * as urls from "./urls"; import { PrInfo, BotResult, FileInfo } from "./pr-info"; -import { ReviewInfo } from "./pr-info"; +import { ReviewInfo, Suggestion } from "./pr-info"; import { noNullish, flatten, unique, sameUser, min, sha256, abbrOid } from "./util/util"; import * as dayjs from "dayjs"; import * as advancedFormat from "dayjs/plugin/advancedFormat"; @@ -52,6 +52,7 @@ export interface Actions { targetColumn?: ColumnName; labels: LabelName[]; responseComments: Comments.Comment[]; + suggestions: { [path: string]: Suggestion }; shouldClose: boolean; shouldMerge: boolean; shouldUpdateLabels: boolean; @@ -64,6 +65,7 @@ function createDefaultActions(): Actions { targetColumn: "Other", labels: [], responseComments: [], + suggestions: {}, shouldClose: false, shouldMerge: false, shouldUpdateLabels: true, @@ -76,6 +78,7 @@ function createEmptyActions(): Actions { return { labels: [], responseComments: [], + suggestions: {}, shouldClose: false, shouldMerge: false, shouldUpdateLabels: false, @@ -291,6 +294,15 @@ export function process(prInfo: BotResult, // Update intro comment post({ tag: "welcome", status: createWelcomeComment(info, post) }); + // Propagate suggestions into actions + for (const pkg of info.pkgInfo) { + for (const file of pkg.files) { + if (file.suggestion) { + context.suggestions[file.path] = file.suggestion; + } + } + } + // Ping reviewers when needed const headCommitAbbrOid = abbrOid(info.headCommitOid); if (!(info.hasChangereqs || info.approvedBy.includes("owner") || info.approvedBy.includes("maintainer"))) { diff --git a/src/execute-pr-actions.ts b/src/execute-pr-actions.ts index 11f4fc12b..c35b143f3 100644 --- a/src/execute-pr-actions.ts +++ b/src/execute-pr-actions.ts @@ -5,7 +5,7 @@ import { Actions, LabelNames, LabelName } from "./compute-pr-actions"; import { createMutation, client } from "./graphql-client"; import { getProjectBoardColumns, getLabels } from "./util/cachedQueries"; import { noNullish, flatten } from "./util/util"; -import { tagsToDeleteIfNotPosted } from "./comments"; +import * as comments from "./comments"; import * as comment from "./util/comment"; // https://github.com/DefinitelyTyped/DefinitelyTyped/projects/5 @@ -18,6 +18,7 @@ export async function executePrActions(actions: Actions, pr: PR_repository_pullR ...await getMutationsForProjectChanges(actions, pr), ...getMutationsForComments(actions, pr.id, botComments), ...getMutationsForCommentRemovals(actions, botComments), + ...getMutationsForSuggestions(actions, pr), ...getMutationsForChangingPRState(actions, pr), ]); if (!dry) { @@ -96,11 +97,33 @@ function getMutationsForCommentRemovals(actions: Actions, botComments: ParsedCom // Remove stale CI 'your build is green' notifications if (tag.includes("ci-") && tag !== ciTagToKeep) return del(); // tags for comments that should be removed when not included in the actions - if (tagsToDeleteIfNotPosted.includes(tag) && !postedTags.includes(tag)) return del(); + if (comments.tagsToDeleteIfNotPosted.includes(tag) && !postedTags.includes(tag)) return del(); return null; }); } +function getMutationsForSuggestions(actions: Actions, pr: PR_repository_pullRequest) { + if (pr.reviews?.nodes?.find(review => review?.author?.login === "typescript-bot")) return []; + const mutations = Object.entries(actions.suggestions).map(([path, { startLine, line, suggestion }]) => + createMutation("addPullRequestReviewThread", { + pullRequestId: pr.id, + path, + startLine: startLine === line ? undefined : startLine, + line, + body: "```suggestion\n" + suggestion, + }) + ); + if (mutations.length === 0) return []; + return [ + ...mutations, + createMutation("submitPullRequestReview", { + pullRequestId: pr.id, + body: comment.make(comments.suggestions(pr.author!.login)), + event: "COMMENT", + }), + ]; +} + function getMutationsForChangingPRState(actions: Actions, pr: PR_repository_pullRequest) { return [ actions.shouldMerge diff --git a/src/pr-info.ts b/src/pr-info.ts index a5f9dd997..5c17308ba 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -16,6 +16,7 @@ import * as comment from "./util/comment"; import * as urls from "./urls"; import * as HeaderParser from "@definitelytyped/header-parser"; import * as jsonDiff from "fast-json-patch"; +import * as prettier from "prettier"; const CriticalPopularityThreshold = 5_000_000; const NormalPopularityThreshold = 200_000; @@ -55,9 +56,16 @@ type FileKind = "test" | "definition" | "markdown" | "package-meta" | "package-m export type FileInfo = { path: string, kind: FileKind, - suspect?: string // reason for a file being "package-meta" rather than "package-meta-ok" + suspect?: string, // reason for a file being "package-meta" rather than "package-meta-ok" + suggestion?: Suggestion, }; +export interface Suggestion { + readonly startLine: number; + readonly line: number; + readonly suggestion: string; +} + export type ReviewInfo = { type: string, reviewer: string, @@ -330,19 +338,19 @@ async function categorizeFile(path: string, contents: (oid?: string) => Promise< case "md": return [pkg, { path, kind: "markdown" }]; default: { const suspect = await configSuspicious(path, contents); - return [pkg, { path, kind: suspect ? "package-meta" : "package-meta-ok", suspect }]; + return [pkg, { path, kind: suspect ? "package-meta" : "package-meta-ok", ...suspect }]; } } } interface ConfigSuspicious { - (path: string, getContents: (oid?: string) => Promise): Promise; - [basename: string]: (text: string, oldText?: string) => string | undefined; + (path: string, getContents: (oid?: string) => Promise): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; + [basename: string]: (text: string, oldText?: string) => { suspect: string, suggestion?: Suggestion } | undefined; } const configSuspicious = (async (path, getContents) => { const basename = path.replace(/.*\//, ""); const checker = configSuspicious[basename]; - if (!checker) return `edited`; + if (!checker) return { suspect: `edited` }; const text = await getContents(); // Removing tslint.json, tsconfig.json, package.json and // OTHER_FILES.txt is checked by the CI. Specifics are in my commit @@ -397,27 +405,57 @@ configSuspicious["tsconfig.json"] = makeChecker( // to it, ignoring some keys. The ignored properties are in most cases checked // elsewhere (dtslint), and in some cases they are irrelevant. function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { parse: (text: string) => unknown } | { ignore: (data: any) => void }) { - const diffFromExpected = (text: string) => { - let data: any; + return (contents: string, oldText?: string) => { + const theExpectedForm = `[the expected form](${expectedFormUrl})`; + const diffFromExpected = (data: any) => { + if (options && "ignore" in options) options.ignore(data); + return jsonDiff.compare(expectedForm, data); + }; + let newData; if (options && "parse" in options) { - data = options.parse(text); + newData = options.parse(contents); } else { - try { data = JSON.parse(text); } catch (e) { return "couldn't parse json"; } + try { newData = JSON.parse(contents); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } } - if (options && "ignore" in options) options.ignore(data); - try { return jsonDiff.compare(expectedForm, data); } catch (e) { return "couldn't diff json"; } - }; - return (contents: string, oldText?: string) => { - const theExpectedForm = `[the expected form](${expectedFormUrl})`; - const newDiff = diffFromExpected(contents); - if (typeof newDiff === "string") return newDiff; + const suggestion = jsonDiff.deepClone(newData); + const newDiff = diffFromExpected(newData); if (newDiff.length === 0) return undefined; - if (!oldText) return `not ${theExpectedForm} \`${JSON.stringify(newDiff)}\``; - const oldDiff = diffFromExpected(oldText); - if (typeof oldDiff === "string") return oldDiff; - const notRemove = jsonDiff.compare(oldDiff, newDiff).filter(({ op }) => op !== "remove"); - if (notRemove.length === 0) return undefined; - return `not ${theExpectedForm} and not moving towards it \`${JSON.stringify(notRemove.map(({ path }) => newDiff[Number(path.slice(1))]))}\``; + const towardsIt = jsonDiff.deepClone(expectedForm); + if (oldText) { + let oldData; + if (options && "parse" in options) { + oldData = options.parse(oldText); + } else { + try { oldData = JSON.parse(oldText); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } + } + const oldDiff = diffFromExpected(oldData); + const notRemove = jsonDiff.compare(oldDiff, newDiff).filter(({ op }) => op !== "remove"); + if (notRemove.length === 0) return undefined; + jsonDiff.applyPatch(newDiff, notRemove.map(({ path }) => ({ op: "remove", path }))); + jsonDiff.applyPatch(towardsIt, newDiff.filter(({ op }: { op?: typeof newDiff[number]["op"] }) => op)); + } + jsonDiff.applyPatch(suggestion, jsonDiff.compare(newData, towardsIt)); + // Suggest the different lines to the author + const suggestionLines = ( + Object.keys(suggestion).length <= 1 + ? prettier.format(JSON.stringify(suggestion), { tabWidth: 4, filepath: ".json" }) + : JSON.stringify(suggestion, undefined, 4) + "\n" + ).split(/^/m); + const lines = contents.split(/^/m); + let i = 0; + while (suggestionLines[i]!.trim() === lines[i]!.trim()) i++; + let j = 1; + while (suggestionLines[suggestionLines.length - j]!.trim() === lines[lines.length - j]!.trim()) j++; + return { + suspect: oldText + ? `not ${theExpectedForm} and not moving towards it` + : `not ${theExpectedForm}`, + suggestion: { + startLine: i + 1, + line: lines.length - j + 1, + suggestion: suggestionLines.slice(i, 1 - j || undefined).join(""), + }, + }; }; } From a9430ed870fd6a95e619d27dd03c3f62863413ba Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Fri, 20 Nov 2020 14:21:09 -0700 Subject: [PATCH 06/19] Update snapshots --- src/_tests/fixtures/38979/result.json | 1 + src/_tests/fixtures/43136/result.json | 1 + src/_tests/fixtures/43144/result.json | 1 + src/_tests/fixtures/43151/result.json | 1 + src/_tests/fixtures/43160/result.json | 1 + src/_tests/fixtures/43175/result.json | 1 + src/_tests/fixtures/43235/result.json | 1 + src/_tests/fixtures/43314/result.json | 1 + .../43695-duplicate-comment/result.json | 1 + .../fixtures/43695-post-review/result.json | 1 + src/_tests/fixtures/43695/result.json | 1 + .../fixtures/43960-post-close/result.json | 1 + src/_tests/fixtures/43960/result.json | 1 + src/_tests/fixtures/44105/result.json | 1 + src/_tests/fixtures/44256/result.json | 1 + src/_tests/fixtures/44267/result.json | 1 + src/_tests/fixtures/44282/result.json | 1 + src/_tests/fixtures/44288/result.json | 1 + src/_tests/fixtures/44290/result.json | 1 + .../fixtures/44299-with-files/result.json | 1 + src/_tests/fixtures/44299/result.json | 1 + src/_tests/fixtures/44316/result.json | 1 + .../fixtures/44343-pending-travis/result.json | 1 + .../fixtures/44343-pre-travis/result.json | 1 + src/_tests/fixtures/44343/result.json | 1 + src/_tests/fixtures/44402/result.json | 1 + src/_tests/fixtures/44411/result.json | 1 + .../result.json | 1 + .../44424-2-after-travis-second/result.json | 1 + src/_tests/fixtures/44437/result.json | 1 + src/_tests/fixtures/44439/result.json | 1 + src/_tests/fixtures/44631/result.json | 1 + src/_tests/fixtures/44857/result.json | 1 + src/_tests/fixtures/44989-14days/result.json | 1 + src/_tests/fixtures/44989-32days/result.json | 1 + src/_tests/fixtures/44989-3days/result.json | 1 + src/_tests/fixtures/44989-7days/result.json | 1 + src/_tests/fixtures/45137/result.json | 1 + src/_tests/fixtures/45627/result.json | 1 + src/_tests/fixtures/45836/result.json | 1 + src/_tests/fixtures/45884/result.json | 1 + src/_tests/fixtures/45888/result.json | 1 + src/_tests/fixtures/45890/result.json | 1 + src/_tests/fixtures/45946/result.json | 1 + src/_tests/fixtures/45982/result.json | 1 + src/_tests/fixtures/45999/result.json | 1 + src/_tests/fixtures/46008/result.json | 1 + src/_tests/fixtures/46019/result.json | 1 + src/_tests/fixtures/46120/result.json | 1 + src/_tests/fixtures/46191/result.json | 1 + src/_tests/fixtures/46196/result.json | 1 + src/_tests/fixtures/46279/result.json | 1 + src/_tests/fixtures/46804/result.json | 1 + src/_tests/fixtures/46879/result.json | 1 + .../47017-blessed-and-one-owner/result.json | 1 + .../47017-blessed-and-two-owner/result.json | 1 + src/_tests/fixtures/47017-blessed/result.json | 1 + src/_tests/fixtures/47017/result.json | 1 + src/_tests/fixtures/48216/result.json | 1 + src/_tests/fixtures/48236/result.json | 1 + .../fixtures/48652-merge-offer/result.json | 1 + src/_tests/fixtures/48652-prereq/result.json | 1 + .../result.json | 1 + .../48652-retract-merge-offer/result.json | 1 + src/_tests/fixtures/48708/result.json | 1 + src/_tests/fixtures/48945/result.json | 1 + src/_tests/fixtures/49417/result.json | 1 + src/_tests/fixtures/49548/result.json | 1 + src/_tests/fixtures/49575/result.json | 1 + src/_tests/fixtures/49841/derived.json | 7 +++++- src/_tests/fixtures/49841/mutations.json | 24 ++++++++++++++++++- src/_tests/fixtures/49841/result.json | 9 ++++++- src/_tests/fixtures/50429/derived.json | 7 +++++- src/_tests/fixtures/50429/mutations.json | 24 ++++++++++++++++++- src/_tests/fixtures/50429/result.json | 9 ++++++- src/_tests/fixtures/50443/result.json | 1 + 76 files changed, 144 insertions(+), 6 deletions(-) diff --git a/src/_tests/fixtures/38979/result.json b/src/_tests/fixtures/38979/result.json index b5080e652..054936672 100644 --- a/src/_tests/fixtures/38979/result.json +++ b/src/_tests/fixtures/38979/result.json @@ -23,6 +23,7 @@ "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.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43136/result.json b/src/_tests/fixtures/43136/result.json index 41273c6fc..7b264a83f 100644 --- a/src/_tests/fixtures/43136/result.json +++ b/src/_tests/fixtures/43136/result.json @@ -17,6 +17,7 @@ "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?" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43144/result.json b/src/_tests/fixtures/43144/result.json index ba3d5303b..e29ff9fcf 100644 --- a/src/_tests/fixtures/43144/result.json +++ b/src/_tests/fixtures/43144/result.json @@ -14,6 +14,7 @@ "status": "@jeffreymeng Everything looks good here. Great job! I am ready to merge this PR (at f1f5c4b) on your behalf.\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.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43151/result.json b/src/_tests/fixtures/43151/result.json index 15118ca39..1f7faaa33 100644 --- a/src/_tests/fixtures/43151/result.json +++ b/src/_tests/fixtures/43151/result.json @@ -13,6 +13,7 @@ "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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43160/result.json b/src/_tests/fixtures/43160/result.json index e6a7a641e..d04d48c1d 100644 --- a/src/_tests/fixtures/43160/result.json +++ b/src/_tests/fixtures/43160/result.json @@ -19,6 +19,7 @@ "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).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43175/result.json b/src/_tests/fixtures/43175/result.json index 97905e9f0..c80ff6eef 100644 --- a/src/_tests/fixtures/43175/result.json +++ b/src/_tests/fixtures/43175/result.json @@ -22,6 +22,7 @@ "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?" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43235/result.json b/src/_tests/fixtures/43235/result.json index d95c720fa..ccd642d37 100644 --- a/src/_tests/fixtures/43235/result.json +++ b/src/_tests/fixtures/43235/result.json @@ -11,6 +11,7 @@ "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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43314/result.json b/src/_tests/fixtures/43314/result.json index a7fd4d28b..0e5f92810 100644 --- a/src/_tests/fixtures/43314/result.json +++ b/src/_tests/fixtures/43314/result.json @@ -13,6 +13,7 @@ "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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695-duplicate-comment/result.json b/src/_tests/fixtures/43695-duplicate-comment/result.json index 374edbf1a..7ed0281f5 100644 --- a/src/_tests/fixtures/43695-duplicate-comment/result.json +++ b/src/_tests/fixtures/43695-duplicate-comment/result.json @@ -22,6 +22,7 @@ "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?».)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695-post-review/result.json b/src/_tests/fixtures/43695-post-review/result.json index 51109cabf..063f0053d 100644 --- a/src/_tests/fixtures/43695-post-review/result.json +++ b/src/_tests/fixtures/43695-post-review/result.json @@ -14,6 +14,7 @@ "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!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695/result.json b/src/_tests/fixtures/43695/result.json index 8ee3dae2c..6551e8b8d 100644 --- a/src/_tests/fixtures/43695/result.json +++ b/src/_tests/fixtures/43695/result.json @@ -14,6 +14,7 @@ "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!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43960-post-close/result.json b/src/_tests/fixtures/43960-post-close/result.json index 3a62818e6..97be59d91 100644 --- a/src/_tests/fixtures/43960-post-close/result.json +++ b/src/_tests/fixtures/43960-post-close/result.json @@ -1,6 +1,7 @@ { "labels": [], "responseComments": [], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/43960/result.json b/src/_tests/fixtures/43960/result.json index 0bac2a8d8..199590dc0 100644 --- a/src/_tests/fixtures/43960/result.json +++ b/src/_tests/fixtures/43960/result.json @@ -14,6 +14,7 @@ "status": "@aaltepet 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!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44105/result.json b/src/_tests/fixtures/44105/result.json index 3a62818e6..97be59d91 100644 --- a/src/_tests/fixtures/44105/result.json +++ b/src/_tests/fixtures/44105/result.json @@ -1,6 +1,7 @@ { "labels": [], "responseComments": [], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44256/result.json b/src/_tests/fixtures/44256/result.json index 3a62818e6..97be59d91 100644 --- a/src/_tests/fixtures/44256/result.json +++ b/src/_tests/fixtures/44256/result.json @@ -1,6 +1,7 @@ { "labels": [], "responseComments": [], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44267/result.json b/src/_tests/fixtures/44267/result.json index d97c5d4aa..2a5e69d6e 100644 --- a/src/_tests/fixtures/44267/result.json +++ b/src/_tests/fixtures/44267/result.json @@ -14,6 +14,7 @@ "status": "@ErikMartensson 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `intercom-client` [on npm](https://www.npmjs.com/package/intercom-client), [on unpkg](https://unpkg.com/browse/intercom-client@latest/)\n - owner-approval: @malithrw\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\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 ..." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44282/result.json b/src/_tests/fixtures/44282/result.json index 7df903081..5db6e428f 100644 --- a/src/_tests/fixtures/44282/result.json +++ b/src/_tests/fixtures/44282/result.json @@ -14,6 +14,7 @@ "status": "🔔 @fishcharlie — 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/44282/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44288/result.json b/src/_tests/fixtures/44288/result.json index ff4bc27fd..13dabfb6a 100644 --- a/src/_tests/fixtures/44288/result.json +++ b/src/_tests/fixtures/44288/result.json @@ -11,6 +11,7 @@ "status": "🔔 @gosticks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44288/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44290/result.json b/src/_tests/fixtures/44290/result.json index c7c95575c..b2020ef15 100644 --- a/src/_tests/fixtures/44290/result.json +++ b/src/_tests/fixtures/44290/result.json @@ -1,6 +1,7 @@ { "labels": [], "responseComments": [], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44299-with-files/result.json b/src/_tests/fixtures/44299-with-files/result.json index c07fdb0bf..abbdaecc3 100644 --- a/src/_tests/fixtures/44299-with-files/result.json +++ b/src/_tests/fixtures/44299-with-files/result.json @@ -13,6 +13,7 @@ "status": "🔔 @geopic — 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/44299/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44299/result.json b/src/_tests/fixtures/44299/result.json index c07fdb0bf..abbdaecc3 100644 --- a/src/_tests/fixtures/44299/result.json +++ b/src/_tests/fixtures/44299/result.json @@ -13,6 +13,7 @@ "status": "🔔 @geopic — 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/44299/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44316/result.json b/src/_tests/fixtures/44316/result.json index 55e2ae95b..b018874dd 100644 --- a/src/_tests/fixtures/44316/result.json +++ b/src/_tests/fixtures/44316/result.json @@ -14,6 +14,7 @@ "status": "🔔 @mattleff — 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/44316/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343-pending-travis/result.json b/src/_tests/fixtures/44343-pending-travis/result.json index 909ba1ecb..04fd75018 100644 --- a/src/_tests/fixtures/44343-pending-travis/result.json +++ b/src/_tests/fixtures/44343-pending-travis/result.json @@ -11,6 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343-pre-travis/result.json b/src/_tests/fixtures/44343-pre-travis/result.json index 909ba1ecb..04fd75018 100644 --- a/src/_tests/fixtures/44343-pre-travis/result.json +++ b/src/_tests/fixtures/44343-pre-travis/result.json @@ -11,6 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343/result.json b/src/_tests/fixtures/44343/result.json index 909ba1ecb..04fd75018 100644 --- a/src/_tests/fixtures/44343/result.json +++ b/src/_tests/fixtures/44343/result.json @@ -11,6 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44402/result.json b/src/_tests/fixtures/44402/result.json index cc4e244a3..bef1a709a 100644 --- a/src/_tests/fixtures/44402/result.json +++ b/src/_tests/fixtures/44402/result.json @@ -16,6 +16,7 @@ "status": "@sandersn Everything looks good here. Great job! I am ready to merge this PR (at 5dfb994) on your behalf.\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" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44411/result.json b/src/_tests/fixtures/44411/result.json index e5e343d02..d6b1839b1 100644 --- a/src/_tests/fixtures/44411/result.json +++ b/src/_tests/fixtures/44411/result.json @@ -13,6 +13,7 @@ "status": "🔔 @dawnmist @erbridge — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44411/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json index bbf12029d..991dbb166 100644 --- a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json +++ b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json @@ -13,6 +13,7 @@ "status": "🔔 @chrisbarker @rdepena @whyn07m3 @licui3936 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44424/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44424-2-after-travis-second/result.json b/src/_tests/fixtures/44424-2-after-travis-second/result.json index 4c26fc90e..e14f9b0fe 100644 --- a/src/_tests/fixtures/44424-2-after-travis-second/result.json +++ b/src/_tests/fixtures/44424-2-after-travis-second/result.json @@ -13,6 +13,7 @@ "status": "🔔 @chrisbarker @rdepena @whyn07m3 @licui3936 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44424/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44437/result.json b/src/_tests/fixtures/44437/result.json index b8894ffa7..9beeecaa2 100644 --- a/src/_tests/fixtures/44437/result.json +++ b/src/_tests/fixtures/44437/result.json @@ -16,6 +16,7 @@ "status": "@johnnyreilly Everything looks good here. Great job! I am ready to merge this PR (at eb92456) on your behalf.\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(@Berkays, @unindented, @kamontat, @theweirdone, @whoaa512: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44439/result.json b/src/_tests/fixtures/44439/result.json index 7256583a5..29944ff81 100644 --- a/src/_tests/fixtures/44439/result.json +++ b/src/_tests/fixtures/44439/result.json @@ -14,6 +14,7 @@ "status": "🔔 @lith-light-g — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44439/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44631/result.json b/src/_tests/fixtures/44631/result.json index 97cf27132..47740113a 100644 --- a/src/_tests/fixtures/44631/result.json +++ b/src/_tests/fixtures/44631/result.json @@ -14,6 +14,7 @@ "status": "@mAAdhaTTah Unfortunately, this pull request currently has a merge conflict 😥. Please update your PR branch to be up-to-date with respect to master. Have a nice day!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44857/result.json b/src/_tests/fixtures/44857/result.json index 3ecd03109..6e47484df 100644 --- a/src/_tests/fixtures/44857/result.json +++ b/src/_tests/fixtures/44857/result.json @@ -23,6 +23,7 @@ "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 @Microsoft, @DefinitelyTyped, @jkomyno, @a-tarasyuk, @alvis, @r3nya, @btoueg, @brunoscheufler, @smac89, @touffy, @DeividasBakanas, @eyqs, @Flarna, @Hannes-Magnusson-CK, @KSXGitHub, @hoo29, @kjin, @ajafff, @islishude, @mwiktorczyk, @mohsen1, @n-e, @galkin, @parambirs, @eps1lon, @SimonSchick, @ThomasdenH, @WilcoBakker, @wwwy3y3, @samuela, @kuehlein, @j-oliveras, @bhongy, @chyzwar, @trivikr, @nguymin4, @yoursunny, @qwelias, @Ryan-Willpower, @peterblazejewicz, @addaleax, @JasonHK.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-14days/result.json b/src/_tests/fixtures/44989-14days/result.json index c7ca3ae07..6b1d72a81 100644 --- a/src/_tests/fixtures/44989-14days/result.json +++ b/src/_tests/fixtures/44989-14days/result.json @@ -20,6 +20,7 @@ "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 Jul 6th (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.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-32days/result.json b/src/_tests/fixtures/44989-32days/result.json index 519b80538..1377bf83f 100644 --- a/src/_tests/fixtures/44989-32days/result.json +++ b/src/_tests/fixtures/44989-32days/result.json @@ -20,6 +20,7 @@ "status": "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." } ], + "suggestions": {}, "shouldClose": true, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-3days/result.json b/src/_tests/fixtures/44989-3days/result.json index fc56c02e5..18d93fb16 100644 --- a/src/_tests/fixtures/44989-3days/result.json +++ b/src/_tests/fixtures/44989-3days/result.json @@ -15,6 +15,7 @@ "status": "@petr-motejlek Everything looks good here. Great job! I am ready to merge this PR (at 9ca6086) on your behalf.\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(@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: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-7days/result.json b/src/_tests/fixtures/44989-7days/result.json index 32abc71d5..9305d8f83 100644 --- a/src/_tests/fixtures/44989-7days/result.json +++ b/src/_tests/fixtures/44989-7days/result.json @@ -15,6 +15,7 @@ "status": "@petr-motejlek Everything looks good here. Great job! I am ready to merge this PR (at 9ca6086) on your behalf.\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(@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: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45137/result.json b/src/_tests/fixtures/45137/result.json index d2b05eaa5..85ca75fb6 100644 --- a/src/_tests/fixtures/45137/result.json +++ b/src/_tests/fixtures/45137/result.json @@ -17,6 +17,7 @@ "status": "@lirbank 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* `mongodb` [on npm](https://www.npmjs.com/package/mongodb), [on unpkg](https://unpkg.com/browse/mongodb@latest/) (author is owner)\n - owner-approval: @LinusU\n - 1 removed owner: ✎@lirbank\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\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 ..." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45627/result.json b/src/_tests/fixtures/45627/result.json index 8b0624942..3015ab4c0 100644 --- a/src/_tests/fixtures/45627/result.json +++ b/src/_tests/fixtures/45627/result.json @@ -26,6 +26,7 @@ "status": "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." } ], + "suggestions": {}, "shouldClose": true, "shouldMerge": true, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45836/result.json b/src/_tests/fixtures/45836/result.json index f1b7092cd..5b7804ff0 100644 --- a/src/_tests/fixtures/45836/result.json +++ b/src/_tests/fixtures/45836/result.json @@ -15,6 +15,7 @@ "status": ":passport_control: Hi @mmorearty,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45884/result.json b/src/_tests/fixtures/45884/result.json index a16bdbf25..359f01709 100644 --- a/src/_tests/fixtures/45884/result.json +++ b/src/_tests/fixtures/45884/result.json @@ -19,6 +19,7 @@ "status": "@sgratzl Everything looks good here. Great job! I am ready to merge this PR (at 1dcf44a) on your behalf.\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(@phreed, @wy193777, @ypconstante, @janniclas, @cerberuser, @gsbelarus, @peterjferrarotto, @spaxe, @appleparan, @Veckodag: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45888/result.json b/src/_tests/fixtures/45888/result.json index 6d08fb4a6..79327ff5a 100644 --- a/src/_tests/fixtures/45888/result.json +++ b/src/_tests/fixtures/45888/result.json @@ -18,6 +18,7 @@ "status": "🔔 @sampsonjoliver @andipaetzold @JiriBalcar @CodeLenny — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/45888/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45890/result.json b/src/_tests/fixtures/45890/result.json index f37164f96..0b7dfe535 100644 --- a/src/_tests/fixtures/45890/result.json +++ b/src/_tests/fixtures/45890/result.json @@ -14,6 +14,7 @@ "status": "🔔 @dimkirt — 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/45890/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45946/result.json b/src/_tests/fixtures/45946/result.json index fcd635822..c8790fc6c 100644 --- a/src/_tests/fixtures/45946/result.json +++ b/src/_tests/fixtures/45946/result.json @@ -14,6 +14,7 @@ "status": "🔔 @rubensworks — 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/45946/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45982/result.json b/src/_tests/fixtures/45982/result.json index 42b94acd7..302cc7221 100644 --- a/src/_tests/fixtures/45982/result.json +++ b/src/_tests/fixtures/45982/result.json @@ -9,6 +9,7 @@ "status": "@dasa — There was an error that prevented me from properly processing this PR:\n\n error parsing owners: At 1:1 : Expected /\\/\\/ Type definitions for (non-npm package )?/" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45999/result.json b/src/_tests/fixtures/45999/result.json index b6d714f80..241d5134c 100644 --- a/src/_tests/fixtures/45999/result.json +++ b/src/_tests/fixtures/45999/result.json @@ -15,6 +15,7 @@ "status": "@alexpyzhianov Everything looks good here. Great job! I am ready to merge this PR (at 381a2a9) on your behalf.\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(@johnnyreilly, @bbenezech, @pzavolinsky, @digiguru, @ericanderson, @DovydasNavickas, @theruther4d, @guilhermehubner, @ferdaber, @jrakotoharisoa, @pascaloliv, @hotell, @franklixuefei, @Jessidhia, @saranshkataria, @lukyth, @eps1lon, @zieka, @dancerphil, @dimitropoulos, @disjukr, @vhfmag, @hellatan: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46008/result.json b/src/_tests/fixtures/46008/result.json index a7a7c3271..f05bfaab0 100644 --- a/src/_tests/fixtures/46008/result.json +++ b/src/_tests/fixtures/46008/result.json @@ -19,6 +19,7 @@ "status": "@risingBirdSong Everything looks good here. Great job! I am ready to merge this PR (at 3e19cb9) on your behalf.\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(@p5-types, @Zalastax: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46019/result.json b/src/_tests/fixtures/46019/result.json index b84054eed..11d2b9e07 100644 --- a/src/_tests/fixtures/46019/result.json +++ b/src/_tests/fixtures/46019/result.json @@ -15,6 +15,7 @@ "status": "@peterblazejewicz Everything looks good here. Great job! I am ready to merge this PR (at ceca9f7) on your behalf.\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" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46120/result.json b/src/_tests/fixtures/46120/result.json index 77b39e27b..f0b029655 100644 --- a/src/_tests/fixtures/46120/result.json +++ b/src/_tests/fixtures/46120/result.json @@ -20,6 +20,7 @@ "status": ":passport_control: Hi @reubenrybnik,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46191/result.json b/src/_tests/fixtures/46191/result.json index 7f34630ce..b00e33191 100644 --- a/src/_tests/fixtures/46191/result.json +++ b/src/_tests/fixtures/46191/result.json @@ -23,6 +23,7 @@ "status": "@jordanoverbye The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3cc81dbde57a1b0eda6f69f539fa49b8d420adff/checks?check_suite_id=938074936).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46196/result.json b/src/_tests/fixtures/46196/result.json index ffe777f34..2fcadf43d 100644 --- a/src/_tests/fixtures/46196/result.json +++ b/src/_tests/fixtures/46196/result.json @@ -11,6 +11,7 @@ "status": "🔔 @HeeL — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46196/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46279/result.json b/src/_tests/fixtures/46279/result.json index a7d8c8606..d639599c4 100644 --- a/src/_tests/fixtures/46279/result.json +++ b/src/_tests/fixtures/46279/result.json @@ -19,6 +19,7 @@ "status": "🔔 @pzingg — 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/46279/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...)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46804/result.json b/src/_tests/fixtures/46804/result.json index ab7e7840b..1fd76ba69 100644 --- a/src/_tests/fixtures/46804/result.json +++ b/src/_tests/fixtures/46804/result.json @@ -17,6 +17,7 @@ "status": "🔔 @hrngoode @adina-todoran @BreadAndRoses95 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46804/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46879/result.json b/src/_tests/fixtures/46879/result.json index 4b87b1d5a..dbc83b9bc 100644 --- a/src/_tests/fixtures/46879/result.json +++ b/src/_tests/fixtures/46879/result.json @@ -13,6 +13,7 @@ "status": "🔔 @sudoplz @GiedriusGrabauskas — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46879/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json index 14288e838..d2025fa3d 100644 --- a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json +++ b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json @@ -10,6 +10,7 @@ "status": "@mastermatt Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 2 packages in this PR\n\n* `express-serve-static-core` [on npm](https://www.npmjs.com/package/express-serve-static-core), [on unpkg](https://unpkg.com/browse/express-serve-static-core@latest/)\n - owner-approval: @dwrss\n* `express` [on npm](https://www.npmjs.com/package/express), [on unpkg](https://unpkg.com/browse/express@latest/)\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed.\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ All owners or a DT maintainer needs to approve changes which affect more than one package\n - ✅ express-serve-static-core\n - ❌ express\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 ..." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json index f68fc505e..8c2e440a9 100644 --- a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json +++ b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json @@ -16,6 +16,7 @@ "status": "@mastermatt Everything looks good here. Great job! I am ready to merge this PR (at dbe687d) on your behalf.\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" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed/result.json b/src/_tests/fixtures/47017-blessed/result.json index 60e0393c7..fd1465134 100644 --- a/src/_tests/fixtures/47017-blessed/result.json +++ b/src/_tests/fixtures/47017-blessed/result.json @@ -14,6 +14,7 @@ "status": "🔔 @borisyankov @19majkel94 @kacepe @micksatana @samijaber @aereal @JoseLion @dwrss @andoshin11 @CMUH @puneetar @dfrankland — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47017/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017/result.json b/src/_tests/fixtures/47017/result.json index 69cc7992c..4b741847e 100644 --- a/src/_tests/fixtures/47017/result.json +++ b/src/_tests/fixtures/47017/result.json @@ -14,6 +14,7 @@ "status": "🔔 @borisyankov @19majkel94 @kacepe @micksatana @samijaber @aereal @JoseLion @dwrss @andoshin11 @CMUH @puneetar @dfrankland — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47017/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48216/result.json b/src/_tests/fixtures/48216/result.json index 9ba676916..d8d75f50a 100644 --- a/src/_tests/fixtures/48216/result.json +++ b/src/_tests/fixtures/48216/result.json @@ -11,6 +11,7 @@ "status": "🔔 @innovation-team @rlbaxter — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/48216/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." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48236/result.json b/src/_tests/fixtures/48236/result.json index 21950903b..56fc120a1 100644 --- a/src/_tests/fixtures/48236/result.json +++ b/src/_tests/fixtures/48236/result.json @@ -18,6 +18,7 @@ "status": "@jablko Everything looks good here. Great job! I am ready to merge this PR (at b4d71f6) on your behalf.\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(@climba03003: you can do this too.)" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": true, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-merge-offer/result.json b/src/_tests/fixtures/48652-merge-offer/result.json index aa5a7f6ce..9418e264f 100644 --- a/src/_tests/fixtures/48652-merge-offer/result.json +++ b/src/_tests/fixtures/48652-merge-offer/result.json @@ -20,6 +20,7 @@ "status": "@RyanCavanaugh, @thorn0, @falsyvalues 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?" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-prereq/result.json b/src/_tests/fixtures/48652-prereq/result.json index 8d3caa424..3d991c457 100644 --- a/src/_tests/fixtures/48652-prereq/result.json +++ b/src/_tests/fixtures/48652-prereq/result.json @@ -24,6 +24,7 @@ "status": ":passport_control: Hi @mgol,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json index c7a627d0a..8156727bb 100644 --- a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json +++ b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json @@ -18,6 +18,7 @@ "status": ":passport_control: Hi @mgol,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-retract-merge-offer/result.json b/src/_tests/fixtures/48652-retract-merge-offer/result.json index 6e9648234..a0e523e36 100644 --- a/src/_tests/fixtures/48652-retract-merge-offer/result.json +++ b/src/_tests/fixtures/48652-retract-merge-offer/result.json @@ -14,6 +14,7 @@ "status": "@mgol 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!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48708/result.json b/src/_tests/fixtures/48708/result.json index 75d99cc91..b65927fa6 100644 --- a/src/_tests/fixtures/48708/result.json +++ b/src/_tests/fixtures/48708/result.json @@ -20,6 +20,7 @@ "status": "@martin-badin 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 Dec 12th (in a week) if the issues aren't addressed." } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48945/result.json b/src/_tests/fixtures/48945/result.json index 639edf992..680c96d4a 100644 --- a/src/_tests/fixtures/48945/result.json +++ b/src/_tests/fixtures/48945/result.json @@ -14,6 +14,7 @@ "status": "@google-api-typings-generator 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!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49417/result.json b/src/_tests/fixtures/49417/result.json index 7060b732e..219d003f5 100644 --- a/src/_tests/fixtures/49417/result.json +++ b/src/_tests/fixtures/49417/result.json @@ -19,6 +19,7 @@ "status": "@tuuling 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?" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49548/result.json b/src/_tests/fixtures/49548/result.json index 8a9272a2a..2cafd351f 100644 --- a/src/_tests/fixtures/49548/result.json +++ b/src/_tests/fixtures/49548/result.json @@ -19,6 +19,7 @@ "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!" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49575/result.json b/src/_tests/fixtures/49575/result.json index b9a794fe4..7e2bbef22 100644 --- a/src/_tests/fixtures/49575/result.json +++ b/src/_tests/fixtures/49575/result.json @@ -18,6 +18,7 @@ "status": "@elibarzilay, @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?" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index d4699d972..c7fad33d3 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -26,7 +26,12 @@ { "path": "types/react-native-sha1/tsconfig.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) `[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]`" + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)", + "suggestion": { + "startLine": 2, + "line": 46, + "suggestion": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + } }, { "path": "types/react-native-sha1/tslint.json", diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index c3f6668f3..0fabd572a 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -37,7 +37,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", - "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) `[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]`\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## 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" + "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\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## 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" } } }, @@ -58,5 +58,27 @@ "body": "@shekari-ah The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/4849e8876b0ab7adc889ccc35b55fde6f0274837/checks?check_suite_id=1574877739).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n" } } + }, + { + "mutation": "mutation ($input: AddPullRequestReviewThreadInput!) {\n addPullRequestReviewThread(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", + "path": "types/react-native-sha1/tsconfig.json", + "startLine": 2, + "line": 46, + "body": "```suggestion\n \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + } + } + }, + { + "mutation": "mutation ($input: SubmitPullRequestReviewInput!) {\n submitPullRequestReview(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", + "body": "@shekari-ah I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!\n", + "event": "COMMENT" + } + } } ] diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index 0003ed697..9499ad437 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) `[{\"op\":\"add\",\"path\":\"/compilerOptions/target\",\"value\":\"es6\"}]`\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## 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 ..." + "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\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## 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", @@ -19,6 +19,13 @@ "status": "@shekari-ah The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/4849e8876b0ab7adc889ccc35b55fde6f0274837/checks?check_suite_id=1574877739).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], + "suggestions": { + "types/react-native-sha1/tsconfig.json": { + "startLine": 2, + "line": 46, + "suggestion": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + } + }, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/50429/derived.json b/src/_tests/fixtures/50429/derived.json index b408eedd9..e4e7b417e 100644 --- a/src/_tests/fixtures/50429/derived.json +++ b/src/_tests/fixtures/50429/derived.json @@ -42,7 +42,12 @@ { "path": "types/omise-js/tslint.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) `[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]`" + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)", + "suggestion": { + "startLine": 1, + "line": 8, + "suggestion": "{ \"extends\": \"dtslint/dt.json\" }\n" + } } ], "owners": [], diff --git a/src/_tests/fixtures/50429/mutations.json b/src/_tests/fixtures/50429/mutations.json index 91d4e63b6..1a875e627 100644 --- a/src/_tests/fixtures/50429/mutations.json +++ b/src/_tests/fixtures/50429/mutations.json @@ -24,7 +24,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDc1NTI4NDk3Mw==", - "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) `[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]`\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## 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" + "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\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## 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" } } }, @@ -36,5 +36,27 @@ "body": "@SaltyAom The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/8454d0853c273f9a20b08bd68cfd5c6b4f70c018/checks?check_suite_id=1778052567).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!\n" } } + }, + { + "mutation": "mutation ($input: AddPullRequestReviewThreadInput!) {\n addPullRequestReviewThread(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTUwNDE0ODEz", + "path": "types/omise-js/tslint.json", + "startLine": 1, + "line": 8, + "body": "```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n" + } + } + }, + { + "mutation": "mutation ($input: SubmitPullRequestReviewInput!) {\n submitPullRequestReview(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTUwNDE0ODEz", + "body": "@SaltyAom I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!\n", + "event": "COMMENT" + } + } } ] diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json index 3f72fef9c..4fe59b7b3 100644 --- a/src/_tests/fixtures/50429/result.json +++ b/src/_tests/fixtures/50429/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) `[{\"op\":\"replace\",\"path\":\"/extends\",\"value\":\"dtslint/dtslint.json\"},{\"op\":\"add\",\"path\":\"/rules\",\"value\":{\"no-redundant-jsdoc\":false,\"strict-export-declare-modifiers\":false,\"max-line-length\":false}}]`\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## 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 ..." + "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\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## 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", @@ -19,6 +19,13 @@ "status": "@SaltyAom The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/8454d0853c273f9a20b08bd68cfd5c6b4f70c018/checks?check_suite_id=1778052567).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], + "suggestions": { + "types/omise-js/tslint.json": { + "startLine": 1, + "line": 8, + "suggestion": "{ \"extends\": \"dtslint/dt.json\" }\n" + } + }, "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/50443/result.json b/src/_tests/fixtures/50443/result.json index 302c1585b..5b173baf4 100644 --- a/src/_tests/fixtures/50443/result.json +++ b/src/_tests/fixtures/50443/result.json @@ -15,6 +15,7 @@ "status": "@shockdevv Everything looks good here. Great job! I am ready to merge this PR (at 130c088) on your behalf.\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" } ], + "suggestions": {}, "shouldClose": false, "shouldMerge": true, "shouldUpdateLabels": true, From c3567a32cb9908a04077ba8e1cf85256354f6354 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Thu, 26 Nov 2020 08:21:38 -0700 Subject: [PATCH 07/19] Add tests --- src/_tests/fixtures/49639/_downloads.json | 3 + src/_tests/fixtures/49639/_files.json | 6 + src/_tests/fixtures/49639/_response.json | 463 ++++++++++++++++++++++ src/_tests/fixtures/49639/derived.json | 72 ++++ src/_tests/fixtures/49639/mutations.json | 74 ++++ src/_tests/fixtures/49639/result.json | 33 ++ 6 files changed, 651 insertions(+) create mode 100644 src/_tests/fixtures/49639/_downloads.json create mode 100644 src/_tests/fixtures/49639/_files.json create mode 100644 src/_tests/fixtures/49639/_response.json create mode 100644 src/_tests/fixtures/49639/derived.json create mode 100644 src/_tests/fixtures/49639/mutations.json create mode 100644 src/_tests/fixtures/49639/result.json diff --git a/src/_tests/fixtures/49639/_downloads.json b/src/_tests/fixtures/49639/_downloads.json new file mode 100644 index 000000000..e8d47bfba --- /dev/null +++ b/src/_tests/fixtures/49639/_downloads.json @@ -0,0 +1,3 @@ +{ + "jasmine": 7855902 +} diff --git a/src/_tests/fixtures/49639/_files.json b/src/_tests/fixtures/49639/_files.json new file mode 100644 index 000000000..6b06fdd22 --- /dev/null +++ b/src/_tests/fixtures/49639/_files.json @@ -0,0 +1,6 @@ +{ + "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856:types/jasmine/tslint.json": "{\n \"extends\": \"dtslint/dt.json\",\n \"rules\": {\n \"await-promise\": false,\n \"ban-types\": false,\n \"no-declare-current-package\": false,\n \"no-empty-interface\": false,\n \"no-single-declare-module\": false,\n \"no-unnecessary-generics\": false,\n \"no-var-keyword\": false,\n \"one-variable-per-declaration\": false,\n \"only-arrow-functions\": false\n }\n}\n", + "master:types/jasmine/tslint.json": "{\n \"extends\": \"dtslint/dt.json\",\n \"rules\": {\n \"ban-types\": false,\n \"no-declare-current-package\": false,\n \"no-empty-interface\": false,\n \"no-single-declare-module\": false,\n \"no-unnecessary-generics\": false,\n \"no-var-keyword\": false,\n \"one-variable-per-declaration\": false,\n \"only-arrow-functions\": false\n }\n}\n", + "master:types/jasmine/index.d.ts": "// Type definitions for Jasmine 3.6\n// Project: http://jasmine.github.io\n// Definitions by: Boris Yankov \n// Theodore Brown \n// David Pärsson \n// Gabe Moothart \n// Lukas Zech \n// Boris Breuer \n// Chris Yungmann \n// Giles Roadnight \n// Yaroslav Admin \n// Domas Trijonis \n// Moshe Kolodny \n// Stephen Farrar \n// Alex Povar \n// Dominik Ehrenberg \n// Chives \n// kirjs \n// Md. Enzam Hossain \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n// For ddescribe / iit use : https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/karma-jasmine/karma-jasmine.d.ts\n\n/**\n * @deprecated Use {@link jasmine.ImplementationCallback} instead.\n */\ntype ImplementationCallback = jasmine.ImplementationCallback;\n\n/**\n * Create a group of specs (often called a suite).\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function describe(description: string, specDefinitions: () => void): void;\n\n/**\n * A focused `describe`. If suites or specs are focused, only those that are focused will be executed.\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function fdescribe(description: string, specDefinitions: () => void): void;\n\n/**\n * A temporarily disabled `describe`. Specs within an xdescribe will be marked pending and not executed.\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function xdescribe(description: string, specDefinitions: () => void): void;\n\n/**\n * Define a single spec. A spec should contain one or more expectations that test the state of the code.\n * A spec whose expectations all succeed will be passing and a spec with any failures will fail.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function it(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * A focused `it`. If suites or specs are focused, only those that are focused will be executed.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function fit(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * A temporarily disabled `it`. The spec will report as pending and will not be executed.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function xit(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Mark a spec as pending, expectation results will be ignored.\n * If you call the function pending anywhere in the spec body, no matter the expectations, the spec will be marked pending.\n * @param reason Reason the spec is pending.\n */\ndeclare function pending(reason?: string): void;\n\n/**\n * Sets a user-defined property that will be provided to reporters as\n * part of the properties field of SpecResult.\n * @since 3.6.0\n */\ndeclare function setSpecProperty(key: string, value: unknown): void;\n\n/**\n * Sets a user-defined property that will be provided to reporters as\n * part of the properties field of SuiteResult.\n * @since 3.6.0\n */\ndeclare function setSuiteProperty(key: string, value: unknown): void;\n\n/**\n * Run some shared setup before each of the specs in the describe in which it is called.\n * @param action Function that contains the code to setup your specs.\n * @param timeout Custom timeout for an async beforeEach.\n */\ndeclare function beforeEach(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared teardown after each of the specs in the describe in which it is called.\n * @param action Function that contains the code to teardown your specs.\n * @param timeout Custom timeout for an async afterEach.\n */\ndeclare function afterEach(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared setup once before all of the specs in the describe are run.\n * Note: Be careful, sharing the setup from a beforeAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n * @param action Function that contains the code to setup your specs.\n * @param timeout Custom timeout for an async beforeAll.\n */\ndeclare function beforeAll(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared teardown once before all of the specs in the describe are run.\n * Note: Be careful, sharing the teardown from a afterAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n * @param action Function that contains the code to teardown your specs.\n * @param timeout Custom timeout for an async afterAll\n */\ndeclare function afterAll(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param spy\n */\ndeclare function expect(spy: T | jasmine.Spy): jasmine.FunctionMatchers;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual\n */\ndeclare function expect(actual: ArrayLike): jasmine.ArrayLikeMatchers;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual Actual computed value to test expectations against.\n */\ndeclare function expect(actual: T): jasmine.Matchers;\n\n/**\n * Create an expectation for a spec.\n */\ndeclare function expect(): jasmine.NothingMatcher;\n\n/**\n * Create an asynchronous expectation for a spec. Note that the matchers\n * that are provided by an asynchronous expectation all return promises\n * which must be either returned from the spec or waited for using `await`\n * in order for Jasmine to associate them with the correct spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual Actual computed value to test expectations against.\n */\ndeclare function expectAsync(actual: T|PromiseLike): jasmine.AsyncMatchers;\n\n/**\n * Explicitly mark a spec as failed.\n * @param e Reason for the failure\n */\ndeclare function fail(e?: any): void;\n\n/**\n * Action method that should be called when the async work is complete.\n */\ninterface DoneFn extends Function {\n (): void;\n\n /** fails the spec and indicates that it has completed. If the message is an Error, Error.message is used */\n fail: (message?: Error | string) => void;\n}\n\n/**\n * Install a spy onto an existing object.\n * @param object The object upon which to install the `Spy`.\n * @param method The name of the method to replace with a `Spy`.\n */\ndeclare function spyOn(\n object: T, method: T[K] extends Function ? K : never,\n): jasmine.Spy<\n T[K] extends jasmine.Func ? T[K] :\n T[K] extends { new (...args: infer A): infer V } ? (...args: A) => V :\n never\n>;\n\n/**\n * Install a spy on a property installed with `Object.defineProperty` onto an existing object.\n * @param object The object upon which to install the `Spy`.\n * @param property The name of the property to replace with a `Spy`.\n * @param accessType The access type (get|set) of the property to `Spy` on.\n */\ndeclare function spyOnProperty(object: T, property: keyof T, accessType?: 'get' | 'set'): jasmine.Spy;\n\n/**\n * Installs spies on all writable and configurable properties of an object.\n * @param object The object upon which to install the `Spy`s.\n */\ndeclare function spyOnAllFunctions(object: T): jasmine.SpyObj;\n\ndeclare function runs(asyncMethod: Function): void;\ndeclare function waitsFor(latchMethod: () => boolean, failureMessage?: string, timeout?: number): void;\ndeclare function waits(timeout?: number): void;\n\ndeclare namespace jasmine {\n type Func = (...args: any[]) => any;\n\n // Use trick with prototype to allow abstract classes.\n // More info: https://stackoverflow.com/a/38642922/2009373\n type Constructor = Function & { prototype: any };\n\n type ImplementationCallback = (() => PromiseLike) | (() => void) | ((done: DoneFn) => void);\n\n type ExpectedRecursive = T | ObjectContaining | AsymmetricMatcher | {\n [K in keyof T]: ExpectedRecursive | Any;\n };\n type Expected = T | ObjectContaining | AsymmetricMatcher | Any | Spy | {\n [K in keyof T]: ExpectedRecursive;\n };\n type SpyObjMethodNames =\n T extends undefined ?\n (ReadonlyArray | { [methodName: string]: any }) :\n (ReadonlyArray | { [P in keyof T]?: T[P] extends Func ? ReturnType : any });\n\n type SpyObjPropertyNames =\n T extends undefined ?\n (ReadonlyArray | { [propertyName: string]: any }) :\n (Readonly", + "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856:types/jasmine/index.d.ts": "// Type definitions for Jasmine 3.6\n// Project: http://jasmine.github.io\n// Definitions by: Boris Yankov \n// Theodore Brown \n// David Pärsson \n// Gabe Moothart \n// Lukas Zech \n// Boris Breuer \n// Chris Yungmann \n// Giles Roadnight \n// Yaroslav Admin \n// Domas Trijonis \n// Moshe Kolodny \n// Stephen Farrar \n// Alex Povar \n// Dominik Ehrenberg \n// Chives \n// kirjs \n// Md. Enzam Hossain \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n// For ddescribe / iit use : https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/karma-jasmine/karma-jasmine.d.ts\n\n/**\n * @deprecated Use {@link jasmine.ImplementationCallback} instead.\n */\ntype ImplementationCallback = jasmine.ImplementationCallback;\n\n/**\n * Create a group of specs (often called a suite).\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function describe(description: string, specDefinitions: () => void): void;\n\n/**\n * A focused `describe`. If suites or specs are focused, only those that are focused will be executed.\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function fdescribe(description: string, specDefinitions: () => void): void;\n\n/**\n * A temporarily disabled `describe`. Specs within an xdescribe will be marked pending and not executed.\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function xdescribe(description: string, specDefinitions: () => void): void;\n\n/**\n * Define a single spec. A spec should contain one or more expectations that test the state of the code.\n * A spec whose expectations all succeed will be passing and a spec with any failures will fail.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function it(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * A focused `it`. If suites or specs are focused, only those that are focused will be executed.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function fit(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * A temporarily disabled `it`. The spec will report as pending and will not be executed.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function xit(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Mark a spec as pending, expectation results will be ignored.\n * If you call the function pending anywhere in the spec body, no matter the expectations, the spec will be marked pending.\n * @param reason Reason the spec is pending.\n */\ndeclare function pending(reason?: string): void;\n\n/**\n * Sets a user-defined property that will be provided to reporters as\n * part of the properties field of SpecResult.\n * @since 3.6.0\n */\ndeclare function setSpecProperty(key: string, value: unknown): void;\n\n/**\n * Sets a user-defined property that will be provided to reporters as\n * part of the properties field of SuiteResult.\n * @since 3.6.0\n */\ndeclare function setSuiteProperty(key: string, value: unknown): void;\n\n/**\n * Run some shared setup before each of the specs in the describe in which it is called.\n * @param action Function that contains the code to setup your specs.\n * @param timeout Custom timeout for an async beforeEach.\n */\ndeclare function beforeEach(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared teardown after each of the specs in the describe in which it is called.\n * @param action Function that contains the code to teardown your specs.\n * @param timeout Custom timeout for an async afterEach.\n */\ndeclare function afterEach(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared setup once before all of the specs in the describe are run.\n * Note: Be careful, sharing the setup from a beforeAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n * @param action Function that contains the code to setup your specs.\n * @param timeout Custom timeout for an async beforeAll.\n */\ndeclare function beforeAll(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared teardown once before all of the specs in the describe are run.\n * Note: Be careful, sharing the teardown from a afterAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n * @param action Function that contains the code to teardown your specs.\n * @param timeout Custom timeout for an async afterAll\n */\ndeclare function afterAll(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param spy\n */\ndeclare function expect(spy: T | jasmine.Spy): jasmine.FunctionMatchers;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual\n */\ndeclare function expect(actual: ArrayLike): jasmine.ArrayLikeMatchers;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual Actual computed value to test expectations against.\n */\ndeclare function expect(actual: T): jasmine.Matchers;\n\n/**\n * Create an expectation for a spec.\n */\ndeclare function expect(): jasmine.NothingMatcher;\n\n/**\n * Create an asynchronous expectation for a spec. Note that the matchers\n * that are provided by an asynchronous expectation all return promises\n * which must be either returned from the spec or waited for using `await`\n * in order for Jasmine to associate them with the correct spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual Actual computed value to test expectations against.\n */\ndeclare function expectAsync(actual: T|PromiseLike): jasmine.AsyncMatchers;\n\n/**\n * Explicitly mark a spec as failed.\n * @param e Reason for the failure\n */\ndeclare function fail(e?: any): void;\n\n/**\n * Action method that should be called when the async work is complete.\n */\ninterface DoneFn extends Function {\n (): void;\n\n /** fails the spec and indicates that it has completed. If the message is an Error, Error.message is used */\n fail: (message?: Error | string) => void;\n}\n\n/**\n * Install a spy onto an existing object.\n * @param object The object upon which to install the `Spy`.\n * @param method The name of the method to replace with a `Spy`.\n */\ndeclare function spyOn(\n object: T, method: T[K] extends Function ? K : never,\n): jasmine.Spy<\n T[K] extends jasmine.Func ? T[K] :\n T[K] extends { new (...args: infer A): infer V } ? (...args: A) => V :\n never\n>;\n\n/**\n * Install a spy on a property installed with `Object.defineProperty` onto an existing object.\n * @param object The object upon which to install the `Spy`.\n * @param property The name of the property to replace with a `Spy`.\n * @param accessType The access type (get|set) of the property to `Spy` on.\n */\ndeclare function spyOnProperty(object: T, property: keyof T, accessType?: 'get' | 'set'): jasmine.Spy;\n\n/**\n * Installs spies on all writable and configurable properties of an object.\n * @param object The object upon which to install the `Spy`s.\n */\ndeclare function spyOnAllFunctions(object: T): jasmine.SpyObj;\n\ndeclare function runs(asyncMethod: Function): void;\ndeclare function waitsFor(latchMethod: () => boolean, failureMessage?: string, timeout?: number): void;\ndeclare function waits(timeout?: number): void;\n\ndeclare namespace jasmine {\n type Func = (...args: any[]) => any;\n\n // Use trick with prototype to allow abstract classes.\n // More info: https://stackoverflow.com/a/38642922/2009373\n type Constructor = Function & { prototype: any };\n\n type ImplementationCallback = (() => PromiseLike) | (() => void) | ((done: DoneFn) => void);\n\n type ExpectedRecursive = T | ObjectContaining | AsymmetricMatcher | {\n [K in keyof T]: ExpectedRecursive | Any;\n };\n type Expected = T | ObjectContaining | AsymmetricMatcher | Any | Spy | {\n [K in keyof T]: ExpectedRecursive;\n };\n type SpyObjMethodNames =\n T extends undefined ?\n (ReadonlyArray | { [methodName: string]: any }) :\n (ReadonlyArray | { [P in keyof T]?: T[P] extends Func ? ReturnType : any });\n\n type SpyObjPropertyNames =\n T extends undefined ?\n (ReadonlyArray | { [propertyName: string]: any }) :\n (Readonly" +} diff --git a/src/_tests/fixtures/49639/_response.json b/src/_tests/fixtures/49639/_response.json new file mode 100644 index 000000000..95f2401d0 --- /dev/null +++ b/src/_tests/fixtures/49639/_response.json @@ -0,0 +1,463 @@ +{ + "data": { + "repository": { + "pullRequest": { + "id": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", + "title": "[jasmine] Make Promise more lax.", + "createdAt": "2020-11-17T22:13:49Z", + "author": { + "login": "ienzam", + "__typename": "User" + }, + "authorAssociation": "CONTRIBUTOR", + "baseRef": { + "name": "master", + "__typename": "Ref" + }, + "labels": { + "nodes": [ + { + "name": "Author is Owner", + "__typename": "Label" + }, + { + "name": "Config Edit", + "__typename": "Label" + }, + { + "name": "Critical package", + "__typename": "Label" + }, + { + "name": "Maintainer Approved", + "__typename": "Label" + }, + { + "name": "Owner Approved", + "__typename": "Label" + }, + { + "name": "Perf: Same", + "__typename": "Label" + }, + { + "name": "Self Merge", + "__typename": "Label" + }, + { + "name": "Untested Change", + "__typename": "Label" + } + ], + "__typename": "LabelConnection" + }, + "isDraft": false, + "mergeable": "UNKNOWN", + "number": 49639, + "state": "OPEN", + "headRefOid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "timelineItems": { + "nodes": [ + { + "__typename": "IssueComment", + "author": { + "login": "ienzam", + "__typename": "User" + }, + "createdAt": "2020-11-17T22:14:24Z" + }, + { + "__typename": "IssueComment", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-17T22:14:25Z" + }, + { + "__typename": "IssueComment", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-17T22:14:26Z" + }, + { + "__typename": "MovedColumnsInProjectEvent", + "actor": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-17T22:19:13Z" + }, + { + "__typename": "IssueComment", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-18T00:18:03Z" + }, + { + "__typename": "IssueComment", + "author": { + "login": "sandersn", + "__typename": "User" + }, + "createdAt": "2020-11-19T00:49:19Z" + }, + { + "__typename": "MovedColumnsInProjectEvent", + "actor": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-19T00:50:43Z" + }, + { + "__typename": "IssueComment", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-19T00:50:44Z" + }, + { + "__typename": "MovedColumnsInProjectEvent", + "actor": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-19T16:12:54Z" + }, + { + "__typename": "IssueComment", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "createdAt": "2020-11-19T16:22:10Z" + } + ], + "__typename": "PullRequestTimelineItemsConnection" + }, + "reviews": { + "nodes": [ + { + "author": { + "login": "chivesrs", + "__typename": "User" + }, + "commit": { + "oid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "abbreviatedOid": "c5e5c98", + "__typename": "Commit" + }, + "comments": { + "nodes": [], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "APPROVED", + "submittedAt": "2020-11-18T01:47:38Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639#pullrequestreview-532956637", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "sandersn", + "__typename": "User" + }, + "commit": { + "oid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "abbreviatedOid": "c5e5c98", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "sandersn", + "__typename": "User" + }, + "createdAt": "2020-11-19T00:49:50Z", + "__typename": "PullRequestReviewComment" + }, + { + "author": { + "login": "sandersn", + "__typename": "User" + }, + "createdAt": "2020-11-19T00:50:04Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "CHANGES_REQUESTED", + "submittedAt": "2020-11-19T00:50:09Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639#pullrequestreview-533997518", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "chivesrs", + "__typename": "User" + }, + "commit": { + "oid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "abbreviatedOid": "c5e5c98", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "chivesrs", + "__typename": "User" + }, + "createdAt": "2020-11-19T06:44:19Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2020-11-19T06:44:19Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639#pullrequestreview-534120973", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "chivesrs", + "__typename": "User" + }, + "commit": { + "oid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "abbreviatedOid": "c5e5c98", + "__typename": "Commit" + }, + "comments": { + "nodes": [ + { + "author": { + "login": "chivesrs", + "__typename": "User" + }, + "createdAt": "2020-11-19T06:44:20Z", + "__typename": "PullRequestReviewComment" + } + ], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "COMMENTED", + "submittedAt": "2020-11-19T06:44:20Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639#pullrequestreview-534120993", + "__typename": "PullRequestReview" + }, + { + "author": { + "login": "sandersn", + "__typename": "User" + }, + "commit": { + "oid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "abbreviatedOid": "c5e5c98", + "__typename": "Commit" + }, + "comments": { + "nodes": [], + "__typename": "PullRequestReviewCommentConnection" + }, + "authorAssociation": "CONTRIBUTOR", + "state": "APPROVED", + "submittedAt": "2020-11-19T16:12:15Z", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639#pullrequestreview-534609504", + "__typename": "PullRequestReview" + } + ], + "__typename": "PullRequestReviewConnection" + }, + "commits": { + "totalCount": 1, + "nodes": [ + { + "commit": { + "checkSuites": { + "nodes": [ + { + "app": { + "name": "GitHub Actions", + "__typename": "App" + }, + "conclusion": "SUCCESS", + "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856/checks?check_suite_id=1518437432", + "status": "COMPLETED", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856/checks?check_suite_id=1518437432", + "__typename": "CheckSuite" + }, + { + "app": { + "name": "Azure Pipelines", + "__typename": "App" + }, + "conclusion": "SUCCESS", + "resourcePath": "/DefinitelyTyped/DefinitelyTyped/commit/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856/checks?check_suite_id=1518438082", + "status": "COMPLETED", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/commit/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856/checks?check_suite_id=1518438082", + "__typename": "CheckSuite" + } + ], + "__typename": "CheckSuiteConnection" + }, + "status": null, + "authoredDate": "2020-11-17T22:10:59Z", + "committedDate": "2020-11-17T22:10:59Z", + "pushedDate": "2020-11-17T22:12:35Z", + "abbreviatedOid": "c5e5c98", + "oid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "__typename": "Commit" + }, + "__typename": "PullRequestCommit" + } + ], + "__typename": "PullRequestCommitConnection" + }, + "comments": { + "totalCount": 7, + "nodes": [ + { + "id": "MDEyOklzc3VlQ29tbWVudDcyOTI0NjE2OA==", + "author": { + "login": "ienzam", + "__typename": "User" + }, + "body": "@chivesrs", + "createdAt": "2020-11-17T22:14:24Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "MDEyOklzc3VlQ29tbWVudDcyOTI0NjE3Mw==", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "body": "@ienzam Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\nThis PR doesn't modify any tests, so it's hard to know what's being fixed, and your changes might regress in the future. Have you considered [adding tests](https://github.com/DefinitelyTyped/DefinitelyTyped#editing-tests-on-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. This can potentially save days of time for you.\n\n## 1 package in this PR\n\n* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\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\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 - `jasmine/tslint.json`: not the required form and not moving towards it\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", + "createdAt": "2020-11-17T22:14:25Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "MDEyOklzc3VlQ29tbWVudDcyOTI0NjE3Ng==", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "body": "🔔 @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B @cyungmann @Roaders @devoto13 @fdim @kolodny @stephenfarrar @zvirja @djungowski @chivesrs @kirjs — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/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": "2020-11-17T22:14:26Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "MDEyOklzc3VlQ29tbWVudDcyOTI5MzAwMw==", + "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\n\n\n
\nComparison details 📊\n\n| | master | #49639 | diff |\n| ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------ |\n| **Batch compilation** | | | |\n| Memory usage (MiB) | 84.5 | 88.3 | +4.5% |\n| Type count | 14774 | 14956 | +1% |\n| Assignability cache size | 4884 | 4908 | 0% |\n| | | | |\n| **Language service** | | | |\n| Samples taken | 2741 | 2741 | 0% |\n| Identifiers in tests | 2741 | 2741 | 0% |\n| **`getCompletionsAtPosition`** | | | |\n|     Mean duration (ms) | 343.7 | 343.3 | -0.1% |\n|     Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 8.3% | 8.9% | |\n|     Worst duration (ms) | 552.5 | 531.3 | -3.8% |\n|     Worst identifier | [hasAttribute](/DefinitelyTyped/DefinitelyTyped/blob/826041049fb0f02f5d4f5874f57e78b8b563cc77/types/jasmine/jasmine-tests.ts#L927) | [undefined](/DefinitelyTyped/DefinitelyTyped/blob/b3a70c1134842184d1c201e6c07fec8bc55d948f/types/jasmine/jasmine-tests.ts#L1802) | |\n| **`getQuickInfoAtPosition`** | | | |\n|     Mean duration (ms) | 349.6 | 347.6 | -0.6% |\n|     Mean [CV](https://en.wikipedia.org/wiki/Coefficient_of_variation) | 9.7% | 9.7% | |\n|     Worst duration (ms) | 460.9 | 515.4 | +11.8% |\n|     Worst identifier | [resolveTo](/DefinitelyTyped/DefinitelyTyped/blob/826041049fb0f02f5d4f5874f57e78b8b563cc77/types/jasmine/jasmine-tests.ts#L592) | [jasmine](/DefinitelyTyped/DefinitelyTyped/blob/b3a70c1134842184d1c201e6c07fec8bc55d948f/types/jasmine/jasmine-tests.ts#L1448) | |\n\n\n
\n\nIt looks like nothing changed too much. I won’t post performance data again unless it gets worse.", + "createdAt": "2020-11-18T00:18:03Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "MDEyOklzc3VlQ29tbWVudDczMDA1MDY4OA==", + "author": { + "login": "sandersn", + "__typename": "User" + }, + "body": "For a critical package like jest I'd like to have multiple signoffs before merging.", + "createdAt": "2020-11-19T00:49:19Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "MDEyOklzc3VlQ29tbWVudDczMDA1MTEwNg==", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "body": "@ienzam 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. If you disagree with the reviewer's comments, you can \"dismiss\" the review using GitHub's review UI. Thank you!\n", + "createdAt": "2020-11-19T00:50:44Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + }, + { + "id": "MDEyOklzc3VlQ29tbWVudDczMDQ4NDkxNw==", + "author": { + "login": "typescript-bot", + "__typename": "User" + }, + "body": "I just published [`@types/jasmine@3.6.2` to npm](https://www.npmjs.com/package/@types/jasmine).", + "createdAt": "2020-11-19T16:22:10Z", + "reactions": { + "nodes": [], + "__typename": "ReactionConnection" + }, + "__typename": "IssueComment" + } + ], + "__typename": "IssueCommentConnection" + }, + "files": { + "nodes": [ + { + "path": "types/jasmine/index.d.ts", + "additions": 13, + "deletions": 13, + "__typename": "PullRequestChangedFile" + }, + { + "path": "types/jasmine/tslint.json", + "additions": 1, + "deletions": 0, + "__typename": "PullRequestChangedFile" + } + ], + "__typename": "PullRequestChangedFileConnection", + "totalCount": 2 + }, + "projectCards": { + "nodes": [], + "__typename": "ProjectCardConnection" + }, + "__typename": "PullRequest" + }, + "__typename": "Repository" + } + }, + "loading": false, + "networkStatus": 7, + "stale": false +} diff --git a/src/_tests/fixtures/49639/derived.json b/src/_tests/fixtures/49639/derived.json new file mode 100644 index 000000000..b8bd9741b --- /dev/null +++ b/src/_tests/fixtures/49639/derived.json @@ -0,0 +1,72 @@ +{ + "type": "info", + "now": "2020-11-26T15:09:52.097Z", + "pr_number": 49639, + "author": "ienzam", + "headCommitOid": "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856", + "lastPushDate": "2020-11-17T22:12:35.000Z", + "lastActivityDate": "2020-11-19T16:12:15.000Z", + "maintainerBlessed": false, + "hasMergeConflict": false, + "isFirstContribution": false, + "popularityLevel": "Critical", + "pkgInfo": [ + { + "name": "jasmine", + "kind": "edit", + "files": [ + { + "path": "types/jasmine/index.d.ts", + "kind": "definition" + }, + { + "path": "types/jasmine/tslint.json", + "kind": "package-meta", + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it", + "suggestion": { + "startLine": 4, + "line": 4, + "suggestion": "" + } + } + ], + "owners": [ + "borisyankov", + "theodorejb", + "davidparsson", + "gmoothart", + "lukas-zech-software", + "Engineer2B", + "cyungmann", + "Roaders", + "devoto13", + "fdim", + "kolodny", + "stephenfarrar", + "zvirja", + "djungowski", + "chivesrs", + "kirjs", + "ienzam" + ], + "addedOwners": [], + "deletedOwners": [], + "popularityLevel": "Critical" + } + ], + "reviews": [ + { + "type": "approved", + "reviewer": "sandersn", + "date": "2020-11-19T16:12:15.000Z", + "isMaintainer": false + }, + { + "type": "approved", + "reviewer": "chivesrs", + "date": "2020-11-18T01:47:38.000Z", + "isMaintainer": false + } + ], + "ciResult": "pass" +} diff --git a/src/_tests/fixtures/49639/mutations.json b/src/_tests/fixtures/49639/mutations.json new file mode 100644 index 000000000..b4e75d5b2 --- /dev/null +++ b/src/_tests/fixtures/49639/mutations.json @@ -0,0 +1,74 @@ +[ + { + "mutation": "mutation ($input: AddLabelsToLabelableInput!) {\n addLabelsToLabelable(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "labelIds": [ + "MDU6TGFiZWw1ODYxNzcwNjM=", + "MDU6TGFiZWwyMTU0ODE2NTQ5" + ], + "labelableId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx" + } + } + }, + { + "mutation": "mutation ($input: RemoveLabelsFromLabelableInput!) {\n removeLabelsFromLabelable(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "labelIds": [ + "MDU6TGFiZWwxNjA4NTUyNDEw", + "MDU6TGFiZWw2OTcwMTg5NzI=" + ], + "labelableId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx" + } + } + }, + { + "mutation": "mutation ($input: AddProjectCardInput!) {\n addProjectCard(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "contentId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", + "projectColumnId": "MDEzOlByb2plY3RDb2x1bW43NTUyOTIy" + } + } + }, + { + "mutation": "mutation ($input: AddCommentInput!) {\n addComment(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "subjectId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", + "body": "Hey @ienzam,\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. This can potentially save days of time for you.\n" + } + } + }, + { + "mutation": "mutation ($input: UpdateIssueCommentInput!) {\n updateIssueComment(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "id": "MDEyOklzc3VlQ29tbWVudDcyOTI0NjE3Mw==", + "body": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ...\n" + } + } + }, + { + "mutation": "mutation ($input: AddPullRequestReviewThreadInput!) {\n addPullRequestReviewThread(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", + "path": "types/jasmine/tslint.json", + "line": 4, + "body": "```suggestion\n" + } + } + }, + { + "mutation": "mutation ($input: SubmitPullRequestReviewInput!) {\n submitPullRequestReview(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", + "body": "@ienzam I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!\n", + "event": "COMMENT" + } + } + } +] diff --git a/src/_tests/fixtures/49639/result.json b/src/_tests/fixtures/49639/result.json new file mode 100644 index 000000000..108858124 --- /dev/null +++ b/src/_tests/fixtures/49639/result.json @@ -0,0 +1,33 @@ +{ + "targetColumn": "Needs Maintainer Review", + "labels": [ + "Critical package", + "Other Approved", + "Owner Approved", + "Author is Owner", + "Check Config", + "Untested Change" + ], + "responseComments": [ + { + "tag": "suggest-testing", + "status": "Hey @ienzam,\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. This can potentially save days of time for you." + }, + { + "tag": "welcome", + "status": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ..." + } + ], + "suggestions": { + "types/jasmine/tslint.json": { + "startLine": 4, + "line": 4, + "suggestion": "" + } + }, + "shouldClose": false, + "shouldMerge": false, + "shouldUpdateLabels": true, + "shouldUpdateProjectColumn": true, + "shouldRemoveFromActiveColumns": false +} From a9faadd6d0b592d3ffae1e968d6de479d60e5b12 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Fri, 27 Nov 2020 08:41:41 -0700 Subject: [PATCH 08/19] Apply suggestions from code review Co-authored-by: Eli Barzilay --- src/comments.ts | 8 +-- src/compute-pr-actions.ts | 15 ++--- src/execute-pr-actions.ts | 29 +++++---- src/pr-info.ts | 125 +++++++++++++++++++++++--------------- 4 files changed, 99 insertions(+), 78 deletions(-) diff --git a/src/comments.ts b/src/comments.ts index 5fbf986a1..dd03b855b 100644 --- a/src/comments.ts +++ b/src/comments.ts @@ -123,7 +123,7 @@ I'll bump it to the DT maintainer queue. Thank you for your patience, @${author} (Ping ${owners}.)`} as { [k: string]: string }; }; -export const suggestions = (user: string) => ({ - tag: "suggestions", - status: `@${user} I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!`, -}); +// Introduction to the review when config files diverge from the +// expected form +export const suggestions = (user: string) => + `@${user} I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!`; diff --git a/src/compute-pr-actions.ts b/src/compute-pr-actions.ts index 58839e20a..9098e6878 100644 --- a/src/compute-pr-actions.ts +++ b/src/compute-pr-actions.ts @@ -52,7 +52,7 @@ export interface Actions { targetColumn?: ColumnName; labels: LabelName[]; responseComments: Comments.Comment[]; - suggestions: { [path: string]: Suggestion }; + suggestions: ({ path: string } & Suggestion)[]; shouldClose: boolean; shouldMerge: boolean; shouldUpdateLabels: boolean; @@ -65,7 +65,7 @@ function createDefaultActions(): Actions { targetColumn: "Other", labels: [], responseComments: [], - suggestions: {}, + suggestions: [], shouldClose: false, shouldMerge: false, shouldUpdateLabels: true, @@ -78,7 +78,7 @@ function createEmptyActions(): Actions { return { labels: [], responseComments: [], - suggestions: {}, + suggestions: [], shouldClose: false, shouldMerge: false, shouldUpdateLabels: false, @@ -295,13 +295,8 @@ export function process(prInfo: BotResult, post({ tag: "welcome", status: createWelcomeComment(info, post) }); // Propagate suggestions into actions - for (const pkg of info.pkgInfo) { - for (const file of pkg.files) { - if (file.suggestion) { - context.suggestions[file.path] = file.suggestion; - } - } - } + context.suggestions = noNullish(flatten(info.pkgInfo.map(pkg => pkg.files.map(({ path, suggestion }) => + suggestion && { path, ...suggestion })))); // Ping reviewers when needed const headCommitAbbrOid = abbrOid(info.headCommitOid); diff --git a/src/execute-pr-actions.ts b/src/execute-pr-actions.ts index c35b143f3..60790fa2d 100644 --- a/src/execute-pr-actions.ts +++ b/src/execute-pr-actions.ts @@ -4,7 +4,7 @@ import { PR_repository_pullRequest } from "./queries/schema/PR"; import { Actions, LabelNames, LabelName } from "./compute-pr-actions"; import { createMutation, client } from "./graphql-client"; import { getProjectBoardColumns, getLabels } from "./util/cachedQueries"; -import { noNullish, flatten } from "./util/util"; +import { authorNotBot, noNullish, flatten } from "./util/util"; import * as comments from "./comments"; import * as comment from "./util/comment"; @@ -67,7 +67,7 @@ type ParsedComment = { id: string, body: string, tag: string, status: string }; function getBotComments(pr: PR_repository_pullRequest): ParsedComment[] { return noNullish( (pr.comments.nodes ?? []) - .filter(comment => comment?.author?.login === "typescript-bot") + .filter(comment => comment && !authorNotBot(comment)) .map(c => { const { id, body } = c!, parsed = comment.parse(body); return parsed && { id, body, ...parsed }; @@ -103,22 +103,21 @@ function getMutationsForCommentRemovals(actions: Actions, botComments: ParsedCom } function getMutationsForSuggestions(actions: Actions, pr: PR_repository_pullRequest) { - if (pr.reviews?.nodes?.find(review => review?.author?.login === "typescript-bot")) return []; - const mutations = Object.entries(actions.suggestions).map(([path, { startLine, line, suggestion }]) => - createMutation("addPullRequestReviewThread", { - pullRequestId: pr.id, - path, - startLine: startLine === line ? undefined : startLine, - line, - body: "```suggestion\n" + suggestion, - }) - ); - if (mutations.length === 0) return []; + if (actions.suggestions.length === 0) return []; + if (!pr.author) throw new Error("Internal Error: no author is a bot error"); return [ - ...mutations, + ...actions.suggestions.map(({ path, startLine, endLine, body }) => + createMutation("addPullRequestReviewThread", { + pullRequestId: pr.id, + path, + startLine: startLine === endLine ? undefined : startLine, + line: endLine, + body: "```suggestion\n" + body, + }) + ), createMutation("submitPullRequestReview", { pullRequestId: pr.id, - body: comment.make(comments.suggestions(pr.author!.login)), + body: comments.suggestions(pr.author.login), event: "COMMENT", }), ]; diff --git a/src/pr-info.ts b/src/pr-info.ts index 5c17308ba..2a347d5bb 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -57,13 +57,13 @@ export type FileInfo = { path: string, kind: FileKind, suspect?: string, // reason for a file being "package-meta" rather than "package-meta-ok" - suggestion?: Suggestion, + suggestion?: Suggestion, // The differences from the expected form, as GitHub suggestions }; export interface Suggestion { readonly startLine: number; - readonly line: number; - readonly suggestion: string; + readonly endLine: number; + readonly body: string; } export type ReviewInfo = { @@ -209,9 +209,15 @@ export async function deriveStateForPR( const lastBlessing = getLastMaintainerBlessingDate(prInfo.timelineItems); const reopenedDate = getReopenedDate(prInfo.timelineItems); + const refs = { + head: prInfo.headRefOid, + master: "master", + latestSuggestions: max(noNullish(prInfo.reviews?.nodes).filter(review => !authorNotBot(review)), (a, b) => + Date.parse(a.submittedAt) - Date.parse(b.submittedAt))?.commit?.oid, + }; const pkgInfoEtc = await getPackageInfosEtc( noNullish(prInfo.files?.nodes).map(f => f.path).sort(), - prInfo.headRefOid, fetchFile, async name => await getDownloads(name, lastPushDate)); + refs, fetchFile, async name => await getDownloads(name, lastPushDate)); if (pkgInfoEtc instanceof Error) return botError(pkgInfoEtc.message); const { pkgInfo, popularityLevel } = pkgInfoEtc; @@ -287,11 +293,11 @@ function getLastMaintainerBlessingDate(timelineItems: PR_repository_pullRequest_ } async function getPackageInfosEtc( - paths: string[], headId: string, fetchFile: typeof defaultFetchFile, getDownloads: typeof getMonthlyDownloadCount + paths: string[], refs: { [ref: string]: string }, fetchFile: typeof defaultFetchFile, getDownloads: typeof getMonthlyDownloadCount ): Promise<{pkgInfo: PackageInfo[], popularityLevel: PopularityLevel} | Error> { const infos = new Map(); for (const path of paths) { - const [pkg, fileInfo] = await categorizeFile(path, async (oid: string = headId) => fetchFile(`${oid}:${path}`)); + const [pkg, fileInfo] = await categorizeFile(path, async (ref: string) => fetchFile(`${refs[ref]}:${path}`)); if (!infos.has(pkg)) infos.set(pkg, []); infos.get(pkg)!.push(fileInfo); } @@ -302,7 +308,7 @@ async function getPackageInfosEtc( if (oldOwners instanceof Error) return oldOwners; const newOwners0 = !name ? null : !paths.includes(`types/${name}/index.d.ts`) ? oldOwners - : await getOwnersOfPackage(name, headId, fetchFile); + : await getOwnersOfPackage(name, refs.head, fetchFile); // A header error is still an add/edit whereas a missing file is // delete, hence newOwners0 here const kind = !name ? "edit" : !oldOwners ? "add" : !newOwners0 ? "delete" : "edit"; @@ -326,7 +332,7 @@ async function getPackageInfosEtc( return { pkgInfo: result, popularityLevel: downloadsToPopularityLevel(maxDownloads) }; } -async function categorizeFile(path: string, contents: (oid?: string) => Promise): Promise<[string|null, FileInfo]> { +async function categorizeFile(path: string, contents: (ref: string) => Promise): Promise<[string|null, FileInfo]> { // https://regex101.com/r/eFvtrz/1 const match = /^types\/(.*?)\/.*?[^\/](?:\.(d\.ts|tsx?|md))?$/.exec(path); if (!match) return [null, { path, kind: "infrastructure" }]; @@ -344,20 +350,19 @@ async function categorizeFile(path: string, contents: (oid?: string) => Promise< } interface ConfigSuspicious { - (path: string, getContents: (oid?: string) => Promise): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; - [basename: string]: (text: string, oldText?: string) => { suspect: string, suggestion?: Suggestion } | undefined; + (path: string, getContents: (ref: string) => Promise): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; + [basename: string]: (text: string, getContents: (ref: string) => Promise) => Promise<{ suspect: string, suggestion?: Suggestion } | undefined>; } const configSuspicious = (async (path, getContents) => { const basename = path.replace(/.*\//, ""); const checker = configSuspicious[basename]; if (!checker) return { suspect: `edited` }; - const text = await getContents(); + const text = await getContents("head"); // Removing tslint.json, tsconfig.json, package.json and // OTHER_FILES.txt is checked by the CI. Specifics are in my commit // message. if (text === undefined) return undefined; - const oldText = await getContents("master"); - return checker(text, oldText); + return checker(text, getContents); }); configSuspicious["OTHER_FILES.txt"] = makeChecker( [], @@ -405,57 +410,79 @@ configSuspicious["tsconfig.json"] = makeChecker( // to it, ignoring some keys. The ignored properties are in most cases checked // elsewhere (dtslint), and in some cases they are irrelevant. function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { parse: (text: string) => unknown } | { ignore: (data: any) => void }) { - return (contents: string, oldText?: string) => { - const theExpectedForm = `[the expected form](${expectedFormUrl})`; - const diffFromExpected = (data: any) => { - if (options && "ignore" in options) options.ignore(data); - return jsonDiff.compare(expectedForm, data); - }; - let newData; + return async (contents: string, getContents: (ref: string) => Promise) => { + let suggestion: any; if (options && "parse" in options) { - newData = options.parse(contents); + suggestion = options.parse(contents); } else { - try { newData = JSON.parse(contents); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } + try { suggestion = JSON.parse(contents); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } } - const suggestion = jsonDiff.deepClone(newData); - const newDiff = diffFromExpected(newData); - if (newDiff.length === 0) return undefined; + const newData = jsonDiff.deepClone(suggestion); + if (options && "ignore" in options) options.ignore(newData); const towardsIt = jsonDiff.deepClone(expectedForm); - if (oldText) { + // Getting closer to the expected form relative to master isn't + // suspect + const vsMaster = await ignoreExistingDiffs("master"); + if (!vsMaster) return undefined; + if (vsMaster.done) return { suspect: vsMaster.suspect }; + // whereas getting closer relative to existing suggestions makes + // no further suggestions + if (!await ignoreExistingDiffs("latestSuggestions")) return { suspect: vsMaster.suspect }; + jsonDiff.applyPatch(suggestion, jsonDiff.compare(newData, towardsIt)); + return { + suspect: vsMaster.suspect, + suggestion: makeSuggestion(), + }; + + // Apply any preexisting diffs to towardsIt + async function ignoreExistingDiffs(ref: string) { + const theExpectedForm = `[the expected form](${expectedFormUrl})`; + const diffFromExpected = (data: any) => jsonDiff.compare(towardsIt, data); + const newDiff = diffFromExpected(newData); + if (newDiff.length === 0) return undefined; + const oldText = await getContents(ref); + if (!oldText) return { suspect: `not ${theExpectedForm}` }; let oldData; if (options && "parse" in options) { oldData = options.parse(oldText); } else { - try { oldData = JSON.parse(oldText); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } + try { oldData = JSON.parse(oldText); } catch (e) { if (e instanceof SyntaxError) return { done: true, suspect: `couldn't parse json: ${e.message}` }; } } + if (options && "ignore" in options) options.ignore(oldData); const oldDiff = diffFromExpected(oldData); const notRemove = jsonDiff.compare(oldDiff, newDiff).filter(({ op }) => op !== "remove"); if (notRemove.length === 0) return undefined; jsonDiff.applyPatch(newDiff, notRemove.map(({ path }) => ({ op: "remove", path }))); jsonDiff.applyPatch(towardsIt, newDiff.filter(({ op }: { op?: typeof newDiff[number]["op"] }) => op)); + return { suspect: `not ${theExpectedForm} and not moving towards it` }; } - jsonDiff.applyPatch(suggestion, jsonDiff.compare(newData, towardsIt)); + // Suggest the different lines to the author - const suggestionLines = ( - Object.keys(suggestion).length <= 1 - ? prettier.format(JSON.stringify(suggestion), { tabWidth: 4, filepath: ".json" }) - : JSON.stringify(suggestion, undefined, 4) + "\n" - ).split(/^/m); - const lines = contents.split(/^/m); - let i = 0; - while (suggestionLines[i]!.trim() === lines[i]!.trim()) i++; - let j = 1; - while (suggestionLines[suggestionLines.length - j]!.trim() === lines[lines.length - j]!.trim()) j++; - return { - suspect: oldText - ? `not ${theExpectedForm} and not moving towards it` - : `not ${theExpectedForm}`, - suggestion: { - startLine: i + 1, - line: lines.length - j + 1, - suggestion: suggestionLines.slice(i, 1 - j || undefined).join(""), - }, - }; + function makeSuggestion() { + const suggestionLines = ( + Object.keys(suggestion).length <= 1 + ? prettier.format(JSON.stringify(suggestion), { tabWidth: 4, filepath: ".json" }) + : JSON.stringify(suggestion, undefined, 4) + "\n" + ).split(/^/m); + const lines = contents.split(/^/m); + // When suggestionLines is empty, that suggests removing all + // of the different lines + let startLine = 1; + while (suggestionLines[0]?.trim() === lines[startLine - 1]?.trim()) { + suggestionLines.shift(); + startLine++; + } + let endLine = lines.length; + while (suggestionLines[suggestionLines.length - 1]?.trim() === lines[endLine - 1]?.trim()) { + suggestionLines.pop(); + endLine--; + } + return { + startLine, + endLine, + body: suggestionLines.join(""), + }; + } }; } @@ -465,7 +492,7 @@ function latestComment(comments: PR_repository_pullRequest_comments_nodes[]) { function getMergeOfferDate(comments: PR_repository_pullRequest_comments_nodes[], headOid: string) { const offer = latestComment(comments.filter(c => - sameUser("typescript-bot", c.author?.login || "-") + !authorNotBot(c) && comment.parse(c.body)?.tag === "merge-offer" && c.body.includes(`(at ${abbrOid(headOid)})`))); return offer && new Date(offer.createdAt); From a554fded982c4eb9082415bd56f893a623e340aa Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Fri, 27 Nov 2020 12:23:00 -0700 Subject: [PATCH 09/19] Update snapshots --- src/_tests/fixtures/38979/result.json | 2 +- src/_tests/fixtures/43136/result.json | 2 +- src/_tests/fixtures/43144/result.json | 2 +- src/_tests/fixtures/43151/result.json | 2 +- src/_tests/fixtures/43160/result.json | 2 +- src/_tests/fixtures/43175/result.json | 2 +- src/_tests/fixtures/43235/result.json | 2 +- src/_tests/fixtures/43314/result.json | 2 +- .../fixtures/43695-duplicate-comment/result.json | 2 +- src/_tests/fixtures/43695-post-review/result.json | 2 +- src/_tests/fixtures/43695/result.json | 2 +- src/_tests/fixtures/43960-post-close/result.json | 2 +- src/_tests/fixtures/43960/result.json | 2 +- src/_tests/fixtures/44105/result.json | 2 +- src/_tests/fixtures/44256/result.json | 2 +- src/_tests/fixtures/44267/result.json | 2 +- src/_tests/fixtures/44282/result.json | 2 +- src/_tests/fixtures/44288/result.json | 2 +- src/_tests/fixtures/44290/result.json | 2 +- src/_tests/fixtures/44299-with-files/result.json | 2 +- src/_tests/fixtures/44299/result.json | 2 +- src/_tests/fixtures/44316/result.json | 2 +- src/_tests/fixtures/44343-pending-travis/result.json | 2 +- src/_tests/fixtures/44343-pre-travis/result.json | 2 +- src/_tests/fixtures/44343/result.json | 2 +- src/_tests/fixtures/44402/result.json | 2 +- src/_tests/fixtures/44411/result.json | 2 +- .../44424-1-travis-instantly-finished/result.json | 2 +- .../fixtures/44424-2-after-travis-second/result.json | 2 +- src/_tests/fixtures/44437/result.json | 2 +- src/_tests/fixtures/44439/result.json | 2 +- src/_tests/fixtures/44631/result.json | 2 +- src/_tests/fixtures/44857/result.json | 2 +- src/_tests/fixtures/44989-14days/result.json | 2 +- src/_tests/fixtures/44989-32days/result.json | 2 +- src/_tests/fixtures/44989-3days/result.json | 2 +- src/_tests/fixtures/44989-7days/result.json | 2 +- src/_tests/fixtures/45137/result.json | 2 +- src/_tests/fixtures/45627/result.json | 2 +- src/_tests/fixtures/45836/result.json | 2 +- src/_tests/fixtures/45884/result.json | 2 +- src/_tests/fixtures/45888/result.json | 2 +- src/_tests/fixtures/45890/result.json | 2 +- src/_tests/fixtures/45946/result.json | 2 +- src/_tests/fixtures/45982/result.json | 2 +- src/_tests/fixtures/45999/result.json | 2 +- src/_tests/fixtures/46008/result.json | 2 +- src/_tests/fixtures/46019/result.json | 2 +- src/_tests/fixtures/46120/result.json | 2 +- src/_tests/fixtures/46191/result.json | 2 +- src/_tests/fixtures/46196/result.json | 2 +- src/_tests/fixtures/46279/result.json | 2 +- src/_tests/fixtures/46804/result.json | 2 +- src/_tests/fixtures/46879/result.json | 2 +- .../fixtures/47017-blessed-and-one-owner/result.json | 2 +- .../fixtures/47017-blessed-and-two-owner/result.json | 2 +- src/_tests/fixtures/47017-blessed/result.json | 2 +- src/_tests/fixtures/47017/result.json | 2 +- src/_tests/fixtures/48216/result.json | 2 +- src/_tests/fixtures/48236/result.json | 2 +- src/_tests/fixtures/48652-merge-offer/result.json | 2 +- src/_tests/fixtures/48652-prereq/result.json | 2 +- .../result.json | 2 +- .../fixtures/48652-retract-merge-offer/result.json | 2 +- src/_tests/fixtures/48708/result.json | 2 +- src/_tests/fixtures/48945/result.json | 2 +- src/_tests/fixtures/49417/result.json | 2 +- src/_tests/fixtures/49548/result.json | 2 +- src/_tests/fixtures/49575/result.json | 2 +- src/_tests/fixtures/49639/derived.json | 4 ++-- src/_tests/fixtures/49639/mutations.json | 2 +- src/_tests/fixtures/49639/result.json | 11 ++++++----- src/_tests/fixtures/49841/derived.json | 4 ++-- src/_tests/fixtures/49841/mutations.json | 2 +- src/_tests/fixtures/49841/result.json | 11 ++++++----- src/_tests/fixtures/50429/derived.json | 4 ++-- src/_tests/fixtures/50429/mutations.json | 2 +- src/_tests/fixtures/50429/result.json | 11 ++++++----- src/_tests/fixtures/50443/result.json | 2 +- 79 files changed, 97 insertions(+), 94 deletions(-) diff --git a/src/_tests/fixtures/38979/result.json b/src/_tests/fixtures/38979/result.json index 054936672..da2c73229 100644 --- a/src/_tests/fixtures/38979/result.json +++ b/src/_tests/fixtures/38979/result.json @@ -23,7 +23,7 @@ "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.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43136/result.json b/src/_tests/fixtures/43136/result.json index 7b264a83f..b30005ff7 100644 --- a/src/_tests/fixtures/43136/result.json +++ b/src/_tests/fixtures/43136/result.json @@ -17,7 +17,7 @@ "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?" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43144/result.json b/src/_tests/fixtures/43144/result.json index e29ff9fcf..bc247851f 100644 --- a/src/_tests/fixtures/43144/result.json +++ b/src/_tests/fixtures/43144/result.json @@ -14,7 +14,7 @@ "status": "@jeffreymeng Everything looks good here. Great job! I am ready to merge this PR (at f1f5c4b) on your behalf.\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.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43151/result.json b/src/_tests/fixtures/43151/result.json index 1f7faaa33..9967e41f1 100644 --- a/src/_tests/fixtures/43151/result.json +++ b/src/_tests/fixtures/43151/result.json @@ -13,7 +13,7 @@ "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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43160/result.json b/src/_tests/fixtures/43160/result.json index d04d48c1d..965c8f0f4 100644 --- a/src/_tests/fixtures/43160/result.json +++ b/src/_tests/fixtures/43160/result.json @@ -19,7 +19,7 @@ "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).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43175/result.json b/src/_tests/fixtures/43175/result.json index c80ff6eef..1f12e0706 100644 --- a/src/_tests/fixtures/43175/result.json +++ b/src/_tests/fixtures/43175/result.json @@ -22,7 +22,7 @@ "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?" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43235/result.json b/src/_tests/fixtures/43235/result.json index ccd642d37..5e232eeab 100644 --- a/src/_tests/fixtures/43235/result.json +++ b/src/_tests/fixtures/43235/result.json @@ -11,7 +11,7 @@ "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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43314/result.json b/src/_tests/fixtures/43314/result.json index 0e5f92810..7984aa9e3 100644 --- a/src/_tests/fixtures/43314/result.json +++ b/src/_tests/fixtures/43314/result.json @@ -13,7 +13,7 @@ "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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695-duplicate-comment/result.json b/src/_tests/fixtures/43695-duplicate-comment/result.json index 7ed0281f5..c4eed6e41 100644 --- a/src/_tests/fixtures/43695-duplicate-comment/result.json +++ b/src/_tests/fixtures/43695-duplicate-comment/result.json @@ -22,7 +22,7 @@ "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?».)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695-post-review/result.json b/src/_tests/fixtures/43695-post-review/result.json index 063f0053d..1ce2fd18b 100644 --- a/src/_tests/fixtures/43695-post-review/result.json +++ b/src/_tests/fixtures/43695-post-review/result.json @@ -14,7 +14,7 @@ "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!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695/result.json b/src/_tests/fixtures/43695/result.json index 6551e8b8d..56c8c2ad9 100644 --- a/src/_tests/fixtures/43695/result.json +++ b/src/_tests/fixtures/43695/result.json @@ -14,7 +14,7 @@ "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!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43960-post-close/result.json b/src/_tests/fixtures/43960-post-close/result.json index 97be59d91..e2344265f 100644 --- a/src/_tests/fixtures/43960-post-close/result.json +++ b/src/_tests/fixtures/43960-post-close/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/43960/result.json b/src/_tests/fixtures/43960/result.json index 199590dc0..648950bcb 100644 --- a/src/_tests/fixtures/43960/result.json +++ b/src/_tests/fixtures/43960/result.json @@ -14,7 +14,7 @@ "status": "@aaltepet 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!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44105/result.json b/src/_tests/fixtures/44105/result.json index 97be59d91..e2344265f 100644 --- a/src/_tests/fixtures/44105/result.json +++ b/src/_tests/fixtures/44105/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44256/result.json b/src/_tests/fixtures/44256/result.json index 97be59d91..e2344265f 100644 --- a/src/_tests/fixtures/44256/result.json +++ b/src/_tests/fixtures/44256/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44267/result.json b/src/_tests/fixtures/44267/result.json index 2a5e69d6e..11290fe53 100644 --- a/src/_tests/fixtures/44267/result.json +++ b/src/_tests/fixtures/44267/result.json @@ -14,7 +14,7 @@ "status": "@ErikMartensson 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `intercom-client` [on npm](https://www.npmjs.com/package/intercom-client), [on unpkg](https://unpkg.com/browse/intercom-client@latest/)\n - owner-approval: @malithrw\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\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 ..." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44282/result.json b/src/_tests/fixtures/44282/result.json index 5db6e428f..cd90b2e94 100644 --- a/src/_tests/fixtures/44282/result.json +++ b/src/_tests/fixtures/44282/result.json @@ -14,7 +14,7 @@ "status": "🔔 @fishcharlie — 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/44282/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44288/result.json b/src/_tests/fixtures/44288/result.json index 13dabfb6a..458e26571 100644 --- a/src/_tests/fixtures/44288/result.json +++ b/src/_tests/fixtures/44288/result.json @@ -11,7 +11,7 @@ "status": "🔔 @gosticks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44288/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44290/result.json b/src/_tests/fixtures/44290/result.json index b2020ef15..abe7b1812 100644 --- a/src/_tests/fixtures/44290/result.json +++ b/src/_tests/fixtures/44290/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44299-with-files/result.json b/src/_tests/fixtures/44299-with-files/result.json index abbdaecc3..9adf8dd6f 100644 --- a/src/_tests/fixtures/44299-with-files/result.json +++ b/src/_tests/fixtures/44299-with-files/result.json @@ -13,7 +13,7 @@ "status": "🔔 @geopic — 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/44299/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44299/result.json b/src/_tests/fixtures/44299/result.json index abbdaecc3..9adf8dd6f 100644 --- a/src/_tests/fixtures/44299/result.json +++ b/src/_tests/fixtures/44299/result.json @@ -13,7 +13,7 @@ "status": "🔔 @geopic — 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/44299/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44316/result.json b/src/_tests/fixtures/44316/result.json index b018874dd..556696354 100644 --- a/src/_tests/fixtures/44316/result.json +++ b/src/_tests/fixtures/44316/result.json @@ -14,7 +14,7 @@ "status": "🔔 @mattleff — 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/44316/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343-pending-travis/result.json b/src/_tests/fixtures/44343-pending-travis/result.json index 04fd75018..bffe25fc7 100644 --- a/src/_tests/fixtures/44343-pending-travis/result.json +++ b/src/_tests/fixtures/44343-pending-travis/result.json @@ -11,7 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343-pre-travis/result.json b/src/_tests/fixtures/44343-pre-travis/result.json index 04fd75018..bffe25fc7 100644 --- a/src/_tests/fixtures/44343-pre-travis/result.json +++ b/src/_tests/fixtures/44343-pre-travis/result.json @@ -11,7 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343/result.json b/src/_tests/fixtures/44343/result.json index 04fd75018..bffe25fc7 100644 --- a/src/_tests/fixtures/44343/result.json +++ b/src/_tests/fixtures/44343/result.json @@ -11,7 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44402/result.json b/src/_tests/fixtures/44402/result.json index bef1a709a..9ddd7fdc9 100644 --- a/src/_tests/fixtures/44402/result.json +++ b/src/_tests/fixtures/44402/result.json @@ -16,7 +16,7 @@ "status": "@sandersn Everything looks good here. Great job! I am ready to merge this PR (at 5dfb994) on your behalf.\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" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44411/result.json b/src/_tests/fixtures/44411/result.json index d6b1839b1..a1afd0563 100644 --- a/src/_tests/fixtures/44411/result.json +++ b/src/_tests/fixtures/44411/result.json @@ -13,7 +13,7 @@ "status": "🔔 @dawnmist @erbridge — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44411/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json index 991dbb166..58b2d52cf 100644 --- a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json +++ b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json @@ -13,7 +13,7 @@ "status": "🔔 @chrisbarker @rdepena @whyn07m3 @licui3936 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44424/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44424-2-after-travis-second/result.json b/src/_tests/fixtures/44424-2-after-travis-second/result.json index e14f9b0fe..2b325bd0b 100644 --- a/src/_tests/fixtures/44424-2-after-travis-second/result.json +++ b/src/_tests/fixtures/44424-2-after-travis-second/result.json @@ -13,7 +13,7 @@ "status": "🔔 @chrisbarker @rdepena @whyn07m3 @licui3936 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44424/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44437/result.json b/src/_tests/fixtures/44437/result.json index 9beeecaa2..5237a4fda 100644 --- a/src/_tests/fixtures/44437/result.json +++ b/src/_tests/fixtures/44437/result.json @@ -16,7 +16,7 @@ "status": "@johnnyreilly Everything looks good here. Great job! I am ready to merge this PR (at eb92456) on your behalf.\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(@Berkays, @unindented, @kamontat, @theweirdone, @whoaa512: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44439/result.json b/src/_tests/fixtures/44439/result.json index 29944ff81..103b592b9 100644 --- a/src/_tests/fixtures/44439/result.json +++ b/src/_tests/fixtures/44439/result.json @@ -14,7 +14,7 @@ "status": "🔔 @lith-light-g — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44439/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44631/result.json b/src/_tests/fixtures/44631/result.json index 47740113a..3dd157c6a 100644 --- a/src/_tests/fixtures/44631/result.json +++ b/src/_tests/fixtures/44631/result.json @@ -14,7 +14,7 @@ "status": "@mAAdhaTTah Unfortunately, this pull request currently has a merge conflict 😥. Please update your PR branch to be up-to-date with respect to master. Have a nice day!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44857/result.json b/src/_tests/fixtures/44857/result.json index 6e47484df..f15b1c6e8 100644 --- a/src/_tests/fixtures/44857/result.json +++ b/src/_tests/fixtures/44857/result.json @@ -23,7 +23,7 @@ "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 @Microsoft, @DefinitelyTyped, @jkomyno, @a-tarasyuk, @alvis, @r3nya, @btoueg, @brunoscheufler, @smac89, @touffy, @DeividasBakanas, @eyqs, @Flarna, @Hannes-Magnusson-CK, @KSXGitHub, @hoo29, @kjin, @ajafff, @islishude, @mwiktorczyk, @mohsen1, @n-e, @galkin, @parambirs, @eps1lon, @SimonSchick, @ThomasdenH, @WilcoBakker, @wwwy3y3, @samuela, @kuehlein, @j-oliveras, @bhongy, @chyzwar, @trivikr, @nguymin4, @yoursunny, @qwelias, @Ryan-Willpower, @peterblazejewicz, @addaleax, @JasonHK.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-14days/result.json b/src/_tests/fixtures/44989-14days/result.json index 6b1d72a81..25489df10 100644 --- a/src/_tests/fixtures/44989-14days/result.json +++ b/src/_tests/fixtures/44989-14days/result.json @@ -20,7 +20,7 @@ "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 Jul 6th (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.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-32days/result.json b/src/_tests/fixtures/44989-32days/result.json index 1377bf83f..a0c6d23b1 100644 --- a/src/_tests/fixtures/44989-32days/result.json +++ b/src/_tests/fixtures/44989-32days/result.json @@ -20,7 +20,7 @@ "status": "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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": true, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-3days/result.json b/src/_tests/fixtures/44989-3days/result.json index 18d93fb16..c094dfcd2 100644 --- a/src/_tests/fixtures/44989-3days/result.json +++ b/src/_tests/fixtures/44989-3days/result.json @@ -15,7 +15,7 @@ "status": "@petr-motejlek Everything looks good here. Great job! I am ready to merge this PR (at 9ca6086) on your behalf.\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(@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: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-7days/result.json b/src/_tests/fixtures/44989-7days/result.json index 9305d8f83..b9b516223 100644 --- a/src/_tests/fixtures/44989-7days/result.json +++ b/src/_tests/fixtures/44989-7days/result.json @@ -15,7 +15,7 @@ "status": "@petr-motejlek Everything looks good here. Great job! I am ready to merge this PR (at 9ca6086) on your behalf.\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(@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: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45137/result.json b/src/_tests/fixtures/45137/result.json index 85ca75fb6..9ed8730f6 100644 --- a/src/_tests/fixtures/45137/result.json +++ b/src/_tests/fixtures/45137/result.json @@ -17,7 +17,7 @@ "status": "@lirbank 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* `mongodb` [on npm](https://www.npmjs.com/package/mongodb), [on unpkg](https://unpkg.com/browse/mongodb@latest/) (author is owner)\n - owner-approval: @LinusU\n - 1 removed owner: ✎@lirbank\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\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 ..." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45627/result.json b/src/_tests/fixtures/45627/result.json index 3015ab4c0..5e1879552 100644 --- a/src/_tests/fixtures/45627/result.json +++ b/src/_tests/fixtures/45627/result.json @@ -26,7 +26,7 @@ "status": "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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": true, "shouldMerge": true, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45836/result.json b/src/_tests/fixtures/45836/result.json index 5b7804ff0..c12a5cdf5 100644 --- a/src/_tests/fixtures/45836/result.json +++ b/src/_tests/fixtures/45836/result.json @@ -15,7 +15,7 @@ "status": ":passport_control: Hi @mmorearty,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45884/result.json b/src/_tests/fixtures/45884/result.json index 359f01709..fbf73683c 100644 --- a/src/_tests/fixtures/45884/result.json +++ b/src/_tests/fixtures/45884/result.json @@ -19,7 +19,7 @@ "status": "@sgratzl Everything looks good here. Great job! I am ready to merge this PR (at 1dcf44a) on your behalf.\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(@phreed, @wy193777, @ypconstante, @janniclas, @cerberuser, @gsbelarus, @peterjferrarotto, @spaxe, @appleparan, @Veckodag: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45888/result.json b/src/_tests/fixtures/45888/result.json index 79327ff5a..8f473d200 100644 --- a/src/_tests/fixtures/45888/result.json +++ b/src/_tests/fixtures/45888/result.json @@ -18,7 +18,7 @@ "status": "🔔 @sampsonjoliver @andipaetzold @JiriBalcar @CodeLenny — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/45888/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45890/result.json b/src/_tests/fixtures/45890/result.json index 0b7dfe535..b7a4506ef 100644 --- a/src/_tests/fixtures/45890/result.json +++ b/src/_tests/fixtures/45890/result.json @@ -14,7 +14,7 @@ "status": "🔔 @dimkirt — 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/45890/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45946/result.json b/src/_tests/fixtures/45946/result.json index c8790fc6c..643abe9b8 100644 --- a/src/_tests/fixtures/45946/result.json +++ b/src/_tests/fixtures/45946/result.json @@ -14,7 +14,7 @@ "status": "🔔 @rubensworks — 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/45946/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45982/result.json b/src/_tests/fixtures/45982/result.json index 302cc7221..0942b7bfd 100644 --- a/src/_tests/fixtures/45982/result.json +++ b/src/_tests/fixtures/45982/result.json @@ -9,7 +9,7 @@ "status": "@dasa — There was an error that prevented me from properly processing this PR:\n\n error parsing owners: At 1:1 : Expected /\\/\\/ Type definitions for (non-npm package )?/" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45999/result.json b/src/_tests/fixtures/45999/result.json index 241d5134c..25d4a11e5 100644 --- a/src/_tests/fixtures/45999/result.json +++ b/src/_tests/fixtures/45999/result.json @@ -15,7 +15,7 @@ "status": "@alexpyzhianov Everything looks good here. Great job! I am ready to merge this PR (at 381a2a9) on your behalf.\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(@johnnyreilly, @bbenezech, @pzavolinsky, @digiguru, @ericanderson, @DovydasNavickas, @theruther4d, @guilhermehubner, @ferdaber, @jrakotoharisoa, @pascaloliv, @hotell, @franklixuefei, @Jessidhia, @saranshkataria, @lukyth, @eps1lon, @zieka, @dancerphil, @dimitropoulos, @disjukr, @vhfmag, @hellatan: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46008/result.json b/src/_tests/fixtures/46008/result.json index f05bfaab0..99bf53410 100644 --- a/src/_tests/fixtures/46008/result.json +++ b/src/_tests/fixtures/46008/result.json @@ -19,7 +19,7 @@ "status": "@risingBirdSong Everything looks good here. Great job! I am ready to merge this PR (at 3e19cb9) on your behalf.\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(@p5-types, @Zalastax: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46019/result.json b/src/_tests/fixtures/46019/result.json index 11d2b9e07..4b3748f93 100644 --- a/src/_tests/fixtures/46019/result.json +++ b/src/_tests/fixtures/46019/result.json @@ -15,7 +15,7 @@ "status": "@peterblazejewicz Everything looks good here. Great job! I am ready to merge this PR (at ceca9f7) on your behalf.\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" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46120/result.json b/src/_tests/fixtures/46120/result.json index f0b029655..cb5212e89 100644 --- a/src/_tests/fixtures/46120/result.json +++ b/src/_tests/fixtures/46120/result.json @@ -20,7 +20,7 @@ "status": ":passport_control: Hi @reubenrybnik,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46191/result.json b/src/_tests/fixtures/46191/result.json index b00e33191..36c739795 100644 --- a/src/_tests/fixtures/46191/result.json +++ b/src/_tests/fixtures/46191/result.json @@ -23,7 +23,7 @@ "status": "@jordanoverbye The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3cc81dbde57a1b0eda6f69f539fa49b8d420adff/checks?check_suite_id=938074936).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46196/result.json b/src/_tests/fixtures/46196/result.json index 2fcadf43d..de6a6a0fe 100644 --- a/src/_tests/fixtures/46196/result.json +++ b/src/_tests/fixtures/46196/result.json @@ -11,7 +11,7 @@ "status": "🔔 @HeeL — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46196/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46279/result.json b/src/_tests/fixtures/46279/result.json index d639599c4..729ca842b 100644 --- a/src/_tests/fixtures/46279/result.json +++ b/src/_tests/fixtures/46279/result.json @@ -19,7 +19,7 @@ "status": "🔔 @pzingg — 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/46279/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...)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46804/result.json b/src/_tests/fixtures/46804/result.json index 1fd76ba69..ae8248f19 100644 --- a/src/_tests/fixtures/46804/result.json +++ b/src/_tests/fixtures/46804/result.json @@ -17,7 +17,7 @@ "status": "🔔 @hrngoode @adina-todoran @BreadAndRoses95 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46804/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46879/result.json b/src/_tests/fixtures/46879/result.json index dbc83b9bc..99d350ba1 100644 --- a/src/_tests/fixtures/46879/result.json +++ b/src/_tests/fixtures/46879/result.json @@ -13,7 +13,7 @@ "status": "🔔 @sudoplz @GiedriusGrabauskas — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46879/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json index d2025fa3d..d97a598d9 100644 --- a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json +++ b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json @@ -10,7 +10,7 @@ "status": "@mastermatt Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 2 packages in this PR\n\n* `express-serve-static-core` [on npm](https://www.npmjs.com/package/express-serve-static-core), [on unpkg](https://unpkg.com/browse/express-serve-static-core@latest/)\n - owner-approval: @dwrss\n* `express` [on npm](https://www.npmjs.com/package/express), [on unpkg](https://unpkg.com/browse/express@latest/)\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed.\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ All owners or a DT maintainer needs to approve changes which affect more than one package\n - ✅ express-serve-static-core\n - ❌ express\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 ..." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json index 8c2e440a9..c414b6ce8 100644 --- a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json +++ b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json @@ -16,7 +16,7 @@ "status": "@mastermatt Everything looks good here. Great job! I am ready to merge this PR (at dbe687d) on your behalf.\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" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed/result.json b/src/_tests/fixtures/47017-blessed/result.json index fd1465134..e9418fc69 100644 --- a/src/_tests/fixtures/47017-blessed/result.json +++ b/src/_tests/fixtures/47017-blessed/result.json @@ -14,7 +14,7 @@ "status": "🔔 @borisyankov @19majkel94 @kacepe @micksatana @samijaber @aereal @JoseLion @dwrss @andoshin11 @CMUH @puneetar @dfrankland — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47017/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017/result.json b/src/_tests/fixtures/47017/result.json index 4b741847e..59e1499c2 100644 --- a/src/_tests/fixtures/47017/result.json +++ b/src/_tests/fixtures/47017/result.json @@ -14,7 +14,7 @@ "status": "🔔 @borisyankov @19majkel94 @kacepe @micksatana @samijaber @aereal @JoseLion @dwrss @andoshin11 @CMUH @puneetar @dfrankland — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47017/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48216/result.json b/src/_tests/fixtures/48216/result.json index d8d75f50a..d3138ea23 100644 --- a/src/_tests/fixtures/48216/result.json +++ b/src/_tests/fixtures/48216/result.json @@ -11,7 +11,7 @@ "status": "🔔 @innovation-team @rlbaxter — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/48216/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." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48236/result.json b/src/_tests/fixtures/48236/result.json index 56fc120a1..a452baac0 100644 --- a/src/_tests/fixtures/48236/result.json +++ b/src/_tests/fixtures/48236/result.json @@ -18,7 +18,7 @@ "status": "@jablko Everything looks good here. Great job! I am ready to merge this PR (at b4d71f6) on your behalf.\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(@climba03003: you can do this too.)" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": true, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-merge-offer/result.json b/src/_tests/fixtures/48652-merge-offer/result.json index 9418e264f..a539ecac9 100644 --- a/src/_tests/fixtures/48652-merge-offer/result.json +++ b/src/_tests/fixtures/48652-merge-offer/result.json @@ -20,7 +20,7 @@ "status": "@RyanCavanaugh, @thorn0, @falsyvalues 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?" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-prereq/result.json b/src/_tests/fixtures/48652-prereq/result.json index 3d991c457..56ded53b1 100644 --- a/src/_tests/fixtures/48652-prereq/result.json +++ b/src/_tests/fixtures/48652-prereq/result.json @@ -24,7 +24,7 @@ "status": ":passport_control: Hi @mgol,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json index 8156727bb..8b5520a45 100644 --- a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json +++ b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json @@ -18,7 +18,7 @@ "status": ":passport_control: Hi @mgol,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-retract-merge-offer/result.json b/src/_tests/fixtures/48652-retract-merge-offer/result.json index a0e523e36..ffa0798da 100644 --- a/src/_tests/fixtures/48652-retract-merge-offer/result.json +++ b/src/_tests/fixtures/48652-retract-merge-offer/result.json @@ -14,7 +14,7 @@ "status": "@mgol 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!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48708/result.json b/src/_tests/fixtures/48708/result.json index b65927fa6..2cd6eb7dd 100644 --- a/src/_tests/fixtures/48708/result.json +++ b/src/_tests/fixtures/48708/result.json @@ -20,7 +20,7 @@ "status": "@martin-badin 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 Dec 12th (in a week) if the issues aren't addressed." } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48945/result.json b/src/_tests/fixtures/48945/result.json index 680c96d4a..5d906bc5d 100644 --- a/src/_tests/fixtures/48945/result.json +++ b/src/_tests/fixtures/48945/result.json @@ -14,7 +14,7 @@ "status": "@google-api-typings-generator 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!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49417/result.json b/src/_tests/fixtures/49417/result.json index 219d003f5..afbb58a46 100644 --- a/src/_tests/fixtures/49417/result.json +++ b/src/_tests/fixtures/49417/result.json @@ -19,7 +19,7 @@ "status": "@tuuling 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?" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49548/result.json b/src/_tests/fixtures/49548/result.json index 2cafd351f..52414adda 100644 --- a/src/_tests/fixtures/49548/result.json +++ b/src/_tests/fixtures/49548/result.json @@ -19,7 +19,7 @@ "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!" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49575/result.json b/src/_tests/fixtures/49575/result.json index 7e2bbef22..cf5911fb8 100644 --- a/src/_tests/fixtures/49575/result.json +++ b/src/_tests/fixtures/49575/result.json @@ -18,7 +18,7 @@ "status": "@elibarzilay, @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?" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49639/derived.json b/src/_tests/fixtures/49639/derived.json index b8bd9741b..1ae817f6b 100644 --- a/src/_tests/fixtures/49639/derived.json +++ b/src/_tests/fixtures/49639/derived.json @@ -25,8 +25,8 @@ "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it", "suggestion": { "startLine": 4, - "line": 4, - "suggestion": "" + "endLine": 4, + "body": "" } } ], diff --git a/src/_tests/fixtures/49639/mutations.json b/src/_tests/fixtures/49639/mutations.json index b4e75d5b2..5aeabeb76 100644 --- a/src/_tests/fixtures/49639/mutations.json +++ b/src/_tests/fixtures/49639/mutations.json @@ -66,7 +66,7 @@ "variables": { "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", - "body": "@ienzam I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!\n", + "body": "@ienzam I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!", "event": "COMMENT" } } diff --git a/src/_tests/fixtures/49639/result.json b/src/_tests/fixtures/49639/result.json index 108858124..fe70c2829 100644 --- a/src/_tests/fixtures/49639/result.json +++ b/src/_tests/fixtures/49639/result.json @@ -18,13 +18,14 @@ "status": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ..." } ], - "suggestions": { - "types/jasmine/tslint.json": { + "suggestions": [ + { + "path": "types/jasmine/tslint.json", "startLine": 4, - "line": 4, - "suggestion": "" + "endLine": 4, + "body": "" } - }, + ], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index c7fad33d3..f9226d545 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -29,8 +29,8 @@ "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)", "suggestion": { "startLine": 2, - "line": 46, - "suggestion": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + "endLine": 46, + "body": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" } }, { diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index 0fabd572a..177003222 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -76,7 +76,7 @@ "variables": { "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", - "body": "@shekari-ah I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!\n", + "body": "@shekari-ah I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!", "event": "COMMENT" } } diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index 9499ad437..bf278f4fa 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -19,13 +19,14 @@ "status": "@shekari-ah The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/4849e8876b0ab7adc889ccc35b55fde6f0274837/checks?check_suite_id=1574877739).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": { - "types/react-native-sha1/tsconfig.json": { + "suggestions": [ + { + "path": "types/react-native-sha1/tsconfig.json", "startLine": 2, - "line": 46, - "suggestion": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + "endLine": 46, + "body": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" } - }, + ], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/50429/derived.json b/src/_tests/fixtures/50429/derived.json index e4e7b417e..91c2db7d6 100644 --- a/src/_tests/fixtures/50429/derived.json +++ b/src/_tests/fixtures/50429/derived.json @@ -45,8 +45,8 @@ "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)", "suggestion": { "startLine": 1, - "line": 8, - "suggestion": "{ \"extends\": \"dtslint/dt.json\" }\n" + "endLine": 8, + "body": "{ \"extends\": \"dtslint/dt.json\" }\n" } } ], diff --git a/src/_tests/fixtures/50429/mutations.json b/src/_tests/fixtures/50429/mutations.json index 1a875e627..5bd804feb 100644 --- a/src/_tests/fixtures/50429/mutations.json +++ b/src/_tests/fixtures/50429/mutations.json @@ -54,7 +54,7 @@ "variables": { "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTUwNDE0ODEz", - "body": "@SaltyAom I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!\n", + "body": "@SaltyAom I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!", "event": "COMMENT" } } diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json index 4fe59b7b3..243be2ed4 100644 --- a/src/_tests/fixtures/50429/result.json +++ b/src/_tests/fixtures/50429/result.json @@ -19,13 +19,14 @@ "status": "@SaltyAom The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/8454d0853c273f9a20b08bd68cfd5c6b4f70c018/checks?check_suite_id=1778052567).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": { - "types/omise-js/tslint.json": { + "suggestions": [ + { + "path": "types/omise-js/tslint.json", "startLine": 1, - "line": 8, - "suggestion": "{ \"extends\": \"dtslint/dt.json\" }\n" + "endLine": 8, + "body": "{ \"extends\": \"dtslint/dt.json\" }\n" } - }, + ], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/50443/result.json b/src/_tests/fixtures/50443/result.json index 5b173baf4..e41a3c051 100644 --- a/src/_tests/fixtures/50443/result.json +++ b/src/_tests/fixtures/50443/result.json @@ -15,7 +15,7 @@ "status": "@shockdevv Everything looks good here. Great job! I am ready to merge this PR (at 130c088) on your behalf.\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" } ], - "suggestions": {}, + "suggestions": [], "shouldClose": false, "shouldMerge": true, "shouldUpdateLabels": true, From 0387d079d2372c16ed86e3518c44c82dec62f0d2 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Fri, 27 Nov 2020 13:36:38 -0700 Subject: [PATCH 10/19] Add tests --- src/_tests/fixtures/49639/_files.json | 2 ++ src/_tests/fixtures/49639/_response.json | 6 ++++++ src/_tests/fixtures/49639/derived.json | 10 ++++++++++ src/_tests/fixtures/49639/mutations.json | 13 ++++++++++++- src/_tests/fixtures/49639/result.json | 8 +++++++- 5 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/_tests/fixtures/49639/_files.json b/src/_tests/fixtures/49639/_files.json index 6b06fdd22..bb1420663 100644 --- a/src/_tests/fixtures/49639/_files.json +++ b/src/_tests/fixtures/49639/_files.json @@ -1,4 +1,6 @@ { + "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856:types/jasmine/tsconfig.json": "{\n \"files\": [\n \"index.d.ts\",\n \"jasmine-tests.ts\"\n ],\n \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\",\n \"dom\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n }\n}\n", + "master:types/jasmine/tsconfig.json": "{\n \"files\": [\n \"index.d.ts\",\n \"jasmine-tests.ts\"\n ],\n \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\",\n \"dom\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": false,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n }\n}\n", "c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856:types/jasmine/tslint.json": "{\n \"extends\": \"dtslint/dt.json\",\n \"rules\": {\n \"await-promise\": false,\n \"ban-types\": false,\n \"no-declare-current-package\": false,\n \"no-empty-interface\": false,\n \"no-single-declare-module\": false,\n \"no-unnecessary-generics\": false,\n \"no-var-keyword\": false,\n \"one-variable-per-declaration\": false,\n \"only-arrow-functions\": false\n }\n}\n", "master:types/jasmine/tslint.json": "{\n \"extends\": \"dtslint/dt.json\",\n \"rules\": {\n \"ban-types\": false,\n \"no-declare-current-package\": false,\n \"no-empty-interface\": false,\n \"no-single-declare-module\": false,\n \"no-unnecessary-generics\": false,\n \"no-var-keyword\": false,\n \"one-variable-per-declaration\": false,\n \"only-arrow-functions\": false\n }\n}\n", "master:types/jasmine/index.d.ts": "// Type definitions for Jasmine 3.6\n// Project: http://jasmine.github.io\n// Definitions by: Boris Yankov \n// Theodore Brown \n// David Pärsson \n// Gabe Moothart \n// Lukas Zech \n// Boris Breuer \n// Chris Yungmann \n// Giles Roadnight \n// Yaroslav Admin \n// Domas Trijonis \n// Moshe Kolodny \n// Stephen Farrar \n// Alex Povar \n// Dominik Ehrenberg \n// Chives \n// kirjs \n// Md. Enzam Hossain \n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n// For ddescribe / iit use : https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/karma-jasmine/karma-jasmine.d.ts\n\n/**\n * @deprecated Use {@link jasmine.ImplementationCallback} instead.\n */\ntype ImplementationCallback = jasmine.ImplementationCallback;\n\n/**\n * Create a group of specs (often called a suite).\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function describe(description: string, specDefinitions: () => void): void;\n\n/**\n * A focused `describe`. If suites or specs are focused, only those that are focused will be executed.\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function fdescribe(description: string, specDefinitions: () => void): void;\n\n/**\n * A temporarily disabled `describe`. Specs within an xdescribe will be marked pending and not executed.\n * @param description Textual description of the group\n * @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs\n */\ndeclare function xdescribe(description: string, specDefinitions: () => void): void;\n\n/**\n * Define a single spec. A spec should contain one or more expectations that test the state of the code.\n * A spec whose expectations all succeed will be passing and a spec with any failures will fail.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function it(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * A focused `it`. If suites or specs are focused, only those that are focused will be executed.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function fit(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * A temporarily disabled `it`. The spec will report as pending and will not be executed.\n * @param expectation Textual description of what this spec is checking\n * @param assertion Function that contains the code of your test. If not provided the test will be pending.\n * @param timeout Custom timeout for an async spec.\n */\ndeclare function xit(expectation: string, assertion?: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Mark a spec as pending, expectation results will be ignored.\n * If you call the function pending anywhere in the spec body, no matter the expectations, the spec will be marked pending.\n * @param reason Reason the spec is pending.\n */\ndeclare function pending(reason?: string): void;\n\n/**\n * Sets a user-defined property that will be provided to reporters as\n * part of the properties field of SpecResult.\n * @since 3.6.0\n */\ndeclare function setSpecProperty(key: string, value: unknown): void;\n\n/**\n * Sets a user-defined property that will be provided to reporters as\n * part of the properties field of SuiteResult.\n * @since 3.6.0\n */\ndeclare function setSuiteProperty(key: string, value: unknown): void;\n\n/**\n * Run some shared setup before each of the specs in the describe in which it is called.\n * @param action Function that contains the code to setup your specs.\n * @param timeout Custom timeout for an async beforeEach.\n */\ndeclare function beforeEach(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared teardown after each of the specs in the describe in which it is called.\n * @param action Function that contains the code to teardown your specs.\n * @param timeout Custom timeout for an async afterEach.\n */\ndeclare function afterEach(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared setup once before all of the specs in the describe are run.\n * Note: Be careful, sharing the setup from a beforeAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n * @param action Function that contains the code to setup your specs.\n * @param timeout Custom timeout for an async beforeAll.\n */\ndeclare function beforeAll(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Run some shared teardown once before all of the specs in the describe are run.\n * Note: Be careful, sharing the teardown from a afterAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n * @param action Function that contains the code to teardown your specs.\n * @param timeout Custom timeout for an async afterAll\n */\ndeclare function afterAll(action: jasmine.ImplementationCallback, timeout?: number): void;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param spy\n */\ndeclare function expect(spy: T | jasmine.Spy): jasmine.FunctionMatchers;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual\n */\ndeclare function expect(actual: ArrayLike): jasmine.ArrayLikeMatchers;\n\n/**\n * Create an expectation for a spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual Actual computed value to test expectations against.\n */\ndeclare function expect(actual: T): jasmine.Matchers;\n\n/**\n * Create an expectation for a spec.\n */\ndeclare function expect(): jasmine.NothingMatcher;\n\n/**\n * Create an asynchronous expectation for a spec. Note that the matchers\n * that are provided by an asynchronous expectation all return promises\n * which must be either returned from the spec or waited for using `await`\n * in order for Jasmine to associate them with the correct spec.\n * @checkReturnValue see https://tsetse.info/check-return-value\n * @param actual Actual computed value to test expectations against.\n */\ndeclare function expectAsync(actual: T|PromiseLike): jasmine.AsyncMatchers;\n\n/**\n * Explicitly mark a spec as failed.\n * @param e Reason for the failure\n */\ndeclare function fail(e?: any): void;\n\n/**\n * Action method that should be called when the async work is complete.\n */\ninterface DoneFn extends Function {\n (): void;\n\n /** fails the spec and indicates that it has completed. If the message is an Error, Error.message is used */\n fail: (message?: Error | string) => void;\n}\n\n/**\n * Install a spy onto an existing object.\n * @param object The object upon which to install the `Spy`.\n * @param method The name of the method to replace with a `Spy`.\n */\ndeclare function spyOn(\n object: T, method: T[K] extends Function ? K : never,\n): jasmine.Spy<\n T[K] extends jasmine.Func ? T[K] :\n T[K] extends { new (...args: infer A): infer V } ? (...args: A) => V :\n never\n>;\n\n/**\n * Install a spy on a property installed with `Object.defineProperty` onto an existing object.\n * @param object The object upon which to install the `Spy`.\n * @param property The name of the property to replace with a `Spy`.\n * @param accessType The access type (get|set) of the property to `Spy` on.\n */\ndeclare function spyOnProperty(object: T, property: keyof T, accessType?: 'get' | 'set'): jasmine.Spy;\n\n/**\n * Installs spies on all writable and configurable properties of an object.\n * @param object The object upon which to install the `Spy`s.\n */\ndeclare function spyOnAllFunctions(object: T): jasmine.SpyObj;\n\ndeclare function runs(asyncMethod: Function): void;\ndeclare function waitsFor(latchMethod: () => boolean, failureMessage?: string, timeout?: number): void;\ndeclare function waits(timeout?: number): void;\n\ndeclare namespace jasmine {\n type Func = (...args: any[]) => any;\n\n // Use trick with prototype to allow abstract classes.\n // More info: https://stackoverflow.com/a/38642922/2009373\n type Constructor = Function & { prototype: any };\n\n type ImplementationCallback = (() => PromiseLike) | (() => void) | ((done: DoneFn) => void);\n\n type ExpectedRecursive = T | ObjectContaining | AsymmetricMatcher | {\n [K in keyof T]: ExpectedRecursive | Any;\n };\n type Expected = T | ObjectContaining | AsymmetricMatcher | Any | Spy | {\n [K in keyof T]: ExpectedRecursive;\n };\n type SpyObjMethodNames =\n T extends undefined ?\n (ReadonlyArray | { [methodName: string]: any }) :\n (ReadonlyArray | { [P in keyof T]?: T[P] extends Func ? ReturnType : any });\n\n type SpyObjPropertyNames =\n T extends undefined ?\n (ReadonlyArray | { [propertyName: string]: any }) :\n (Readonly", diff --git a/src/_tests/fixtures/49639/_response.json b/src/_tests/fixtures/49639/_response.json index 95f2401d0..1f5e31485 100644 --- a/src/_tests/fixtures/49639/_response.json +++ b/src/_tests/fixtures/49639/_response.json @@ -438,6 +438,12 @@ "deletions": 13, "__typename": "PullRequestChangedFile" }, + { + "path": "types/jasmine/tsconfig.json", + "additions": 0, + "deletions": 1, + "__typename": "PullRequestChangedFile" + }, { "path": "types/jasmine/tslint.json", "additions": 1, diff --git a/src/_tests/fixtures/49639/derived.json b/src/_tests/fixtures/49639/derived.json index 1ae817f6b..34230d089 100644 --- a/src/_tests/fixtures/49639/derived.json +++ b/src/_tests/fixtures/49639/derived.json @@ -19,6 +19,16 @@ "path": "types/jasmine/index.d.ts", "kind": "definition" }, + { + "path": "types/jasmine/tsconfig.json", + "kind": "package-meta", + "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it", + "suggestion": { + "startLine": 21, + "endLine": 21, + "body": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + } + }, { "path": "types/jasmine/tslint.json", "kind": "package-meta", diff --git a/src/_tests/fixtures/49639/mutations.json b/src/_tests/fixtures/49639/mutations.json index 5aeabeb76..f7bd23741 100644 --- a/src/_tests/fixtures/49639/mutations.json +++ b/src/_tests/fixtures/49639/mutations.json @@ -46,7 +46,18 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDcyOTI0NjE3Mw==", - "body": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ...\n" + "body": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-522bbd567aec6bfd3e2cd29af157310bd47eb79dbe6a670beb4da4e1a14d0f2d): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ...\n" + } + } + }, + { + "mutation": "mutation ($input: AddPullRequestReviewThreadInput!) {\n addPullRequestReviewThread(input: $input) {\n __typename\n }\n}\n", + "variables": { + "input": { + "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", + "path": "types/jasmine/tsconfig.json", + "line": 21, + "body": "```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" } } }, diff --git a/src/_tests/fixtures/49639/result.json b/src/_tests/fixtures/49639/result.json index fe70c2829..310c5b78c 100644 --- a/src/_tests/fixtures/49639/result.json +++ b/src/_tests/fixtures/49639/result.json @@ -15,10 +15,16 @@ }, { "tag": "welcome", - "status": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ..." + "status": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-522bbd567aec6bfd3e2cd29af157310bd47eb79dbe6a670beb4da4e1a14d0f2d): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ..." } ], "suggestions": [ + { + "path": "types/jasmine/tsconfig.json", + "startLine": 21, + "endLine": 21, + "body": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + }, { "path": "types/jasmine/tslint.json", "startLine": 4, From 1211f3c022a80e350fbd1aa5728a47a6d4597c15 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Mon, 30 Nov 2020 10:37:08 -0700 Subject: [PATCH 11/19] Cosmetic --- src/pr-info.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pr-info.ts b/src/pr-info.ts index 2a347d5bb..4aee186a8 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -332,7 +332,7 @@ async function getPackageInfosEtc( return { pkgInfo: result, popularityLevel: downloadsToPopularityLevel(maxDownloads) }; } -async function categorizeFile(path: string, contents: (ref: string) => Promise): Promise<[string|null, FileInfo]> { +async function categorizeFile(path: string, getContents: (ref: string) => Promise): Promise<[string|null, FileInfo]> { // https://regex101.com/r/eFvtrz/1 const match = /^types\/(.*?)\/.*?[^\/](?:\.(d\.ts|tsx?|md))?$/.exec(path); if (!match) return [null, { path, kind: "infrastructure" }]; @@ -343,7 +343,7 @@ async function categorizeFile(path: string, contents: (ref: string) => Promise Promise Promise): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; - [basename: string]: (text: string, getContents: (ref: string) => Promise) => Promise<{ suspect: string, suggestion?: Suggestion } | undefined>; + [basename: string]: (newText: string, getContents: (ref: string) => Promise) => Promise<{ suspect: string, suggestion?: Suggestion } | undefined>; } const configSuspicious = (async (path, getContents) => { const basename = path.replace(/.*\//, ""); const checker = configSuspicious[basename]; if (!checker) return { suspect: `edited` }; - const text = await getContents("head"); + const newText = await getContents("head"); // Removing tslint.json, tsconfig.json, package.json and // OTHER_FILES.txt is checked by the CI. Specifics are in my commit // message. - if (text === undefined) return undefined; - return checker(text, getContents); + if (newText === undefined) return undefined; + return checker(newText, getContents); }); configSuspicious["OTHER_FILES.txt"] = makeChecker( [], @@ -410,12 +410,12 @@ configSuspicious["tsconfig.json"] = makeChecker( // to it, ignoring some keys. The ignored properties are in most cases checked // elsewhere (dtslint), and in some cases they are irrelevant. function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { parse: (text: string) => unknown } | { ignore: (data: any) => void }) { - return async (contents: string, getContents: (ref: string) => Promise) => { + return async (newText: string, getContents: (ref: string) => Promise) => { let suggestion: any; if (options && "parse" in options) { - suggestion = options.parse(contents); + suggestion = options.parse(newText); } else { - try { suggestion = JSON.parse(contents); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } + try { suggestion = JSON.parse(newText); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } } const newData = jsonDiff.deepClone(suggestion); if (options && "ignore" in options) options.ignore(newData); @@ -464,7 +464,7 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par ? prettier.format(JSON.stringify(suggestion), { tabWidth: 4, filepath: ".json" }) : JSON.stringify(suggestion, undefined, 4) + "\n" ).split(/^/m); - const lines = contents.split(/^/m); + const lines = newText.split(/^/m); // When suggestionLines is empty, that suggests removing all // of the different lines let startLine = 1; From ee4c74ab97de6d4686b9ccba4fe1399a00259382 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Mon, 30 Nov 2020 10:51:23 -0700 Subject: [PATCH 12/19] Extra types --- src/pr-info.ts | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/pr-info.ts b/src/pr-info.ts index 4aee186a8..eb0a874a7 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -183,6 +183,12 @@ export async function queryPRInfo(prNumber: number) { } } +interface Refs { + readonly head: string; + readonly master: "master"; + readonly latestSuggestions: string; +} + // The GQL response => Useful data for us export async function deriveStateForPR( prInfo: PR_repository_pullRequest, @@ -214,7 +220,7 @@ export async function deriveStateForPR( master: "master", latestSuggestions: max(noNullish(prInfo.reviews?.nodes).filter(review => !authorNotBot(review)), (a, b) => Date.parse(a.submittedAt) - Date.parse(b.submittedAt))?.commit?.oid, - }; + } as const; const pkgInfoEtc = await getPackageInfosEtc( noNullish(prInfo.files?.nodes).map(f => f.path).sort(), refs, fetchFile, async name => await getDownloads(name, lastPushDate)); @@ -293,11 +299,11 @@ function getLastMaintainerBlessingDate(timelineItems: PR_repository_pullRequest_ } async function getPackageInfosEtc( - paths: string[], refs: { [ref: string]: string }, fetchFile: typeof defaultFetchFile, getDownloads: typeof getMonthlyDownloadCount + paths: string[], refs: Refs, fetchFile: typeof defaultFetchFile, getDownloads: typeof getMonthlyDownloadCount ): Promise<{pkgInfo: PackageInfo[], popularityLevel: PopularityLevel} | Error> { const infos = new Map(); for (const path of paths) { - const [pkg, fileInfo] = await categorizeFile(path, async (ref: string) => fetchFile(`${refs[ref]}:${path}`)); + const [pkg, fileInfo] = await categorizeFile(path, async ref => fetchFile(`${refs[ref]}:${path}`)); if (!infos.has(pkg)) infos.set(pkg, []); infos.get(pkg)!.push(fileInfo); } @@ -332,7 +338,9 @@ async function getPackageInfosEtc( return { pkgInfo: result, popularityLevel: downloadsToPopularityLevel(maxDownloads) }; } -async function categorizeFile(path: string, getContents: (ref: string) => Promise): Promise<[string|null, FileInfo]> { +type GetContents = (ref: keyof Refs) => Promise; + +async function categorizeFile(path: string, getContents: GetContents): Promise<[string|null, FileInfo]> { // https://regex101.com/r/eFvtrz/1 const match = /^types\/(.*?)\/.*?[^\/](?:\.(d\.ts|tsx?|md))?$/.exec(path); if (!match) return [null, { path, kind: "infrastructure" }]; @@ -350,8 +358,8 @@ async function categorizeFile(path: string, getContents: (ref: string) => Promis } interface ConfigSuspicious { - (path: string, getContents: (ref: string) => Promise): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; - [basename: string]: (newText: string, getContents: (ref: string) => Promise) => Promise<{ suspect: string, suggestion?: Suggestion } | undefined>; + (path: string, getContents: GetContents): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; + [basename: string]: (newText: string, getContents: GetContents) => Promise<{ suspect: string, suggestion?: Suggestion } | undefined>; } const configSuspicious = (async (path, getContents) => { const basename = path.replace(/.*\//, ""); @@ -410,7 +418,7 @@ configSuspicious["tsconfig.json"] = makeChecker( // to it, ignoring some keys. The ignored properties are in most cases checked // elsewhere (dtslint), and in some cases they are irrelevant. function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { parse: (text: string) => unknown } | { ignore: (data: any) => void }) { - return async (newText: string, getContents: (ref: string) => Promise) => { + return async (newText: string, getContents: GetContents) => { let suggestion: any; if (options && "parse" in options) { suggestion = options.parse(newText); @@ -435,7 +443,7 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par }; // Apply any preexisting diffs to towardsIt - async function ignoreExistingDiffs(ref: string) { + async function ignoreExistingDiffs(ref: keyof Refs) { const theExpectedForm = `[the expected form](${expectedFormUrl})`; const diffFromExpected = (data: any) => jsonDiff.compare(towardsIt, data); const newDiff = diffFromExpected(newData); From 1542d2d617c2032b5a38fb3e262e1f5f00b4fe40 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Wed, 2 Dec 2020 15:05:24 -0700 Subject: [PATCH 13/19] Fix line endings regex --- src/pr-info.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pr-info.ts b/src/pr-info.ts index eb0a874a7..f11cfc1c8 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -472,7 +472,10 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par ? prettier.format(JSON.stringify(suggestion), { tabWidth: 4, filepath: ".json" }) : JSON.stringify(suggestion, undefined, 4) + "\n" ).split(/^/m); - const lines = newText.split(/^/m); + // "^" will match inside LineTerminatorSequence so + // "\r\n".split(/^/m) is two lines. Sigh. + // https://tc39.es/ecma262/#_ref_7303:~:text=the%20character%20Input%5Be%20%2D%201%5D%20is%20one%20of%20LineTerminator + const lines = newText.replace(/\r\n/g, "\n").split(/^/m); // When suggestionLines is empty, that suggests removing all // of the different lines let startLine = 1; From 47f96e8321acc8ded20a3f6ffcbcdf765121aab1 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Wed, 2 Dec 2020 15:08:03 -0700 Subject: [PATCH 14/19] Update snapshots --- src/_tests/fixtures/49841/derived.json | 6 +++--- src/_tests/fixtures/49841/mutations.json | 5 ++--- src/_tests/fixtures/49841/result.json | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index f9226d545..0eb43b522 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -28,9 +28,9 @@ "kind": "package-meta", "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)", "suggestion": { - "startLine": 2, - "endLine": 46, - "body": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + "startLine": 17, + "endLine": 17, + "body": "" } }, { diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index 177003222..3bdc4d6d5 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -65,9 +65,8 @@ "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", "path": "types/react-native-sha1/tsconfig.json", - "startLine": 2, - "line": 46, - "body": "```suggestion\n \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + "line": 17, + "body": "```suggestion\n" } } }, diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index bf278f4fa..663ff4868 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -22,9 +22,9 @@ "suggestions": [ { "path": "types/react-native-sha1/tsconfig.json", - "startLine": 2, - "endLine": 46, - "body": " \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"lib\": [\n \"es6\"\n ],\n \"noImplicitAny\": true,\n \"noImplicitThis\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"baseUrl\": \"../\",\n \"typeRoots\": [\n \"../\"\n ],\n \"types\": [],\n \"noEmit\": true,\n \"forceConsistentCasingInFileNames\": true\n },\n \"files\": [\n \"index.d.ts\",\n \"react-native-sha1-test.ts\"\n ]\n" + "startLine": 17, + "endLine": 17, + "body": "" } ], "shouldClose": false, From 3602444dfe07266d16e449951ad64280504a70ad Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Wed, 2 Dec 2020 15:33:45 -0700 Subject: [PATCH 15/19] Apply suggestions from code review --- src/comments.ts | 2 +- src/execute-pr-actions.ts | 32 +++++++++++++++----------------- src/pr-info.ts | 9 +++++---- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/comments.ts b/src/comments.ts index dd03b855b..cdca1775e 100644 --- a/src/comments.ts +++ b/src/comments.ts @@ -126,4 +126,4 @@ I'll bump it to the DT maintainer queue. Thank you for your patience, @${author} // Introduction to the review when config files diverge from the // expected form export const suggestions = (user: string) => - `@${user} I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!`; + `@${user} I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed and a maintainer will take a look. Thanks!`; diff --git a/src/execute-pr-actions.ts b/src/execute-pr-actions.ts index 60790fa2d..70f36a53e 100644 --- a/src/execute-pr-actions.ts +++ b/src/execute-pr-actions.ts @@ -103,16 +103,17 @@ function getMutationsForCommentRemovals(actions: Actions, botComments: ParsedCom } function getMutationsForSuggestions(actions: Actions, pr: PR_repository_pullRequest) { + // Suggestions will be empty if we already reviewed this head if (actions.suggestions.length === 0) return []; - if (!pr.author) throw new Error("Internal Error: no author is a bot error"); + if (!pr.author) throw new Error("Internal Error: expected to be checked"); return [ - ...actions.suggestions.map(({ path, startLine, endLine, body }) => + ...actions.suggestions.map(({ path, startLine, endLine, text }) => createMutation("addPullRequestReviewThread", { pullRequestId: pr.id, path, startLine: startLine === endLine ? undefined : startLine, line: endLine, - body: "```suggestion\n" + body, + body: "```suggestion\n" + text + "```", }) ), createMutation("submitPullRequestReview", { @@ -123,20 +124,17 @@ function getMutationsForSuggestions(actions: Actions, pr: PR_repository_pullRequ ]; } -function getMutationsForChangingPRState(actions: Actions, pr: PR_repository_pullRequest) { - return [ - actions.shouldMerge - ? createMutation("mergePullRequest", { - commitHeadline: `🤖 Merge PR #${pr.number} ${pr.title} by @${pr.author?.login ?? "(ghost)"}`, - expectedHeadOid: pr.headRefOid, - mergeMethod: "SQUASH", - pullRequestId: pr.id, - }) - : null, - actions.shouldClose - ? createMutation("closePullRequest", { pullRequestId: pr.id }) - : null, - ]; +function* getMutationsForChangingPRState(actions: Actions, pr: PR_repository_pullRequest) { + if (actions.shouldMerge) { + if (!pr.author) throw new Error("Internal Error: expected to be checked"); + yield createMutation("mergePullRequest", { + commitHeadline: `🤖 Merge PR #${pr.number} ${pr.title} by @${pr.author.login}`, + expectedHeadOid: pr.headRefOid, + mergeMethod: "SQUASH", + pullRequestId: pr.id, + }); + } + if (actions.shouldClose) yield createMutation("closePullRequest", { pullRequestId: pr.id }); } async function getProjectBoardColumnIdByName(name: string): Promise { diff --git a/src/pr-info.ts b/src/pr-info.ts index f11cfc1c8..5898720c9 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -63,7 +63,7 @@ export type FileInfo = { export interface Suggestion { readonly startLine: number; readonly endLine: number; - readonly body: string; + readonly text: string; } export type ReviewInfo = { @@ -218,6 +218,7 @@ export async function deriveStateForPR( const refs = { head: prInfo.headRefOid, master: "master", + // Exclude existing suggestions from subsequent reviews latestSuggestions: max(noNullish(prInfo.reviews?.nodes).filter(review => !authorNotBot(review)), (a, b) => Date.parse(a.submittedAt) - Date.parse(b.submittedAt))?.commit?.oid, } as const; @@ -433,8 +434,8 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par const vsMaster = await ignoreExistingDiffs("master"); if (!vsMaster) return undefined; if (vsMaster.done) return { suspect: vsMaster.suspect }; - // whereas getting closer relative to existing suggestions makes - // no further suggestions + // whereas getting closer relative to existing suggestions means + // no new suggestions if (!await ignoreExistingDiffs("latestSuggestions")) return { suspect: vsMaster.suspect }; jsonDiff.applyPatch(suggestion, jsonDiff.compare(newData, towardsIt)); return { @@ -491,7 +492,7 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par return { startLine, endLine, - body: suggestionLines.join(""), + text: suggestionLines.join(""), }; } }; From ed94b1c67608983b99e099725b19fa57dcf36e0c Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Wed, 2 Dec 2020 15:35:06 -0700 Subject: [PATCH 16/19] Update snapshots --- src/_tests/fixtures/49639/derived.json | 4 ++-- src/_tests/fixtures/49639/mutations.json | 6 +++--- src/_tests/fixtures/49639/result.json | 4 ++-- src/_tests/fixtures/49841/derived.json | 2 +- src/_tests/fixtures/49841/mutations.json | 4 ++-- src/_tests/fixtures/49841/result.json | 2 +- src/_tests/fixtures/50429/derived.json | 2 +- src/_tests/fixtures/50429/mutations.json | 4 ++-- src/_tests/fixtures/50429/result.json | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/_tests/fixtures/49639/derived.json b/src/_tests/fixtures/49639/derived.json index 34230d089..14f21561d 100644 --- a/src/_tests/fixtures/49639/derived.json +++ b/src/_tests/fixtures/49639/derived.json @@ -26,7 +26,7 @@ "suggestion": { "startLine": 21, "endLine": 21, - "body": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + "text": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" } }, { @@ -36,7 +36,7 @@ "suggestion": { "startLine": 4, "endLine": 4, - "body": "" + "text": "" } } ], diff --git a/src/_tests/fixtures/49639/mutations.json b/src/_tests/fixtures/49639/mutations.json index f7bd23741..1f8d812c4 100644 --- a/src/_tests/fixtures/49639/mutations.json +++ b/src/_tests/fixtures/49639/mutations.json @@ -57,7 +57,7 @@ "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", "path": "types/jasmine/tsconfig.json", "line": 21, - "body": "```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + "body": "```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n```" } } }, @@ -68,7 +68,7 @@ "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", "path": "types/jasmine/tslint.json", "line": 4, - "body": "```suggestion\n" + "body": "```suggestion\n```" } } }, @@ -77,7 +77,7 @@ "variables": { "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", - "body": "@ienzam I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!", + "body": "@ienzam I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed and a maintainer will take a look. Thanks!", "event": "COMMENT" } } diff --git a/src/_tests/fixtures/49639/result.json b/src/_tests/fixtures/49639/result.json index 310c5b78c..0f03496ca 100644 --- a/src/_tests/fixtures/49639/result.json +++ b/src/_tests/fixtures/49639/result.json @@ -23,13 +23,13 @@ "path": "types/jasmine/tsconfig.json", "startLine": 21, "endLine": 21, - "body": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + "text": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" }, { "path": "types/jasmine/tslint.json", "startLine": 4, "endLine": 4, - "body": "" + "text": "" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index 0eb43b522..7e6aa7931 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -30,7 +30,7 @@ "suggestion": { "startLine": 17, "endLine": 17, - "body": "" + "text": "" } }, { diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index 3bdc4d6d5..e17c25ac8 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -66,7 +66,7 @@ "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", "path": "types/react-native-sha1/tsconfig.json", "line": 17, - "body": "```suggestion\n" + "body": "```suggestion\n```" } } }, @@ -75,7 +75,7 @@ "variables": { "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", - "body": "@shekari-ah I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!", + "body": "@shekari-ah I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed and a maintainer will take a look. Thanks!", "event": "COMMENT" } } diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index 663ff4868..29bdf58a5 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -24,7 +24,7 @@ "path": "types/react-native-sha1/tsconfig.json", "startLine": 17, "endLine": 17, - "body": "" + "text": "" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/50429/derived.json b/src/_tests/fixtures/50429/derived.json index 91c2db7d6..24d4c1a8c 100644 --- a/src/_tests/fixtures/50429/derived.json +++ b/src/_tests/fixtures/50429/derived.json @@ -46,7 +46,7 @@ "suggestion": { "startLine": 1, "endLine": 8, - "body": "{ \"extends\": \"dtslint/dt.json\" }\n" + "text": "{ \"extends\": \"dtslint/dt.json\" }\n" } } ], diff --git a/src/_tests/fixtures/50429/mutations.json b/src/_tests/fixtures/50429/mutations.json index 5bd804feb..def483c7f 100644 --- a/src/_tests/fixtures/50429/mutations.json +++ b/src/_tests/fixtures/50429/mutations.json @@ -45,7 +45,7 @@ "path": "types/omise-js/tslint.json", "startLine": 1, "line": 8, - "body": "```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n" + "body": "```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n```" } } }, @@ -54,7 +54,7 @@ "variables": { "input": { "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTUwNDE0ODEz", - "body": "@SaltyAom I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed (unless it's obvious) and a maintainer will take a look. Thanks!", + "body": "@SaltyAom I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed and a maintainer will take a look. Thanks!", "event": "COMMENT" } } diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json index 243be2ed4..f4e3f0c77 100644 --- a/src/_tests/fixtures/50429/result.json +++ b/src/_tests/fixtures/50429/result.json @@ -24,7 +24,7 @@ "path": "types/omise-js/tslint.json", "startLine": 1, "endLine": 8, - "body": "{ \"extends\": \"dtslint/dt.json\" }\n" + "text": "{ \"extends\": \"dtslint/dt.json\" }\n" } ], "shouldClose": false, From 3c0650d1571e9e0bff4a527dac0333a90827a33e Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Sat, 12 Dec 2020 11:00:26 -0700 Subject: [PATCH 17/19] Remove Prettier --- package.json | 1 - src/pr-info.ts | 10 ++++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 2645e1148..722c2eaff 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "fs-extra": "^9.0.1", "graphql": "^14.5.8", "node-fetch": "^2.6.1", - "prettier": "^2.2.0", "prettyjson": "^1.2.1", "yargs": "^16.2.0" }, diff --git a/src/pr-info.ts b/src/pr-info.ts index 5898720c9..7b3bf0e54 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -16,7 +16,6 @@ import * as comment from "./util/comment"; import * as urls from "./urls"; import * as HeaderParser from "@definitelytyped/header-parser"; import * as jsonDiff from "fast-json-patch"; -import * as prettier from "prettier"; const CriticalPopularityThreshold = 5_000_000; const NormalPopularityThreshold = 200_000; @@ -468,11 +467,10 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par // Suggest the different lines to the author function makeSuggestion() { - const suggestionLines = ( - Object.keys(suggestion).length <= 1 - ? prettier.format(JSON.stringify(suggestion), { tabWidth: 4, filepath: ".json" }) - : JSON.stringify(suggestion, undefined, 4) + "\n" - ).split(/^/m); + const text = JSON.stringify(suggestion, undefined, 4); + const suggestionLines = Object.keys(suggestion).length === 1 + ? [text.replace(/\n */g, " ") + "\n"] + : (text + "\n").split(/^/m); // "^" will match inside LineTerminatorSequence so // "\r\n".split(/^/m) is two lines. Sigh. // https://tc39.es/ecma262/#_ref_7303:~:text=the%20character%20Input%5Be%20%2D%201%5D%20is%20one%20of%20LineTerminator From 8e688647db6b826d8ad3b4e37bed493e05fd7747 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Wed, 9 Dec 2020 11:08:04 -0700 Subject: [PATCH 18/19] Put explanations next to suggestions --- src/comments.ts | 2 +- src/compute-pr-actions.ts | 33 +++++++++++++-------------------- src/execute-pr-actions.ts | 21 +++++++++++++-------- src/pr-info.ts | 38 +++++++++++++++++--------------------- 4 files changed, 44 insertions(+), 50 deletions(-) diff --git a/src/comments.ts b/src/comments.ts index cdca1775e..4f3cf17ad 100644 --- a/src/comments.ts +++ b/src/comments.ts @@ -125,5 +125,5 @@ I'll bump it to the DT maintainer queue. Thank you for your patience, @${author} // Introduction to the review when config files diverge from the // expected form -export const suggestions = (user: string) => +export const explanations = (user: string) => `@${user} I noticed these differences from the expected form. If you can revise your changes to avoid them, so much the better! Otherwise please reply with explanations why they're needed and a maintainer will take a look. Thanks!`; diff --git a/src/compute-pr-actions.ts b/src/compute-pr-actions.ts index 9098e6878..f780a43d6 100644 --- a/src/compute-pr-actions.ts +++ b/src/compute-pr-actions.ts @@ -1,7 +1,7 @@ import * as Comments from "./comments"; import * as urls from "./urls"; import { PrInfo, BotResult, FileInfo } from "./pr-info"; -import { ReviewInfo, Suggestion } from "./pr-info"; +import { ReviewInfo, Explanation } from "./pr-info"; import { noNullish, flatten, unique, sameUser, min, sha256, abbrOid } from "./util/util"; import * as dayjs from "dayjs"; import * as advancedFormat from "dayjs/plugin/advancedFormat"; @@ -52,7 +52,7 @@ export interface Actions { targetColumn?: ColumnName; labels: LabelName[]; responseComments: Comments.Comment[]; - suggestions: ({ path: string } & Suggestion)[]; + explanations: ({ path: string } & Explanation)[]; shouldClose: boolean; shouldMerge: boolean; shouldUpdateLabels: boolean; @@ -65,7 +65,7 @@ function createDefaultActions(): Actions { targetColumn: "Other", labels: [], responseComments: [], - suggestions: [], + explanations: [], shouldClose: false, shouldMerge: false, shouldUpdateLabels: true, @@ -78,7 +78,7 @@ function createEmptyActions(): Actions { return { labels: [], responseComments: [], - suggestions: [], + explanations: [], shouldClose: false, shouldMerge: false, shouldUpdateLabels: false, @@ -294,9 +294,9 @@ export function process(prInfo: BotResult, // Update intro comment post({ tag: "welcome", status: createWelcomeComment(info, post) }); - // Propagate suggestions into actions - context.suggestions = noNullish(flatten(info.pkgInfo.map(pkg => pkg.files.map(({ path, suggestion }) => - suggestion && { path, ...suggestion })))); + // Propagate explanations into actions + context.explanations = noNullish(flatten(info.pkgInfo.map(pkg => pkg.files.map(({ path, suspect }) => + suspect && { path, ...suspect })))); // Ping reviewers when needed const headCommitAbbrOid = abbrOid(info.headCommitOid); @@ -433,9 +433,6 @@ function createWelcomeComment(info: ExtendedPrInfo, post: (c: Comments.Comment) const announceList = (what: string, xs: readonly string[]) => `${xs.length} ${what}${xs.length !== 1 ? "s" : ""}`; const usersToString = (users: string[]) => users.map(u => (info.isAuthor(u) ? "✎" : "") + "@" + u).join(", "); - const reviewLink = (f: FileInfo) => - `[\`${f.path.replace(/^types\/(.*\/)/, "$1")}\`](${ - urls.review(info.pr_number)}/${info.headCommitOid}#diff-${sha256(f.path)})`; display(``, `## ${announceList("package", info.packages)} in this PR`, @@ -465,15 +462,6 @@ function createWelcomeComment(info: ExtendedPrInfo, post: (c: Comments.Comment) displayOwners("added", p.addedOwners); displayOwners("removed", p.deletedOwners); if (!info.authorIsOwner && p.owners.length >= 4 && p.addedOwners.some(info.isAuthor)) addedSelfToManyOwners++; - - let showSuspects = false; - for (const file of p.files) { - if (!file.suspect) continue; - if (!showSuspects) display(` - Config files to check:`); - display(` - ${reviewLink(file)}: ${file.suspect}`); - showSuspects = true; - } - } if (addedSelfToManyOwners > 0) { display(``, @@ -512,6 +500,9 @@ function createWelcomeComment(info: ExtendedPrInfo, post: (c: Comments.Comment) display(` * ${emoji(info.ciResult === "pass")} Continuous integration tests have ${expectedResults}`); const approved = emoji(info.approved); + const reviewLink = (f: FileInfo) => + `[\`${f.path.replace(/^types\/(.*\/)/, "$1")}\`](${ + urls.review(info.pr_number)}/${info.headCommitOid}#diff-${sha256(f.path)})`; if (info.hasNewPackages) { display(` * ${approved} Only ${requiredApprover} can approve changes when there are new packages added`); @@ -532,7 +523,9 @@ function createWelcomeComment(info: ExtendedPrInfo, post: (c: Comments.Comment) } else if (info.noOtherOwners) { display(` * ${approved} ${RequiredApprover} can merge changes when there are no other reviewers`); } else if (info.checkConfig) { - display(` * ${approved} ${RequiredApprover} needs to approve changes which affect module config files`); + const configFiles = flatten(info.pkgInfo.map(pkg => pkg.files.filter(({ kind }) => kind === "package-meta"))); + const links = configFiles.map(reviewLink); + display(` * ${approved} ${RequiredApprover} needs to approve changes which affect module config files (${links.join(", ")})`); } else { display(` * ${approved} Only ${requiredApprover} can approve changes [without tests](${testsLink})`); } diff --git a/src/execute-pr-actions.ts b/src/execute-pr-actions.ts index 70f36a53e..b60db3a1d 100644 --- a/src/execute-pr-actions.ts +++ b/src/execute-pr-actions.ts @@ -18,7 +18,7 @@ export async function executePrActions(actions: Actions, pr: PR_repository_pullR ...await getMutationsForProjectChanges(actions, pr), ...getMutationsForComments(actions, pr.id, botComments), ...getMutationsForCommentRemovals(actions, botComments), - ...getMutationsForSuggestions(actions, pr), + ...getMutationsForExplanations(actions, pr), ...getMutationsForChangingPRState(actions, pr), ]); if (!dry) { @@ -102,23 +102,28 @@ function getMutationsForCommentRemovals(actions: Actions, botComments: ParsedCom }); } -function getMutationsForSuggestions(actions: Actions, pr: PR_repository_pullRequest) { - // Suggestions will be empty if we already reviewed this head - if (actions.suggestions.length === 0) return []; +function getMutationsForExplanations(actions: Actions, pr: PR_repository_pullRequest) { + // Explanations will be empty if we already reviewed this head + if (actions.explanations.length === 0) return []; if (!pr.author) throw new Error("Internal Error: expected to be checked"); return [ - ...actions.suggestions.map(({ path, startLine, endLine, text }) => - createMutation("addPullRequestReviewThread", { + ...actions.explanations.map(({ path, startLine, endLine, body }) => endLine + ? createMutation("addPullRequestReviewThread", { pullRequestId: pr.id, path, startLine: startLine === endLine ? undefined : startLine, line: endLine, - body: "```suggestion\n" + text + "```", + body, + }) + : createMutation("addPullRequestReviewComment", { + pullRequestId: pr.id, + path, + body, }) ), createMutation("submitPullRequestReview", { pullRequestId: pr.id, - body: comments.suggestions(pr.author.login), + body: comments.explanations(pr.author.login), event: "COMMENT", }), ]; diff --git a/src/pr-info.ts b/src/pr-info.ts index 7b3bf0e54..1f41176f8 100644 --- a/src/pr-info.ts +++ b/src/pr-info.ts @@ -55,14 +55,13 @@ type FileKind = "test" | "definition" | "markdown" | "package-meta" | "package-m export type FileInfo = { path: string, kind: FileKind, - suspect?: string, // reason for a file being "package-meta" rather than "package-meta-ok" - suggestion?: Suggestion, // The differences from the expected form, as GitHub suggestions + suspect?: Explanation // reason for a file being "package-meta" rather than "package-meta-ok" }; -export interface Suggestion { - readonly startLine: number; - readonly endLine: number; - readonly text: string; +export interface Explanation { + readonly startLine?: number; + readonly endLine?: number; + readonly body: string; } export type ReviewInfo = { @@ -185,7 +184,7 @@ export async function queryPRInfo(prNumber: number) { interface Refs { readonly head: string; readonly master: "master"; - readonly latestSuggestions: string; + readonly latestExplanations: string; } // The GQL response => Useful data for us @@ -217,8 +216,8 @@ export async function deriveStateForPR( const refs = { head: prInfo.headRefOid, master: "master", - // Exclude existing suggestions from subsequent reviews - latestSuggestions: max(noNullish(prInfo.reviews?.nodes).filter(review => !authorNotBot(review)), (a, b) => + // Exclude existing explanations from subsequent reviews + latestExplanations: max(noNullish(prInfo.reviews?.nodes).filter(review => !authorNotBot(review)), (a, b) => Date.parse(a.submittedAt) - Date.parse(b.submittedAt))?.commit?.oid, } as const; const pkgInfoEtc = await getPackageInfosEtc( @@ -352,19 +351,19 @@ async function categorizeFile(path: string, getContents: GetContents): Promise<[ case "md": return [pkg, { path, kind: "markdown" }]; default: { const suspect = await configSuspicious(path, getContents); - return [pkg, { path, kind: suspect ? "package-meta" : "package-meta-ok", ...suspect }]; + return [pkg, { path, kind: suspect ? "package-meta" : "package-meta-ok", suspect }]; } } } interface ConfigSuspicious { - (path: string, getContents: GetContents): Promise<{ suspect: string, sugestion?: Suggestion } | undefined>; - [basename: string]: (newText: string, getContents: GetContents) => Promise<{ suspect: string, suggestion?: Suggestion } | undefined>; + (path: string, getContents: GetContents): Promise; + [basename: string]: (newText: string, getContents: GetContents) => Promise; } const configSuspicious = (async (path, getContents) => { const basename = path.replace(/.*\//, ""); const checker = configSuspicious[basename]; - if (!checker) return { suspect: `edited` }; + if (!checker) return { body: `edited` }; const newText = await getContents("head"); // Removing tslint.json, tsconfig.json, package.json and // OTHER_FILES.txt is checked by the CI. Specifics are in my commit @@ -423,7 +422,7 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par if (options && "parse" in options) { suggestion = options.parse(newText); } else { - try { suggestion = JSON.parse(newText); } catch (e) { if (e instanceof SyntaxError) return { suspect: `couldn't parse json: ${e.message}` }; } + try { suggestion = JSON.parse(newText); } catch (e) { if (e instanceof SyntaxError) return { body: `couldn't parse json: ${e.message}` }; } } const newData = jsonDiff.deepClone(suggestion); if (options && "ignore" in options) options.ignore(newData); @@ -432,15 +431,12 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par // suspect const vsMaster = await ignoreExistingDiffs("master"); if (!vsMaster) return undefined; - if (vsMaster.done) return { suspect: vsMaster.suspect }; + if (vsMaster.done) return { body: vsMaster.suspect }; // whereas getting closer relative to existing suggestions means // no new suggestions - if (!await ignoreExistingDiffs("latestSuggestions")) return { suspect: vsMaster.suspect }; + if (!await ignoreExistingDiffs("latestExplanations")) return { body: vsMaster.suspect }; jsonDiff.applyPatch(suggestion, jsonDiff.compare(newData, towardsIt)); - return { - suspect: vsMaster.suspect, - suggestion: makeSuggestion(), - }; + return makeSuggestion(); // Apply any preexisting diffs to towardsIt async function ignoreExistingDiffs(ref: keyof Refs) { @@ -490,7 +486,7 @@ function makeChecker(expectedForm: any, expectedFormUrl: string, options?: { par return { startLine, endLine, - text: suggestionLines.join(""), + body: vsMaster!.suspect + "\n```suggestion\n" + suggestionLines.join("") + "```", }; } }; From 28f94037045a1594711cd56d8a65a2b6fbde9df5 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Wed, 9 Dec 2020 11:38:55 -0700 Subject: [PATCH 19/19] Update snapshots --- src/_tests/fixtures/38979/result.json | 2 +- src/_tests/fixtures/43136/result.json | 2 +- src/_tests/fixtures/43144/result.json | 2 +- src/_tests/fixtures/43151/result.json | 2 +- src/_tests/fixtures/43160/result.json | 2 +- src/_tests/fixtures/43175/result.json | 2 +- src/_tests/fixtures/43235/result.json | 2 +- src/_tests/fixtures/43314/result.json | 2 +- .../fixtures/43695-duplicate-comment/result.json | 2 +- src/_tests/fixtures/43695-post-review/result.json | 2 +- src/_tests/fixtures/43695/result.json | 2 +- src/_tests/fixtures/43960-post-close/result.json | 2 +- src/_tests/fixtures/43960/result.json | 2 +- src/_tests/fixtures/44105/result.json | 2 +- src/_tests/fixtures/44256/result.json | 2 +- src/_tests/fixtures/44267/result.json | 2 +- src/_tests/fixtures/44282/result.json | 2 +- src/_tests/fixtures/44288/result.json | 2 +- src/_tests/fixtures/44290/result.json | 2 +- src/_tests/fixtures/44299-with-files/result.json | 2 +- src/_tests/fixtures/44299/result.json | 2 +- src/_tests/fixtures/44316/result.json | 2 +- src/_tests/fixtures/44343-pending-travis/result.json | 2 +- src/_tests/fixtures/44343-pre-travis/result.json | 2 +- src/_tests/fixtures/44343/result.json | 2 +- src/_tests/fixtures/44402/result.json | 2 +- src/_tests/fixtures/44411/result.json | 2 +- .../44424-1-travis-instantly-finished/result.json | 2 +- .../fixtures/44424-2-after-travis-second/result.json | 2 +- src/_tests/fixtures/44437/result.json | 2 +- src/_tests/fixtures/44439/result.json | 2 +- src/_tests/fixtures/44631/result.json | 2 +- src/_tests/fixtures/44857/result.json | 2 +- src/_tests/fixtures/44989-14days/result.json | 2 +- src/_tests/fixtures/44989-32days/result.json | 2 +- src/_tests/fixtures/44989-3days/result.json | 2 +- src/_tests/fixtures/44989-7days/result.json | 2 +- src/_tests/fixtures/45137/result.json | 2 +- src/_tests/fixtures/45627/result.json | 2 +- src/_tests/fixtures/45836/result.json | 2 +- src/_tests/fixtures/45884/result.json | 2 +- src/_tests/fixtures/45888/result.json | 2 +- src/_tests/fixtures/45890/result.json | 2 +- src/_tests/fixtures/45946/result.json | 2 +- src/_tests/fixtures/45982/result.json | 2 +- src/_tests/fixtures/45999/result.json | 2 +- src/_tests/fixtures/46008/result.json | 2 +- src/_tests/fixtures/46019/result.json | 2 +- src/_tests/fixtures/46120/result.json | 2 +- src/_tests/fixtures/46191/result.json | 2 +- src/_tests/fixtures/46196/result.json | 2 +- src/_tests/fixtures/46279/result.json | 2 +- src/_tests/fixtures/46804/result.json | 2 +- src/_tests/fixtures/46879/result.json | 2 +- .../fixtures/47017-blessed-and-one-owner/result.json | 2 +- .../fixtures/47017-blessed-and-two-owner/result.json | 2 +- src/_tests/fixtures/47017-blessed/result.json | 2 +- src/_tests/fixtures/47017/result.json | 2 +- src/_tests/fixtures/48216/result.json | 2 +- src/_tests/fixtures/48236/result.json | 2 +- src/_tests/fixtures/48652-merge-offer/result.json | 2 +- src/_tests/fixtures/48652-prereq/result.json | 2 +- .../result.json | 2 +- .../fixtures/48652-retract-merge-offer/result.json | 2 +- src/_tests/fixtures/48708/result.json | 2 +- src/_tests/fixtures/48945/result.json | 2 +- src/_tests/fixtures/49417/result.json | 2 +- src/_tests/fixtures/49548/result.json | 2 +- src/_tests/fixtures/49575/result.json | 2 +- src/_tests/fixtures/49639/derived.json | 10 ++++------ src/_tests/fixtures/49639/mutations.json | 6 +++--- src/_tests/fixtures/49639/result.json | 8 ++++---- src/_tests/fixtures/49841/derived.json | 5 ++--- src/_tests/fixtures/49841/mutations.json | 4 ++-- src/_tests/fixtures/49841/result.json | 6 +++--- src/_tests/fixtures/50429/derived.json | 5 ++--- src/_tests/fixtures/50429/mutations.json | 4 ++-- src/_tests/fixtures/50429/result.json | 6 +++--- src/_tests/fixtures/50443/result.json | 2 +- 79 files changed, 95 insertions(+), 99 deletions(-) diff --git a/src/_tests/fixtures/38979/result.json b/src/_tests/fixtures/38979/result.json index da2c73229..2d48ad9d3 100644 --- a/src/_tests/fixtures/38979/result.json +++ b/src/_tests/fixtures/38979/result.json @@ -23,7 +23,7 @@ "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.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43136/result.json b/src/_tests/fixtures/43136/result.json index b30005ff7..1ccf61fcd 100644 --- a/src/_tests/fixtures/43136/result.json +++ b/src/_tests/fixtures/43136/result.json @@ -17,7 +17,7 @@ "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?" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43144/result.json b/src/_tests/fixtures/43144/result.json index bc247851f..2aa11f5a3 100644 --- a/src/_tests/fixtures/43144/result.json +++ b/src/_tests/fixtures/43144/result.json @@ -14,7 +14,7 @@ "status": "@jeffreymeng Everything looks good here. Great job! I am ready to merge this PR (at f1f5c4b) on your behalf.\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.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43151/result.json b/src/_tests/fixtures/43151/result.json index 9967e41f1..d992cf84d 100644 --- a/src/_tests/fixtures/43151/result.json +++ b/src/_tests/fixtures/43151/result.json @@ -13,7 +13,7 @@ "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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43160/result.json b/src/_tests/fixtures/43160/result.json index 965c8f0f4..b8a56ecfd 100644 --- a/src/_tests/fixtures/43160/result.json +++ b/src/_tests/fixtures/43160/result.json @@ -19,7 +19,7 @@ "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).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43175/result.json b/src/_tests/fixtures/43175/result.json index 1f12e0706..c56623841 100644 --- a/src/_tests/fixtures/43175/result.json +++ b/src/_tests/fixtures/43175/result.json @@ -22,7 +22,7 @@ "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?" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43235/result.json b/src/_tests/fixtures/43235/result.json index 5e232eeab..a9cccda2c 100644 --- a/src/_tests/fixtures/43235/result.json +++ b/src/_tests/fixtures/43235/result.json @@ -11,7 +11,7 @@ "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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43314/result.json b/src/_tests/fixtures/43314/result.json index 7984aa9e3..ec003ab99 100644 --- a/src/_tests/fixtures/43314/result.json +++ b/src/_tests/fixtures/43314/result.json @@ -13,7 +13,7 @@ "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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695-duplicate-comment/result.json b/src/_tests/fixtures/43695-duplicate-comment/result.json index c4eed6e41..24bd704e8 100644 --- a/src/_tests/fixtures/43695-duplicate-comment/result.json +++ b/src/_tests/fixtures/43695-duplicate-comment/result.json @@ -22,7 +22,7 @@ "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?».)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695-post-review/result.json b/src/_tests/fixtures/43695-post-review/result.json index 1ce2fd18b..3ea09be91 100644 --- a/src/_tests/fixtures/43695-post-review/result.json +++ b/src/_tests/fixtures/43695-post-review/result.json @@ -14,7 +14,7 @@ "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!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43695/result.json b/src/_tests/fixtures/43695/result.json index 56c8c2ad9..8bc4d1d34 100644 --- a/src/_tests/fixtures/43695/result.json +++ b/src/_tests/fixtures/43695/result.json @@ -14,7 +14,7 @@ "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!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/43960-post-close/result.json b/src/_tests/fixtures/43960-post-close/result.json index e2344265f..08863cd92 100644 --- a/src/_tests/fixtures/43960-post-close/result.json +++ b/src/_tests/fixtures/43960-post-close/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/43960/result.json b/src/_tests/fixtures/43960/result.json index 648950bcb..22dfe60c0 100644 --- a/src/_tests/fixtures/43960/result.json +++ b/src/_tests/fixtures/43960/result.json @@ -14,7 +14,7 @@ "status": "@aaltepet 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!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44105/result.json b/src/_tests/fixtures/44105/result.json index e2344265f..08863cd92 100644 --- a/src/_tests/fixtures/44105/result.json +++ b/src/_tests/fixtures/44105/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44256/result.json b/src/_tests/fixtures/44256/result.json index e2344265f..08863cd92 100644 --- a/src/_tests/fixtures/44256/result.json +++ b/src/_tests/fixtures/44256/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44267/result.json b/src/_tests/fixtures/44267/result.json index 11290fe53..d1590e32d 100644 --- a/src/_tests/fixtures/44267/result.json +++ b/src/_tests/fixtures/44267/result.json @@ -14,7 +14,7 @@ "status": "@ErikMartensson 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `intercom-client` [on npm](https://www.npmjs.com/package/intercom-client), [on unpkg](https://unpkg.com/browse/intercom-client@latest/)\n - owner-approval: @malithrw\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\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 ..." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44282/result.json b/src/_tests/fixtures/44282/result.json index cd90b2e94..54b33575e 100644 --- a/src/_tests/fixtures/44282/result.json +++ b/src/_tests/fixtures/44282/result.json @@ -14,7 +14,7 @@ "status": "🔔 @fishcharlie — 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/44282/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44288/result.json b/src/_tests/fixtures/44288/result.json index 458e26571..25225f1b6 100644 --- a/src/_tests/fixtures/44288/result.json +++ b/src/_tests/fixtures/44288/result.json @@ -11,7 +11,7 @@ "status": "🔔 @gosticks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44288/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44290/result.json b/src/_tests/fixtures/44290/result.json index abe7b1812..e58c58d07 100644 --- a/src/_tests/fixtures/44290/result.json +++ b/src/_tests/fixtures/44290/result.json @@ -1,7 +1,7 @@ { "labels": [], "responseComments": [], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": false, diff --git a/src/_tests/fixtures/44299-with-files/result.json b/src/_tests/fixtures/44299-with-files/result.json index 9adf8dd6f..4bc63724f 100644 --- a/src/_tests/fixtures/44299-with-files/result.json +++ b/src/_tests/fixtures/44299-with-files/result.json @@ -13,7 +13,7 @@ "status": "🔔 @geopic — 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/44299/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44299/result.json b/src/_tests/fixtures/44299/result.json index 9adf8dd6f..4bc63724f 100644 --- a/src/_tests/fixtures/44299/result.json +++ b/src/_tests/fixtures/44299/result.json @@ -13,7 +13,7 @@ "status": "🔔 @geopic — 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/44299/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44316/result.json b/src/_tests/fixtures/44316/result.json index 556696354..8ffbdb3fb 100644 --- a/src/_tests/fixtures/44316/result.json +++ b/src/_tests/fixtures/44316/result.json @@ -14,7 +14,7 @@ "status": "🔔 @mattleff — 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/44316/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343-pending-travis/result.json b/src/_tests/fixtures/44343-pending-travis/result.json index bffe25fc7..d52199b7c 100644 --- a/src/_tests/fixtures/44343-pending-travis/result.json +++ b/src/_tests/fixtures/44343-pending-travis/result.json @@ -11,7 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343-pre-travis/result.json b/src/_tests/fixtures/44343-pre-travis/result.json index bffe25fc7..d52199b7c 100644 --- a/src/_tests/fixtures/44343-pre-travis/result.json +++ b/src/_tests/fixtures/44343-pre-travis/result.json @@ -11,7 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44343/result.json b/src/_tests/fixtures/44343/result.json index bffe25fc7..d52199b7c 100644 --- a/src/_tests/fixtures/44343/result.json +++ b/src/_tests/fixtures/44343/result.json @@ -11,7 +11,7 @@ "status": "🔔 @joeriks — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44343/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44402/result.json b/src/_tests/fixtures/44402/result.json index 9ddd7fdc9..6830aaff4 100644 --- a/src/_tests/fixtures/44402/result.json +++ b/src/_tests/fixtures/44402/result.json @@ -16,7 +16,7 @@ "status": "@sandersn Everything looks good here. Great job! I am ready to merge this PR (at 5dfb994) on your behalf.\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" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44411/result.json b/src/_tests/fixtures/44411/result.json index a1afd0563..953fb93d1 100644 --- a/src/_tests/fixtures/44411/result.json +++ b/src/_tests/fixtures/44411/result.json @@ -13,7 +13,7 @@ "status": "🔔 @dawnmist @erbridge — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44411/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json index 58b2d52cf..3911f89a2 100644 --- a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json +++ b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json @@ -13,7 +13,7 @@ "status": "🔔 @chrisbarker @rdepena @whyn07m3 @licui3936 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44424/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44424-2-after-travis-second/result.json b/src/_tests/fixtures/44424-2-after-travis-second/result.json index 2b325bd0b..db581a252 100644 --- a/src/_tests/fixtures/44424-2-after-travis-second/result.json +++ b/src/_tests/fixtures/44424-2-after-travis-second/result.json @@ -13,7 +13,7 @@ "status": "🔔 @chrisbarker @rdepena @whyn07m3 @licui3936 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44424/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44437/result.json b/src/_tests/fixtures/44437/result.json index 5237a4fda..5d7957da7 100644 --- a/src/_tests/fixtures/44437/result.json +++ b/src/_tests/fixtures/44437/result.json @@ -16,7 +16,7 @@ "status": "@johnnyreilly Everything looks good here. Great job! I am ready to merge this PR (at eb92456) on your behalf.\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(@Berkays, @unindented, @kamontat, @theweirdone, @whoaa512: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44439/result.json b/src/_tests/fixtures/44439/result.json index 103b592b9..b4d067b2a 100644 --- a/src/_tests/fixtures/44439/result.json +++ b/src/_tests/fixtures/44439/result.json @@ -14,7 +14,7 @@ "status": "🔔 @lith-light-g — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44439/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44631/result.json b/src/_tests/fixtures/44631/result.json index 3dd157c6a..908b4e1af 100644 --- a/src/_tests/fixtures/44631/result.json +++ b/src/_tests/fixtures/44631/result.json @@ -14,7 +14,7 @@ "status": "@mAAdhaTTah Unfortunately, this pull request currently has a merge conflict 😥. Please update your PR branch to be up-to-date with respect to master. Have a nice day!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44857/result.json b/src/_tests/fixtures/44857/result.json index f15b1c6e8..5df627f27 100644 --- a/src/_tests/fixtures/44857/result.json +++ b/src/_tests/fixtures/44857/result.json @@ -23,7 +23,7 @@ "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 @Microsoft, @DefinitelyTyped, @jkomyno, @a-tarasyuk, @alvis, @r3nya, @btoueg, @brunoscheufler, @smac89, @touffy, @DeividasBakanas, @eyqs, @Flarna, @Hannes-Magnusson-CK, @KSXGitHub, @hoo29, @kjin, @ajafff, @islishude, @mwiktorczyk, @mohsen1, @n-e, @galkin, @parambirs, @eps1lon, @SimonSchick, @ThomasdenH, @WilcoBakker, @wwwy3y3, @samuela, @kuehlein, @j-oliveras, @bhongy, @chyzwar, @trivikr, @nguymin4, @yoursunny, @qwelias, @Ryan-Willpower, @peterblazejewicz, @addaleax, @JasonHK.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-14days/result.json b/src/_tests/fixtures/44989-14days/result.json index 25489df10..fa707036b 100644 --- a/src/_tests/fixtures/44989-14days/result.json +++ b/src/_tests/fixtures/44989-14days/result.json @@ -20,7 +20,7 @@ "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 Jul 6th (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.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-32days/result.json b/src/_tests/fixtures/44989-32days/result.json index a0c6d23b1..1707ed5c6 100644 --- a/src/_tests/fixtures/44989-32days/result.json +++ b/src/_tests/fixtures/44989-32days/result.json @@ -20,7 +20,7 @@ "status": "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." } ], - "suggestions": [], + "explanations": [], "shouldClose": true, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-3days/result.json b/src/_tests/fixtures/44989-3days/result.json index c094dfcd2..c485d7799 100644 --- a/src/_tests/fixtures/44989-3days/result.json +++ b/src/_tests/fixtures/44989-3days/result.json @@ -15,7 +15,7 @@ "status": "@petr-motejlek Everything looks good here. Great job! I am ready to merge this PR (at 9ca6086) on your behalf.\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(@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: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/44989-7days/result.json b/src/_tests/fixtures/44989-7days/result.json index b9b516223..3b47a93d0 100644 --- a/src/_tests/fixtures/44989-7days/result.json +++ b/src/_tests/fixtures/44989-7days/result.json @@ -15,7 +15,7 @@ "status": "@petr-motejlek Everything looks good here. Great job! I am ready to merge this PR (at 9ca6086) on your behalf.\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(@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: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45137/result.json b/src/_tests/fixtures/45137/result.json index 9ed8730f6..fcf97313d 100644 --- a/src/_tests/fixtures/45137/result.json +++ b/src/_tests/fixtures/45137/result.json @@ -17,7 +17,7 @@ "status": "@lirbank 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* `mongodb` [on npm](https://www.npmjs.com/package/mongodb), [on unpkg](https://unpkg.com/browse/mongodb@latest/) (author is owner)\n - owner-approval: @LinusU\n - 1 removed owner: ✎@lirbank\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed by a DT maintainer.\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 ..." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45627/result.json b/src/_tests/fixtures/45627/result.json index 5e1879552..f31ff1921 100644 --- a/src/_tests/fixtures/45627/result.json +++ b/src/_tests/fixtures/45627/result.json @@ -26,7 +26,7 @@ "status": "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." } ], - "suggestions": [], + "explanations": [], "shouldClose": true, "shouldMerge": true, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45836/result.json b/src/_tests/fixtures/45836/result.json index c12a5cdf5..ac67f023f 100644 --- a/src/_tests/fixtures/45836/result.json +++ b/src/_tests/fixtures/45836/result.json @@ -15,7 +15,7 @@ "status": ":passport_control: Hi @mmorearty,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45884/result.json b/src/_tests/fixtures/45884/result.json index fbf73683c..83be5ac98 100644 --- a/src/_tests/fixtures/45884/result.json +++ b/src/_tests/fixtures/45884/result.json @@ -19,7 +19,7 @@ "status": "@sgratzl Everything looks good here. Great job! I am ready to merge this PR (at 1dcf44a) on your behalf.\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(@phreed, @wy193777, @ypconstante, @janniclas, @cerberuser, @gsbelarus, @peterjferrarotto, @spaxe, @appleparan, @Veckodag: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45888/result.json b/src/_tests/fixtures/45888/result.json index 8f473d200..b8df4a1e2 100644 --- a/src/_tests/fixtures/45888/result.json +++ b/src/_tests/fixtures/45888/result.json @@ -18,7 +18,7 @@ "status": "🔔 @sampsonjoliver @andipaetzold @JiriBalcar @CodeLenny — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/45888/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45890/result.json b/src/_tests/fixtures/45890/result.json index b7a4506ef..7ad2a00c0 100644 --- a/src/_tests/fixtures/45890/result.json +++ b/src/_tests/fixtures/45890/result.json @@ -14,7 +14,7 @@ "status": "🔔 @dimkirt — 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/45890/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45946/result.json b/src/_tests/fixtures/45946/result.json index 643abe9b8..57374df64 100644 --- a/src/_tests/fixtures/45946/result.json +++ b/src/_tests/fixtures/45946/result.json @@ -14,7 +14,7 @@ "status": "🔔 @rubensworks — 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/45946/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45982/result.json b/src/_tests/fixtures/45982/result.json index 0942b7bfd..446ecb278 100644 --- a/src/_tests/fixtures/45982/result.json +++ b/src/_tests/fixtures/45982/result.json @@ -9,7 +9,7 @@ "status": "@dasa — There was an error that prevented me from properly processing this PR:\n\n error parsing owners: At 1:1 : Expected /\\/\\/ Type definitions for (non-npm package )?/" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/45999/result.json b/src/_tests/fixtures/45999/result.json index 25d4a11e5..c9cfba5db 100644 --- a/src/_tests/fixtures/45999/result.json +++ b/src/_tests/fixtures/45999/result.json @@ -15,7 +15,7 @@ "status": "@alexpyzhianov Everything looks good here. Great job! I am ready to merge this PR (at 381a2a9) on your behalf.\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(@johnnyreilly, @bbenezech, @pzavolinsky, @digiguru, @ericanderson, @DovydasNavickas, @theruther4d, @guilhermehubner, @ferdaber, @jrakotoharisoa, @pascaloliv, @hotell, @franklixuefei, @Jessidhia, @saranshkataria, @lukyth, @eps1lon, @zieka, @dancerphil, @dimitropoulos, @disjukr, @vhfmag, @hellatan: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46008/result.json b/src/_tests/fixtures/46008/result.json index 99bf53410..d51d5524d 100644 --- a/src/_tests/fixtures/46008/result.json +++ b/src/_tests/fixtures/46008/result.json @@ -19,7 +19,7 @@ "status": "@risingBirdSong Everything looks good here. Great job! I am ready to merge this PR (at 3e19cb9) on your behalf.\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(@p5-types, @Zalastax: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46019/result.json b/src/_tests/fixtures/46019/result.json index 4b3748f93..8c270688b 100644 --- a/src/_tests/fixtures/46019/result.json +++ b/src/_tests/fixtures/46019/result.json @@ -15,7 +15,7 @@ "status": "@peterblazejewicz Everything looks good here. Great job! I am ready to merge this PR (at ceca9f7) on your behalf.\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" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46120/result.json b/src/_tests/fixtures/46120/result.json index cb5212e89..58006a21b 100644 --- a/src/_tests/fixtures/46120/result.json +++ b/src/_tests/fixtures/46120/result.json @@ -20,7 +20,7 @@ "status": ":passport_control: Hi @reubenrybnik,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46191/result.json b/src/_tests/fixtures/46191/result.json index 36c739795..0050a60cb 100644 --- a/src/_tests/fixtures/46191/result.json +++ b/src/_tests/fixtures/46191/result.json @@ -23,7 +23,7 @@ "status": "@jordanoverbye The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3cc81dbde57a1b0eda6f69f539fa49b8d420adff/checks?check_suite_id=938074936).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46196/result.json b/src/_tests/fixtures/46196/result.json index de6a6a0fe..35ace154a 100644 --- a/src/_tests/fixtures/46196/result.json +++ b/src/_tests/fixtures/46196/result.json @@ -11,7 +11,7 @@ "status": "🔔 @HeeL — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46196/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46279/result.json b/src/_tests/fixtures/46279/result.json index 729ca842b..6174753b1 100644 --- a/src/_tests/fixtures/46279/result.json +++ b/src/_tests/fixtures/46279/result.json @@ -19,7 +19,7 @@ "status": "🔔 @pzingg — 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/46279/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...)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46804/result.json b/src/_tests/fixtures/46804/result.json index ae8248f19..8a1761f49 100644 --- a/src/_tests/fixtures/46804/result.json +++ b/src/_tests/fixtures/46804/result.json @@ -17,7 +17,7 @@ "status": "🔔 @hrngoode @adina-todoran @BreadAndRoses95 — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46804/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/46879/result.json b/src/_tests/fixtures/46879/result.json index 99d350ba1..23c7dc19d 100644 --- a/src/_tests/fixtures/46879/result.json +++ b/src/_tests/fixtures/46879/result.json @@ -13,7 +13,7 @@ "status": "🔔 @sudoplz @GiedriusGrabauskas — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/46879/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json index d97a598d9..263c29ae6 100644 --- a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json +++ b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json @@ -10,7 +10,7 @@ "status": "@mastermatt Thank you for submitting this PR!\n\n***This is a live comment which I will keep updated.***\n\n## 2 packages in this PR\n\n* `express-serve-static-core` [on npm](https://www.npmjs.com/package/express-serve-static-core), [on unpkg](https://unpkg.com/browse/express-serve-static-core@latest/)\n - owner-approval: @dwrss\n* `express` [on npm](https://www.npmjs.com/package/express), [on unpkg](https://unpkg.com/browse/express@latest/)\n\n## Code Reviews\n\nThis PR can be merged once it's reviewed.\n\n## Status\n\n * ✅ No merge conflicts\n * ✅ Continuous integration tests have passed\n * ❌ All owners or a DT maintainer needs to approve changes which affect more than one package\n - ✅ express-serve-static-core\n - ❌ express\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 ..." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json index c414b6ce8..8fc7c858e 100644 --- a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json +++ b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json @@ -16,7 +16,7 @@ "status": "@mastermatt Everything looks good here. Great job! I am ready to merge this PR (at dbe687d) on your behalf.\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" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017-blessed/result.json b/src/_tests/fixtures/47017-blessed/result.json index e9418fc69..ab6f65209 100644 --- a/src/_tests/fixtures/47017-blessed/result.json +++ b/src/_tests/fixtures/47017-blessed/result.json @@ -14,7 +14,7 @@ "status": "🔔 @borisyankov @19majkel94 @kacepe @micksatana @samijaber @aereal @JoseLion @dwrss @andoshin11 @CMUH @puneetar @dfrankland — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47017/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/47017/result.json b/src/_tests/fixtures/47017/result.json index 59e1499c2..48b7ad6d9 100644 --- a/src/_tests/fixtures/47017/result.json +++ b/src/_tests/fixtures/47017/result.json @@ -14,7 +14,7 @@ "status": "🔔 @borisyankov @19majkel94 @kacepe @micksatana @samijaber @aereal @JoseLion @dwrss @andoshin11 @CMUH @puneetar @dfrankland — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47017/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48216/result.json b/src/_tests/fixtures/48216/result.json index d3138ea23..b048047ef 100644 --- a/src/_tests/fixtures/48216/result.json +++ b/src/_tests/fixtures/48216/result.json @@ -11,7 +11,7 @@ "status": "🔔 @innovation-team @rlbaxter — please [review this PR](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/48216/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." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48236/result.json b/src/_tests/fixtures/48236/result.json index a452baac0..8e0de7773 100644 --- a/src/_tests/fixtures/48236/result.json +++ b/src/_tests/fixtures/48236/result.json @@ -18,7 +18,7 @@ "status": "@jablko Everything looks good here. Great job! I am ready to merge this PR (at b4d71f6) on your behalf.\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(@climba03003: you can do this too.)" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": true, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-merge-offer/result.json b/src/_tests/fixtures/48652-merge-offer/result.json index a539ecac9..1499e4b64 100644 --- a/src/_tests/fixtures/48652-merge-offer/result.json +++ b/src/_tests/fixtures/48652-merge-offer/result.json @@ -20,7 +20,7 @@ "status": "@RyanCavanaugh, @thorn0, @falsyvalues 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?" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-prereq/result.json b/src/_tests/fixtures/48652-prereq/result.json index 56ded53b1..9e2be4c46 100644 --- a/src/_tests/fixtures/48652-prereq/result.json +++ b/src/_tests/fixtures/48652-prereq/result.json @@ -24,7 +24,7 @@ "status": ":passport_control: Hi @mgol,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json index 8b5520a45..4972185cf 100644 --- a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json +++ b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json @@ -18,7 +18,7 @@ "status": ":passport_control: Hi @mgol,\n\nI can't [accept a merge request](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-make-a-pull-request) until the PR has a green CI and was appropriately reviewed. I will let you know once that happens.\n\nThanks, and happy typing!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48652-retract-merge-offer/result.json b/src/_tests/fixtures/48652-retract-merge-offer/result.json index ffa0798da..6cb7e1194 100644 --- a/src/_tests/fixtures/48652-retract-merge-offer/result.json +++ b/src/_tests/fixtures/48652-retract-merge-offer/result.json @@ -14,7 +14,7 @@ "status": "@mgol 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!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48708/result.json b/src/_tests/fixtures/48708/result.json index 2cd6eb7dd..a1c0efeac 100644 --- a/src/_tests/fixtures/48708/result.json +++ b/src/_tests/fixtures/48708/result.json @@ -20,7 +20,7 @@ "status": "@martin-badin 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 Dec 12th (in a week) if the issues aren't addressed." } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/48945/result.json b/src/_tests/fixtures/48945/result.json index 5d906bc5d..eb94b2c2d 100644 --- a/src/_tests/fixtures/48945/result.json +++ b/src/_tests/fixtures/48945/result.json @@ -14,7 +14,7 @@ "status": "@google-api-typings-generator 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!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49417/result.json b/src/_tests/fixtures/49417/result.json index afbb58a46..cea59b057 100644 --- a/src/_tests/fixtures/49417/result.json +++ b/src/_tests/fixtures/49417/result.json @@ -19,7 +19,7 @@ "status": "@tuuling 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?" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49548/result.json b/src/_tests/fixtures/49548/result.json index 52414adda..0af77ae79 100644 --- a/src/_tests/fixtures/49548/result.json +++ b/src/_tests/fixtures/49548/result.json @@ -19,7 +19,7 @@ "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!" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49575/result.json b/src/_tests/fixtures/49575/result.json index cf5911fb8..d276d0eef 100644 --- a/src/_tests/fixtures/49575/result.json +++ b/src/_tests/fixtures/49575/result.json @@ -18,7 +18,7 @@ "status": "@elibarzilay, @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?" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": false, "shouldUpdateLabels": true, diff --git a/src/_tests/fixtures/49639/derived.json b/src/_tests/fixtures/49639/derived.json index 14f21561d..ee89383d3 100644 --- a/src/_tests/fixtures/49639/derived.json +++ b/src/_tests/fixtures/49639/derived.json @@ -22,21 +22,19 @@ { "path": "types/jasmine/tsconfig.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it", - "suggestion": { + "suspect": { "startLine": 21, "endLine": 21, - "text": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n```" } }, { "path": "types/jasmine/tslint.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it", - "suggestion": { + "suspect": { "startLine": 4, "endLine": 4, - "text": "" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\n```suggestion\n```" } } ], diff --git a/src/_tests/fixtures/49639/mutations.json b/src/_tests/fixtures/49639/mutations.json index 1f8d812c4..a2a9ac8ad 100644 --- a/src/_tests/fixtures/49639/mutations.json +++ b/src/_tests/fixtures/49639/mutations.json @@ -46,7 +46,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDcyOTI0NjE3Mw==", - "body": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-522bbd567aec6bfd3e2cd29af157310bd47eb79dbe6a670beb4da4e1a14d0f2d): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ...\n" + "body": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\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\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 ([`jasmine/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-522bbd567aec6bfd3e2cd29af157310bd47eb79dbe6a670beb4da4e1a14d0f2d), [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e))\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 8 days.\n\n----------------------\n... diagnostics scrubbed ...\n" } } }, @@ -57,7 +57,7 @@ "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", "path": "types/jasmine/tsconfig.json", "line": 21, - "body": "```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n```" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n```" } } }, @@ -68,7 +68,7 @@ "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTIyNzM5MjUx", "path": "types/jasmine/tslint.json", "line": 4, - "body": "```suggestion\n```" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\n```suggestion\n```" } } }, diff --git a/src/_tests/fixtures/49639/result.json b/src/_tests/fixtures/49639/result.json index 0f03496ca..f34725b8f 100644 --- a/src/_tests/fixtures/49639/result.json +++ b/src/_tests/fixtures/49639/result.json @@ -15,21 +15,21 @@ }, { "tag": "welcome", - "status": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\n - Config files to check:\n - [`jasmine/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-522bbd567aec6bfd3e2cd29af157310bd47eb79dbe6a670beb4da4e1a14d0f2d): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n - [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\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\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 8 days.\n\n----------------------\n... diagnostics scrubbed ..." + "status": "@ienzam 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* `jasmine` [on npm](https://www.npmjs.com/package/jasmine), [on unpkg](https://unpkg.com/browse/jasmine@latest/) (author is owner)\n - owner-approval: @chivesrs\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\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 ([`jasmine/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-522bbd567aec6bfd3e2cd29af157310bd47eb79dbe6a670beb4da4e1a14d0f2d), [`jasmine/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49639/files/c5e5c9885d23e7d1c1ea8f54b53c8283d5f4f856#diff-0a3e03c56e43fc53245f1e4296782b62788ba4c9e70c9439d22b1998e681f55e))\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 8 days.\n\n----------------------\n... diagnostics scrubbed ..." } ], - "suggestions": [ + "explanations": [ { "path": "types/jasmine/tsconfig.json", "startLine": 21, "endLine": 21, - "text": " \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) and not moving towards it\n```suggestion\n \"forceConsistentCasingInFileNames\": true,\n \"strictFunctionTypes\": true\n```" }, { "path": "types/jasmine/tslint.json", "startLine": 4, "endLine": 4, - "text": "" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson) and not moving towards it\n```suggestion\n```" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/49841/derived.json b/src/_tests/fixtures/49841/derived.json index 7e6aa7931..f8b8954b8 100644 --- a/src/_tests/fixtures/49841/derived.json +++ b/src/_tests/fixtures/49841/derived.json @@ -26,11 +26,10 @@ { "path": "types/react-native-sha1/tsconfig.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)", - "suggestion": { + "suspect": { "startLine": 17, "endLine": 17, - "text": "" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```suggestion\n```" } }, { diff --git a/src/_tests/fixtures/49841/mutations.json b/src/_tests/fixtures/49841/mutations.json index e17c25ac8..ef7c25e60 100644 --- a/src/_tests/fixtures/49841/mutations.json +++ b/src/_tests/fixtures/49841/mutations.json @@ -37,7 +37,7 @@ "variables": { "input": { "subjectId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", - "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\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## 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" + "body": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\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## 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" } } }, @@ -66,7 +66,7 @@ "pullRequestId": "MDExOlB1bGxSZXF1ZXN0NTI4OTE2Mjg5", "path": "types/react-native-sha1/tsconfig.json", "line": 17, - "body": "```suggestion\n```" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```suggestion\n```" } } }, diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json index 29bdf58a5..a4877bb48 100644 --- a/src/_tests/fixtures/49841/result.json +++ b/src/_tests/fixtures/49841/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\n - Config files to check:\n - [`react-native-sha1/tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49841/files/4849e8876b0ab7adc889ccc35b55fde6f0274837#diff-579fae17725faf40efb4aac22d7bcfb2337ec7080258e4a206f5a479968d3556): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\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## 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 ..." + "status": "@shekari-ah 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* `react-native-sha1` (*new!*) [on npm](https://www.npmjs.com/package/react-native-sha1), [on unpkg](https://unpkg.com/browse/react-native-sha1@latest/)\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## 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", @@ -19,12 +19,12 @@ "status": "@shekari-ah The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/4849e8876b0ab7adc889ccc35b55fde6f0274837/checks?check_suite_id=1574877739).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": [ + "explanations": [ { "path": "types/react-native-sha1/tsconfig.json", "startLine": 17, "endLine": 17, - "text": "" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson)\n```suggestion\n```" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/50429/derived.json b/src/_tests/fixtures/50429/derived.json index 24d4c1a8c..d3c9eb6dc 100644 --- a/src/_tests/fixtures/50429/derived.json +++ b/src/_tests/fixtures/50429/derived.json @@ -42,11 +42,10 @@ { "path": "types/omise-js/tslint.json", "kind": "package-meta", - "suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)", - "suggestion": { + "suspect": { "startLine": 1, "endLine": 8, - "text": "{ \"extends\": \"dtslint/dt.json\" }\n" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n```" } } ], diff --git a/src/_tests/fixtures/50429/mutations.json b/src/_tests/fixtures/50429/mutations.json index def483c7f..fadaa0c60 100644 --- a/src/_tests/fixtures/50429/mutations.json +++ b/src/_tests/fixtures/50429/mutations.json @@ -24,7 +24,7 @@ "variables": { "input": { "id": "MDEyOklzc3VlQ29tbWVudDc1NTI4NDk3Mw==", - "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\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## 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" + "body": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\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## 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" } } }, @@ -45,7 +45,7 @@ "path": "types/omise-js/tslint.json", "startLine": 1, "line": 8, - "body": "```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n```" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n```" } } }, diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json index f4e3f0c77..3c815d696 100644 --- a/src/_tests/fixtures/50429/result.json +++ b/src/_tests/fixtures/50429/result.json @@ -8,7 +8,7 @@ "responseComments": [ { "tag": "welcome", - "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\n - Config files to check:\n - [`omise-js/tslint.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50429/files/8454d0853c273f9a20b08bd68cfd5c6b4f70c018#diff-651e0e95c5e0be3d22dccf8cb88166e0cfe629300ebbfc9882793cd008c0d109): not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\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## 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 ..." + "status": "@SaltyAom 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 which I will keep updated.***\n\n## 1 package in this PR\n\n* `omise-js` (*new!*) [on npm](https://www.npmjs.com/package/omise-js), [on unpkg](https://unpkg.com/browse/omise-js@latest/)\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## 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", @@ -19,12 +19,12 @@ "status": "@SaltyAom The CI build failed! Please [review the logs for more information](https://github.com/DefinitelyTyped/DefinitelyTyped/commit/8454d0853c273f9a20b08bd68cfd5c6b4f70c018/checks?check_suite_id=1778052567).\r\n\r\nOnce you've pushed the fixes, the build will automatically re-run. Thanks!" } ], - "suggestions": [ + "explanations": [ { "path": "types/omise-js/tslint.json", "startLine": 1, "endLine": 8, - "text": "{ \"extends\": \"dtslint/dt.json\" }\n" + "body": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-tslintjson)\n```suggestion\n{ \"extends\": \"dtslint/dt.json\" }\n```" } ], "shouldClose": false, diff --git a/src/_tests/fixtures/50443/result.json b/src/_tests/fixtures/50443/result.json index e41a3c051..f436f4522 100644 --- a/src/_tests/fixtures/50443/result.json +++ b/src/_tests/fixtures/50443/result.json @@ -15,7 +15,7 @@ "status": "@shockdevv Everything looks good here. Great job! I am ready to merge this PR (at 130c088) on your behalf.\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" } ], - "suggestions": [], + "explanations": [], "shouldClose": false, "shouldMerge": true, "shouldUpdateLabels": true,