UNPKG

kt-extendscript-builder

Version:

Vite based builder for transpile TypeScript to ExtendScript

62 lines (61 loc) 2.23 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigLoader = void 0; const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const configs_json_1 = __importDefault(require("./configs.json")); const options_1 = require("../options"); class ConfigLoader { constructor() { this._configurations = {}; this._configurations = this.parseConfig(configs_json_1.default); } load(configPath) { if (!configPath) { configPath = 'kt.config.json'; } const absolutePath = path_1.default.resolve(process.cwd(), configPath); let config = {}; if (!fs_1.default.existsSync(absolutePath)) { console.warn(`${absolutePath} config file does not exist. Skipping...`); return {}; } const fileContent = fs_1.default.readFileSync(absolutePath, 'utf-8'); this.parseConfig(JSON.parse(fileContent)); return this._configurations; } parseConfig(config) { try { const parsedConfig = JSON.parse(JSON.stringify(config)); this._configurations = { ...this._configurations, ...ConfigLoader.filter(parsedConfig) }; return this._configurations; } catch (error) { console.warn(`Error parsing config: ${error.message}`); return {}; } } getConfig(name = 'default') { const config = this._configurations[name]; if (!config) { console.warn(`Configuration "${name}" was not found in the configuration file.`); return {}; } return config; } static filter(configurations) { const filteredConfig = {}; for (const key in configurations) { const config = options_1.OptionsParser.filter(configurations[key]); if (config) { const configName = key; filteredConfig[configName] = config; } } return filteredConfig; } } exports.ConfigLoader = ConfigLoader;