From ccb353ee3e381b5b0668f9b026aa7c7de0fae602 Mon Sep 17 00:00:00 2001 From: Orta Date: Wed, 30 Jun 2021 14:56:56 +0100 Subject: [PATCH] Don't automatically recommend creating an issue on DT, because it'll basically just be ignored --- .../nested-scoped-packages.test.ts.snap | 4 --- src/createIssue.test.ts | 28 +++++++++++++++++++ src/createIssue.ts | 16 ++++++++++- 3 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 src/createIssue.test.ts diff --git a/integration-tests/nested-scoped-packages/__snapshots__/nested-scoped-packages.test.ts.snap b/integration-tests/nested-scoped-packages/__snapshots__/nested-scoped-packages.test.ts.snap index e30b642e..f6566d46 100644 --- a/integration-tests/nested-scoped-packages/__snapshots__/nested-scoped-packages.test.ts.snap +++ b/integration-tests/nested-scoped-packages/__snapshots__/nested-scoped-packages.test.ts.snap @@ -8,10 +8,6 @@ patch-package 0.0.0 • Diffing your files with clean files ✔ Created file patches/@microsoft+mezzurite-core++@types+angular+1.6.53.patch -💡 @types/angular is on GitHub! To draft an issue based on your patch run - - yarn patch-package @microsoft/mezzurite-core/@types/angular --create-issue - END SNAPSHOT" `; diff --git a/src/createIssue.test.ts b/src/createIssue.test.ts new file mode 100644 index 00000000..72cfe99e --- /dev/null +++ b/src/createIssue.test.ts @@ -0,0 +1,28 @@ +import { shouldRecommendIssue } from "./createIssue" + +describe(shouldRecommendIssue, () => { + it("Allows most repos", () => { + const eigen = shouldRecommendIssue({ + org: "artsy", + repo: "eigen", + provider: "GitHub", + }) + expect(eigen).toBeTruthy() + + const typescript = shouldRecommendIssue({ + org: "Microsoft", + repo: "TypeScript", + provider: "GitHub", + }) + expect(typescript).toBeTruthy() + }) + + it("does not recommend DefinitelyTyped", () => { + const typescript = shouldRecommendIssue({ + org: "DefinitelyTyped", + repo: "DefinitelyTyped", + provider: "GitHub", + }) + expect(typescript).toBeFalsy() + }) +}) diff --git a/src/createIssue.ts b/src/createIssue.ts index c24764ae..6ce03e8f 100644 --- a/src/createIssue.ts +++ b/src/createIssue.ts @@ -46,12 +46,26 @@ function getPackageVCSDetails(packageDetails: PackageDetails) { } } +export function shouldRecommendIssue( + vcsDetails: ReturnType, +) { + if (!vcsDetails) { + return true + } + + const { repo, org } = vcsDetails + if (repo === "DefinitelyTyped" && org === "DefinitelyTyped") { + return false + } + return true +} + export function maybePrintIssueCreationPrompt( packageDetails: PackageDetails, packageManager: PackageManager, ) { const vcs = getPackageVCSDetails(packageDetails) - if (vcs) { + if (vcs && shouldRecommendIssue(vcs)) { console.log(`💡 ${chalk.bold(packageDetails.name)} is on ${ vcs.provider }! To draft an issue based on your patch run