UNPKG

@catladder/cli

Version:

Panter cli tool for cloud CI/CD and DevOps

34 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readConfig = void 0; const fs_1 = require("fs"); const tsx = require("tsx/cjs/api"); const yaml_1 = require("yaml"); // allows us to load ts files const fullPath = (directory, ext) => directory + "/catladder." + ext; const readConfig = async (directory = process.cwd()) => { const found = ["ts", "js", "yml", "yaml"].find((extension) => (0, fs_1.existsSync)(fullPath(directory, extension))); if (found) { const filePath = fullPath(directory, found); if (found === "ts" || found === "js") { const result = await tsx.require(filePath, directory); // weird: if target project is esm, result is under result.default, but if its commonjs, its under result.default.default const config = result.default.default || result.default; return { path: filePath, ext: found, config, }; } else { return { path: filePath, ext: found, config: (0, yaml_1.parse)((0, fs_1.readFileSync)(filePath, { encoding: "utf-8" })), }; } } return null; }; exports.readConfig = readConfig; //# sourceMappingURL=readConfig.js.map