{"version":3,"file":"index.cjs","names":["v","readAsset"],"sources":["../../../src/initConfig/index.ts"],"sourcesContent":["import { writeFile } from 'node:fs/promises';\nimport { join, relative } from 'node:path';\nimport { readAsset } from 'utils:asset';\nimport { colorizePath, logger, v } from '@intlayer/config/logger';\nimport {\n  type configurationFilesCandidates,\n  searchConfigurationFile,\n} from '@intlayer/config/node';\n\n/**\n * UTILITIES\n */\nconst rootDir = process.cwd();\n\n// Helper to write a file\nconst writeFileToRoot = async (filePath: string, content: string) =>\n  await writeFile(join(rootDir, filePath), content, 'utf8');\n\ntype ConfigFormat = 'ts' | 'cjs' | 'mjs' | 'js' | 'json';\n\nconst getTemplatePath = (format: ConfigFormat) => {\n  switch (format) {\n    case 'ts':\n      return './templates/ts.txt';\n    case 'cjs':\n      return './templates/cjs.txt';\n    case 'mjs':\n      return './templates/mjs.txt';\n    case 'js':\n      return './templates/mjs.txt';\n    case 'json':\n      return './templates/json.txt';\n    default:\n      return './templates/ts.txt';\n  }\n};\n\n/**\n * Initialize the Intlayer configuration file\n */\nexport const initConfig = async (\n  format: (typeof configurationFilesCandidates)[number],\n  baseDir: string\n) => {\n  //   Search for configuration file\n  const { configurationFilePath } = searchConfigurationFile(baseDir);\n\n  //   return if the configuration file is found\n  if (configurationFilePath) {\n    const relativePath = relative(baseDir, configurationFilePath);\n    logger(`${v} ${colorizePath(relativePath)} already exists`);\n    return;\n  }\n\n  // Extract the format from the filename (e.g. 'intlayer.config.ts' -> 'ts')\n  const extension = format.split('.').pop() as ConfigFormat;\n\n  const templatePath = getTemplatePath(extension);\n  const configContent = readAsset(templatePath);\n\n  await writeFileToRoot(format, configContent);\n  logger(`${v} Created ${colorizePath(format)}`);\n};\n"],"mappings":";;;;;;;;;;;;AAYA,MAAM,UAAU,QAAQ,IAAI;AAG5B,MAAM,kBAAkB,OAAO,UAAkB,YAC/C,0DAAqB,SAAS,QAAQ,GAAG,SAAS,MAAM;AAI1D,MAAM,mBAAmB,WAAyB;CAChD,QAAQ,QAAR;EACE,KAAK,MACH,OAAO;EACT,KAAK,OACH,OAAO;EACT,KAAK,OACH,OAAO;EACT,KAAK,MACH,OAAO;EACT,KAAK,QACH,OAAO;EACT,SACE,OAAO;CACX;AACF;;;;AAKA,MAAa,aAAa,OACxB,QACA,YACG;CAEH,MAAM,EAAE,6EAAkD,OAAO;CAGjE,IAAI,uBAAuB;EAEzB,oCAAO,GAAGA,0BAAE,qEADkB,SAAS,qBACA,CAAC,EAAE,gBAAgB;EAC1D;CACF;CAQA,MAAM,gBAAgB,QAFAC,+BADD,gBAFH,OAAO,MAAM,GAAG,EAAE,IAES,CACF,CAED,CAAC;CAC3C,oCAAO,GAAGD,0BAAE,qDAAwB,MAAM,GAAG;AAC/C"}