feat(invariants): implement package runtime checks
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
/** Verify package-owned invariant source and publication contracts. */
|
||||
|
||||
import { resolve } from 'node:path'
|
||||
import {
|
||||
collectPackageInvariantViolations,
|
||||
formatPackageInvariantViolation,
|
||||
packageInvariantOwners,
|
||||
} from './package-invariants.ts'
|
||||
|
||||
const root = resolve(import.meta.dirname, '..')
|
||||
const violations = collectPackageInvariantViolations(root)
|
||||
|
||||
if (violations.length > 0) {
|
||||
console.error('verify-package-invariants: violations found:')
|
||||
for (const violation of violations) {
|
||||
console.error(` ${formatPackageInvariantViolation(root, violation)}`)
|
||||
}
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
console.log(`verify-package-invariants: ${packageInvariantOwners(root).length} hand-owned package companion(s) conform.`)
|
||||
Reference in New Issue
Block a user