UNPKG

php-htx-cli

Version:

A cli to convert .htx (different components) files to .php

56 lines (55 loc) 1.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.readConfig = exports.configFileLocation = void 0; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); exports.configFileLocation = "./htx_config.json"; function fillConfiguration(defaults, value) { const keys = Object.keys(defaults); for (const key of keys) { if (key in value) { if (typeof (value[key]) == "object") { defaults[key] = fillConfiguration(defaults[key], value[key]); } else { defaults[key] = (typeof (value[key]) == "object") ? fillConfiguration(defaults[key], value[key]) : value[key]; } } } return defaults; } function readConfig() { const rootPath = process.cwd(); const configFilePath = path_1.default.join(rootPath, exports.configFileLocation); if (fs_1.default.existsSync(configFilePath)) { console.log(`Using '${exports.configFileLocation}' file for configuration`); const fileContents = fs_1.default.readFileSync(configFilePath, 'utf8'); const customConfig = JSON.parse(fileContents); const finalConfig = fillConfiguration(defaultConfig, customConfig); return finalConfig; } console.log(`Using default config`); return defaultConfig; } exports.readConfig = readConfig; const defaultConfig = { environment: "dev", extension: { src: "htx", out: "php" }, directory: { src: "./src/pages", out: "./out" }, constant: { variable: "htx_<component>_<uid>_<variable>", props: "props" } }; exports.default = defaultConfig;