UNPKG

@intlayer/chokidar

Version:

Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.

38 lines (36 loc) 1.31 kB
import { readAsset } from "../_virtual/_utils_asset.mjs"; import { writeFile } from "node:fs/promises"; import { join, relative } from "node:path"; import { colorizePath, logger, v } from "@intlayer/config/logger"; import { searchConfigurationFile } from "@intlayer/config/node"; //#region src/initConfig/index.ts /** * UTILITIES */ const rootDir = process.cwd(); const writeFileToRoot = async (filePath, content) => await writeFile(join(rootDir, filePath), content, "utf8"); const getTemplatePath = (format) => { switch (format) { case "ts": return "./templates/ts.txt"; case "cjs": return "./templates/cjs.txt"; case "mjs": return "./templates/mjs.txt"; case "js": return "./templates/mjs.txt"; case "json": return "./templates/json.txt"; default: return "./templates/ts.txt"; } }; /** * Initialize the Intlayer configuration file */ const initConfig = async (format, baseDir) => { const { configurationFilePath } = searchConfigurationFile(baseDir); if (configurationFilePath) { logger(`${v} ${colorizePath(relative(baseDir, configurationFilePath))} already exists`); return; } await writeFileToRoot(format, readAsset(getTemplatePath(format.split(".").pop()))); logger(`${v} Created ${colorizePath(format)}`); }; //#endregion export { initConfig }; //# sourceMappingURL=index.mjs.map