UNPKG

@git.zone/cli

Version:

A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.

27 lines (24 loc) 1.24 kB
import * as plugins from './mod.plugins.js'; import * as paths from '../paths.js'; import { logger } from '../gitzone.logging.js'; import { Project } from '../classes.project.js'; export const run = async (projectArg: Project) => { // lets care about tsconfig.json logger.log('info', 'Formatting tsconfig.json...'); const tsconfigSmartfile = await plugins.smartfile.SmartFile.fromFilePath( plugins.path.join(paths.cwd, 'tsconfig.json'), ); const tsconfigObject = JSON.parse(tsconfigSmartfile.contentBuffer.toString()); tsconfigObject.compilerOptions = tsconfigObject.compilerOptions || {}; tsconfigObject.compilerOptions.baseUrl = '.'; tsconfigObject.compilerOptions.paths = {}; const tsPublishMod = await import('@git.zone/tspublish'); const tsPublishInstance = new tsPublishMod.TsPublish(); const publishModules = await tsPublishInstance.getModuleSubDirs(paths.cwd); for (const publishModule of Object.keys(publishModules)) { const publishConfig = publishModules[publishModule]; tsconfigObject.compilerOptions.paths[`${publishConfig.name}`] = [`./${publishModule}/index.js`]; } tsconfigSmartfile.setContentsFromString(JSON.stringify(tsconfigObject, null, 2)); await tsconfigSmartfile.write(); };