Files
Desktop/danger/rules.ts
2026-03-27 13:40:46 -07:00

36 lines
855 B
TypeScript

// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { run } from 'endanger';
import packageJsonVersionsShouldBePinned from './rules/packageJsonVersionsShouldBePinned';
import pnpmLockDepsShouldHaveIntegrity from './rules/pnpmLockDepsShouldHaveIntegrity';
function isGitDeletedError(error: unknown) {
return (
typeof error === 'object' &&
error != null &&
error['exitCode'] === 128 &&
error['command']?.startsWith('git show ')
);
}
async function main() {
try {
await run(
packageJsonVersionsShouldBePinned(),
pnpmLockDepsShouldHaveIntegrity()
);
} catch (error: unknown) {
if (!isGitDeletedError(error)) {
throw error;
}
}
}
// oxlint-disable-next-line promise/prefer-await-to-then
main().catch(error => {
console.error(error);
process.exit(1);
});