@intlayer/chokidar
Version:
Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.
40 lines (38 loc) • 1.74 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
const require__utils_asset = require('../_virtual/_utils_asset.cjs');
let node_fs_promises = require("node:fs/promises");
let node_path = require("node:path");
let _intlayer_config_logger = require("@intlayer/config/logger");
let _intlayer_config_node = require("@intlayer/config/node");
//#region src/initConfig/index.ts
/**
* UTILITIES
*/
const rootDir = process.cwd();
const writeFileToRoot = async (filePath, content) => await (0, node_fs_promises.writeFile)((0, node_path.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 } = (0, _intlayer_config_node.searchConfigurationFile)(baseDir);
if (configurationFilePath) {
(0, _intlayer_config_logger.logger)(`${_intlayer_config_logger.v} ${(0, _intlayer_config_logger.colorizePath)((0, node_path.relative)(baseDir, configurationFilePath))} already exists`);
return;
}
await writeFileToRoot(format, require__utils_asset.readAsset(getTemplatePath(format.split(".").pop())));
(0, _intlayer_config_logger.logger)(`${_intlayer_config_logger.v} Created ${(0, _intlayer_config_logger.colorizePath)(format)}`);
};
//#endregion
exports.initConfig = initConfig;
//# sourceMappingURL=index.cjs.map