fix(build): prepare release dependency types during installation (#6978)

This commit is contained in:
gensokyo-dev authored and GitHub committed 2026-10-24 09:24:43 +00:00
1 parent 18451e4797
commit 48c203f356
1 file changed
+14 -3
+14 -3
View File
@@ -4,10 +4,10 @@ import { fileURLToPath } from "node:url";
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
const sourceHuskyIsAvailable = async () => {
const sourceDependencyIsAvailable = async (path) => {
try {
await access(join(root, "src"));
await access(join(root, "node_modules", "husky", "index.js"));
await access(join(root, "node_modules", path));
return true;
} catch (cause) {
if (
@@ -21,7 +21,18 @@ const sourceHuskyIsAvailable = async () => {
}
};
if (process.env.HUSKY !== "0" && (await sourceHuskyIsAvailable())) {
// Runtime and type checking must both see the patched release dependency.
// Published installs omit source and development dependencies.
if (await sourceDependencyIsAvailable("release-please/package.json")) {
const { applyReleasePleasePatch } =
await import("./lib/release-proposal.mjs");
await applyReleasePleasePatch();
}
if (
process.env.HUSKY !== "0" &&
(await sourceDependencyIsAvailable("husky/index.js"))
) {
const { default: installHusky } = await import("husky");
const message = installHusky();
if (message.length > 0) process.stdout.write(`${message}\n`);