kubricate
Version:
A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.
38 lines (37 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DEFAULT_CONFIG_NAME = exports.DEFAULT_CONFIG_EXTENSIONS = void 0;
exports.getConfig = getConfig;
exports.getMatchConfigFile = getMatchConfigFile;
var _ansis = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("ansis"));
var _unconfig = /*#__PURE__*/require("unconfig");
require("@kubricate/core");
var _constant = /*#__PURE__*/require("./constant.js");
var _logger = /*#__PURE__*/require("./logger.js");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
};
}
const DEFAULT_CONFIG_NAME = exports.DEFAULT_CONFIG_NAME = 'kubricate.config';
// Allow all JS/TS file extensions except JSON
const DEFAULT_CONFIG_EXTENSIONS = exports.DEFAULT_CONFIG_EXTENSIONS = ['mts', 'cts', 'ts', 'mjs', 'cjs', 'js'];
function getMatchConfigFile() {
return `${DEFAULT_CONFIG_NAME}.{${DEFAULT_CONFIG_EXTENSIONS.join(',')}}`;
}
async function getConfig(options, logger = new _logger.SilentLogger()) {
const result = await (0, _unconfig.loadConfig)({
cwd: options.root,
sources: [{
files: options.config || DEFAULT_CONFIG_NAME,
// Allow all JS/TS file extensions except JSON
extensions: DEFAULT_CONFIG_EXTENSIONS
}],
merge: false
});
if (result.sources.length) logger.log(_ansis.default.green`${_constant.MARK_CHECK} Config loaded from ${result.sources.join(', ')}`);
return result.config;
}
//# sourceMappingURL=load-config.js.map