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.73 kB
#!/usr/bin/env node 'use strict';var chunkFS6RMYAZ_cjs=require('../chunk-FS6RMYAZ.cjs'),o=require('fs'),n=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var o__default=/*#__PURE__*/_interopDefault(o);var n__default=/*#__PURE__*/_interopDefault(n);var l=process.argv.slice(2),f=l.includes("--json");function p(){let c=process.cwd(),s=n__default.default.join(c,f?"codefather.json":"codefather.ts"),t=n__default.default.join(c,"package.json");if(o__default.default.existsSync(s)?console.log(chunkFS6RMYAZ_cjs.c.info,`- A ${n__default.default.basename(s)} file already exists.`):(f?o__default.default.writeFileSync(s,JSON.stringify({rules:[]},null,2)):o__default.default.writeFileSync(s,`import type { CodefatherConfig } from "@donedeal0/codefather"; export default { rules: [] } satisfies CodefatherConfig; `),console.log(chunkFS6RMYAZ_cjs.c.info,`- A ${n__default.default.basename(s)} config file has been created.`)),o__default.default.existsSync(t)){let r=chunkFS6RMYAZ_cjs.d(o__default.default.readFileSync(t,"utf-8"));r.scripts=r.scripts||{},r.scripts.codefather?console.log(chunkFS6RMYAZ_cjs.c.info,"- A codefather script already exists in your package.json."):(r.scripts.codefather="codefather",o__default.default.writeFileSync(t,JSON.stringify(r,null,2)),console.log(chunkFS6RMYAZ_cjs.c.info,"- A codefather script has been added to your package.json."));}else return console.log(chunkFS6RMYAZ_cjs.c.error,"\u26A0\uFE0F No package.json found in the project root. Skipping script setup.");return console.log(chunkFS6RMYAZ_cjs.c.success,"\n\u2713 Setup complete. Run `npm run codefather` to enforce your rules.")}chunkFS6RMYAZ_cjs.a===new URL(chunkFS6RMYAZ_cjs.a).href&&p();exports.runInit=p;