@dx-box/common
Version:
(DX) by providing common configurations for TypeScript, ESLint, Prettier, and automated Git hooks for formatting and linting.
3 lines (2 loc) • 730 B
JavaScript
import t from"fs";import c from"path";const a=(i,r)=>{const e=c.resolve(i,"tsconfig.json"),n=c.resolve(i,r);t.existsSync(e)||(console.error(`\u274C tsconfig.json not found at ${e}`),process.exit(1)),t.existsSync(n)||(console.error(`\u274C Source folder not found at ${n}`),process.exit(1));const p=t.readdirSync(n,{withFileTypes:!0}).filter(s=>s.isDirectory()).map(s=>s.name),o=JSON.parse(t.readFileSync(e,"utf8"));o.compilerOptions??={},o.compilerOptions.baseUrl=r,o.compilerOptions.paths??={};for(const s of p)o.compilerOptions.paths[`@${s}/*`]=[`${s}/*`];t.writeFileSync(e,JSON.stringify(o,null,2)+`
`),console.log("\u2705 Updated tsconfig.json paths:"),console.table(o.compilerOptions.paths)};export{a as updateTsconfigPath};