UNPKG

@donedeal0/codefather

Version:

Codefather protects your codebase by controlling who can change what. Set authorization levels, lock down files, and enforce your rules—offline via CLI or online with GitHub Actions.

5 lines (4 loc) • 1.25 kB
#!/usr/bin/env node import {b,c}from'../chunk-WALCJIPE.js';import o from'fs';import n from'path';var f=process.argv.slice(2),a=f.includes("--json");function l(){let i=process.cwd(),s=n.join(i,a?"codefather.json":"codefather.ts"),t=n.join(i,"package.json");if(o.existsSync(s)?console.log(b.info,`- A ${n.basename(s)} file already exists.`):(a?o.writeFileSync(s,JSON.stringify({rules:[]},null,2)):o.writeFileSync(s,`import type { CodefatherConfig } from "@donedeal0/codefather"; export default { rules: [] } satisfies CodefatherConfig; `),console.log(b.info,`- A ${n.basename(s)} config file has been created.`)),o.existsSync(t)){let r=c(o.readFileSync(t,"utf-8"));r.scripts=r.scripts||{},r.scripts.codefather?console.log(b.info,"- A codefather script already exists in your package.json."):(r.scripts.codefather="codefather",o.writeFileSync(t,JSON.stringify(r,null,2)),console.log(b.info,"- A codefather script has been added to your package.json."));}else return console.log(b.error,"\u26A0\uFE0F No package.json found in the project root. Skipping script setup.");return console.log(b.success,"\n\u2713 Setup complete. Run `npm run codefather` to enforce your rules.")}import.meta.url===new URL(import.meta.url).href&&l();export{l as runInit};