UNPKG

lingotags

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://img.shields.io/npm/v/lingotags.svg)](https://www.npmjs.com/package/lingotags)

46 lines 2.05 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateConfig = exports.loadConfig = exports.ConfigSchema = void 0; exports.initConfig = initConfig; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const zod_1 = require("zod"); exports.ConfigSchema = zod_1.z.object({ searchDirectory: zod_1.z .string() .min(3, "Search directory is required, and must be at least 3 characters"), outputFile: zod_1.z .string() .min(3, "Output file path is required and must be at least 3 characters"), manifest: zod_1.z.string().optional().describe("Path to manifest file for reverts"), defaultLanguage: zod_1.z.string().length(2).default("en"), filePattern: zod_1.z.string().optional().default("**/*.{html,tsx,jsx}"), verbose: zod_1.z.boolean().optional().default(false), }); const loadConfig = (configPath = "./config.json") => { const resolvedPath = path_1.default.resolve(configPath); if (!fs_1.default.existsSync(resolvedPath)) { throw new Error(`Configuration file not found: ${resolvedPath}`); } const rawConfig = JSON.parse(fs_1.default.readFileSync(resolvedPath, "utf-8")); return exports.ConfigSchema.parse(rawConfig); }; exports.loadConfig = loadConfig; const validateConfig = (config) => exports.ConfigSchema.parse(config); exports.validateConfig = validateConfig; async function initConfig() { const configPath = "./config.json"; const defaultConfig = { searchDirectory: "./", outputFile: "translations.json", filePattern: "**/*.{html,tsx,jsx}", verbose: false, manifest: "lingotags-manifest.json", }; fs_1.default.writeFileSync(configPath, JSON.stringify(defaultConfig, null, 2), "utf-8"); console.log("✅ Config file created:", configPath); } //# sourceMappingURL=configUtils.js.map