From a2d52019591b8d3a5d81c79f503310c41224fca2 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 2 Dec 2025 12:43:46 +0800 Subject: [PATCH 1/5] chore: remove unused imports --- packages/cli/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/cli/index.ts b/packages/cli/index.ts index bd593160..987a21c9 100644 --- a/packages/cli/index.ts +++ b/packages/cli/index.ts @@ -1,5 +1,4 @@ /* eslint-disable unicorn/no-process-exit */ -import assert from "node:assert"; import path from "node:path"; import { createHash } from "node:crypto"; import fsSync from "node:fs"; From f52611ce523938e79c51d388ff4a3adf197e5af9 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 2 Dec 2025 13:36:51 +0800 Subject: [PATCH 2/5] feat: add `pnpmMessageType` option --- packages/app/server/routes/publish.post.ts | 7 ++++++- packages/cli/index.ts | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/app/server/routes/publish.post.ts b/packages/app/server/routes/publish.post.ts index e1d4cc67..5515f4c9 100644 --- a/packages/app/server/routes/publish.post.ts +++ b/packages/app/server/routes/publish.post.ts @@ -21,6 +21,7 @@ export default eventHandler(async (event) => { "sb-bin": binHeader, "sb-package-manager": packageManagerHeader, "sb-only-templates": onlyTemplatesHeader, + "sb-pnpm-message-type": pnpmMessageTypeHeader, } = getHeaders(event); const compact = compactHeader === "true"; const onlyTemplates = onlyTemplatesHeader === "true"; @@ -28,6 +29,10 @@ export default eventHandler(async (event) => { const bin = binHeader === "true"; const packageManager: PackageManager = (packageManagerHeader as PackageManager) || "npm"; + const pnpmMessageType: "sha" | "ref" = + pnpmMessageTypeHeader === "sha" || pnpmMessageTypeHeader === "ref" + ? pnpmMessageTypeHeader + : "ref"; if (!key || !runIdHeader || !shasumsHeader) { throw createError({ @@ -290,7 +295,7 @@ export default eventHandler(async (event) => { onlyTemplates, checkRunUrl, packageManager, - "ref", + pnpmMessageType, bin, ), }, diff --git a/packages/cli/index.ts b/packages/cli/index.ts index 987a21c9..4f15c9f3 100644 --- a/packages/cli/index.ts +++ b/packages/cli/index.ts @@ -70,6 +70,13 @@ const main = defineCommand({ type: "boolean", description: "use `pnpm pack` instead of `npm pack --json`", }, + pnpmMessageType: { + type: "string", + description: + "specify whether the installation link generated by the pnpm package manager should include the pr number or the commit hash value at the end.", + enum: ["sha", "ref"], + default: "ref", + }, yarn: { type: "boolean", description: "use `yarn pack` instead of `npm pack --json`", @@ -541,6 +548,7 @@ const main = defineCommand({ "sb-bin": `${isBinaryApplication}`, "sb-package-manager": selectedPackageManager.join(","), "sb-only-templates": `${isOnlyTemplates}`, + "sb-pnpm-message-type": args.pnpmMessageType, }, body: formData, }); From 73e566f8ab370d7a9071809c475dff507ab89559 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 3 Dec 2025 20:06:41 +0800 Subject: [PATCH 3/5] feat: update option --- packages/app/server/routes/publish.post.ts | 9 +++------ packages/cli/index.ts | 15 +++++++-------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/packages/app/server/routes/publish.post.ts b/packages/app/server/routes/publish.post.ts index 5515f4c9..3ca882e4 100644 --- a/packages/app/server/routes/publish.post.ts +++ b/packages/app/server/routes/publish.post.ts @@ -21,7 +21,7 @@ export default eventHandler(async (event) => { "sb-bin": binHeader, "sb-package-manager": packageManagerHeader, "sb-only-templates": onlyTemplatesHeader, - "sb-pnpm-message-type": pnpmMessageTypeHeader, + "sb-comment-with-sha": commentWithShaHeader, } = getHeaders(event); const compact = compactHeader === "true"; const onlyTemplates = onlyTemplatesHeader === "true"; @@ -29,10 +29,7 @@ export default eventHandler(async (event) => { const bin = binHeader === "true"; const packageManager: PackageManager = (packageManagerHeader as PackageManager) || "npm"; - const pnpmMessageType: "sha" | "ref" = - pnpmMessageTypeHeader === "sha" || pnpmMessageTypeHeader === "ref" - ? pnpmMessageTypeHeader - : "ref"; + const commentWithSha = commentWithShaHeader === "true"; if (!key || !runIdHeader || !shasumsHeader) { throw createError({ @@ -295,7 +292,7 @@ export default eventHandler(async (event) => { onlyTemplates, checkRunUrl, packageManager, - pnpmMessageType, + commentWithSha ? "sha" : "ref", bin, ), }, diff --git a/packages/cli/index.ts b/packages/cli/index.ts index 4f15c9f3..d2ade359 100644 --- a/packages/cli/index.ts +++ b/packages/cli/index.ts @@ -70,13 +70,6 @@ const main = defineCommand({ type: "boolean", description: "use `pnpm pack` instead of `npm pack --json`", }, - pnpmMessageType: { - type: "string", - description: - "specify whether the installation link generated by the pnpm package manager should include the pr number or the commit hash value at the end.", - enum: ["sha", "ref"], - default: "ref", - }, yarn: { type: "boolean", description: "use `yarn pack` instead of `npm pack --json`", @@ -95,6 +88,12 @@ const main = defineCommand({ description: `"off" for no comments (silent mode). "create" for comment on each publish. "update" for one comment across the pull request with edits on each publish (default)`, default: "update", }, + commentWithSha: { + type: "boolean", + description: + "use commit sha instead of the pr number in the comment links", + default: false, + }, "only-templates": { type: "boolean", description: `generate only stackblitz templates`, @@ -548,7 +547,7 @@ const main = defineCommand({ "sb-bin": `${isBinaryApplication}`, "sb-package-manager": selectedPackageManager.join(","), "sb-only-templates": `${isOnlyTemplates}`, - "sb-pnpm-message-type": args.pnpmMessageType, + "sb-comment-with-sha": `${args.commentWithSha}`, }, body: formData, }); From 666e12ce537b043906cb6785a3c4b8c57c03498f Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 3 Dec 2025 20:12:32 +0800 Subject: [PATCH 4/5] docs: update readme --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index f5bd72b6..174599e9 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,20 @@ With `--comment=create`, each commit would generate a comment for itself, useful And `--comment=off` would turn off comments for maintainers who prefer minimal pull requests. +> `--commentWithSha` specify whether to replace the pr number with sha commit in the generated comments. + +With `--commentWithSha`: + +```sh +npm i https://pkg.pr.new/tinybench@a832a55 +``` + +Without `--commentWithSha`: + +```sh +npm i https://pkg.pr.new/tinybench@123 +``` + To customize which package manager is reflected in the comments, use the `--packageManager=XYZ` flag. XYZ can be one of the following: npm (default), pnpm, yarn, or bun. Multiple valid values ​​can also be configured at the same time, such as `--packageManager=ABC,XYZ`. For repositories with many packages, comments might get too long. In that case, you can use `--only-templates` to only show templates. From 0977ce5c1ec8e7945c27100e0f1e5658da6e2bdd Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 3 Dec 2025 20:15:56 +0800 Subject: [PATCH 5/5] refactor: update --- packages/cli/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/cli/index.ts b/packages/cli/index.ts index d2ade359..9f963f31 100644 --- a/packages/cli/index.ts +++ b/packages/cli/index.ts @@ -148,6 +148,7 @@ const main = defineCommand({ const isPeerDepsEnabled = !!args.peerDeps; const isOnlyTemplates = !!args["only-templates"]; const isBinaryApplication = !!args.bin; + const isCommentWithSha = !!args.commentWithSha; const comment: Comment = args.comment as Comment; const selectedPackageManager = (args.packageManager as string) .split(",") @@ -547,7 +548,7 @@ const main = defineCommand({ "sb-bin": `${isBinaryApplication}`, "sb-package-manager": selectedPackageManager.join(","), "sb-only-templates": `${isOnlyTemplates}`, - "sb-comment-with-sha": `${args.commentWithSha}`, + "sb-comment-with-sha": `${isCommentWithSha}`, }, body: formData, });