diff --git a/packages/app/app/components/Commits.vue b/packages/app/app/components/Commits.vue index 606fae7f..f2ac3b86 100644 --- a/packages/app/app/components/Commits.vue +++ b/packages/app/app/components/Commits.vue @@ -187,6 +187,20 @@ async function goPrevPage() { } await fetchPage(currentPage.value - 1); } +function buildInstallMarkdown( + commit: (typeof commitsWithRelease.value)[number] | null, +) { + if (!commit) return ""; + const origin = typeof window !== "undefined" ? window.location.origin : ""; + const packages: string[] = commit.release.packages ?? []; + return packages + .map((pkg) => { + const shorter = props.repo === pkg; + const repoSegment = shorter ? "" : `/${props.repo}`; + return `\`\`\`\nnpm i ${origin}/${props.owner}${repoSegment}/${pkg}@${commit.abbreviatedOid}\n\`\`\``; + }) + .join("\n\n"); +} diff --git a/packages/app/server/api/repo/commits.get.ts b/packages/app/server/api/repo/commits.get.ts index 472f8d87..eee5ac8d 100644 --- a/packages/app/server/api/repo/commits.get.ts +++ b/packages/app/server/api/repo/commits.get.ts @@ -1,7 +1,5 @@ import type { H3Event } from "h3"; import { z } from "zod"; -import type { PackageManager } from "@pkg-pr-new/utils"; -import { generateCommitPublishMessage } from "../../utils/markdown"; import { useBinding, useCursorsBucket, @@ -28,20 +26,6 @@ interface CommitMeta { branch: string | null; } -function getCommitPanelOrigin(event: H3Event) { - const requestUrl = getRequestURL(event); - const headers = getHeaders(event); - const host = - headers["x-forwarded-host"]?.split(",")[0]?.trim() || - headers.host?.split(",")[0]?.trim() || - requestUrl.host; - const protocol = - headers["x-forwarded-proto"]?.split(",")[0]?.trim() || - requestUrl.protocol.replace(":", ""); - - return `${protocol}://${host}`; -} - async function getCommitMetadata( installation: Awaited>, owner: string, @@ -142,30 +126,6 @@ async function getDefaultBranchInfo( }; } -function makeReleaseText( - origin: string, - owner: string, - repo: string, - sha: string, - packages: string[], -) { - return generateCommitPublishMessage( - origin, - {}, - packages, - { - owner, - repo, - sha, - ref: sha, - }, - false, - "npm" satisfies PackageManager, - false, - false, - ).trim(); -} - export default defineEventHandler(async (event) => { try { const query = await getValidatedQuery(event, (data) => @@ -251,7 +211,6 @@ export default defineEventHandler(async (event) => { const nextCursor = hasNextPage ? String(page + 1) : null; const totalCount = releases.length; const totalPages = Math.max(1, Math.ceil(totalCount / perPage)); - const origin = getCommitPanelOrigin(event); const commitMetadata = await getCommitMetadata( installation, query.owner, @@ -298,13 +257,7 @@ export default defineEventHandler(async (event) => { name: "Continuous Releases", title: "Continuous Releases", summary: `Published ${sortedPackages.length} package(s)`, - text: makeReleaseText( - origin, - query.owner, - query.repo, - row.sha, - sortedPackages, - ), + packages: sortedPackages, detailsUrl: `https://github.com/${query.owner}/${query.repo}/commit/${row.sha}`, url: `https://github.com/${query.owner}/${query.repo}/commit/${row.sha}`, },