fix lint errors, consolidate husky hooks into root .husky

action/.husky prepare script was overriding root husky config, so the
pre-push hook (lint + typecheck + test) never ran. merged the lockfile
sync pre-commit into root .husky/pre-commit and removed action/.husky.
also auto-fixed biome format/import-sort errors from last commit.

Made-with: Cursor
This commit is contained in:
Colin McDonnell
2026-04-12 18:57:48 +00:00
committed by pullfrog[bot]
parent 23a39d7f4b
commit 8a6696dd1d
4 changed files with 11 additions and 13 deletions
-8
View File
@@ -1,8 +0,0 @@
# sync action lockfile when action/package.json changes
if git diff --cached --name-only | grep -q "^action/package.json$"; then
echo "🔒 syncing action/pnpm-lock.yaml..."
# note: pnpm -C action install will *not* treat "action" as a monorepo root if run from repo root;
# to install with action/ as the workspace root (and search upwards), cd into action first:
(cd action && pnpm install --no-frozen-lockfile)
git add action/pnpm-lock.yaml
fi
+9 -3
View File
@@ -384,7 +384,9 @@ async function ensureInstallation(ctx: {
isOrg: initial.isOrg,
});
activeSpin!.stop(`pullfrog is installed on selected repos, but ${repoRef} is not included.`);
p.log.info(`add it under "Repository access" on the installation config page.\n ${pc.dim(configUrl)}`);
p.log.info(
`add it under "Repository access" on the installation config page.\n ${pc.dim(configUrl)}`
);
const openIt = await p.confirm({ message: "open browser?", active: "yes", inactive: "no" });
handleCancel(openIt);
if (openIt) openBrowser(configUrl);
@@ -742,7 +744,9 @@ async function promptTestRun(ctx: { token: string; owner: string; repo: string }
activeSpin!.stop("dispatched test run");
if (result.data.url) {
process.stdout.write(`${pc.gray(p.S_BAR)} ${link(pc.dim(result.data.url), result.data.url)}\n`);
process.stdout.write(
`${pc.gray(p.S_BAR)} ${link(pc.dim(result.data.url), result.data.url)}\n`
);
openBrowser(result.data.url);
}
}
@@ -867,7 +871,9 @@ async function main() {
if (!merged) skipTestRun = true;
} else {
const short = result.data.hash?.slice(0, 7);
spin.stop(short ? `committed pullfrog.yml to repo ${pc.dim(short)}` : "committed pullfrog.yml to repo");
spin.stop(
short ? `committed pullfrog.yml to repo ${pc.dim(short)}` : "committed pullfrog.yml to repo"
);
}
if (!skipTestRun && !secrets.hasRuns) {
+1 -1
View File
@@ -1,6 +1,6 @@
import { type } from "arktype";
import { formatMcpToolRef } from "../external.ts";
import { PR_SUMMARY_FORMAT, type Mode } from "../modes.ts";
import { type Mode, PR_SUMMARY_FORMAT } from "../modes.ts";
import { apiFetch } from "../utils/apiFetch.ts";
import { log } from "../utils/log.ts";
import type { ToolContext } from "./server.ts";
+1 -1
View File
@@ -20,7 +20,7 @@
"scratch": "node scratch.ts",
"upDeps": "pnpm up --latest",
"lock": "pnpm install --no-frozen-lockfile",
"prepare": "cd .. && husky action/.husky"
"prepare": "cd .. && husky"
},
"devDependencies": {
"@actions/core": "^1.11.1",