nucleus-ui-builder
Version:
61 lines (60 loc) • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return TemplateLoader;
}
});
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
const _jsyaml = /*#__PURE__*/ _interop_require_default(require("js-yaml"));
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
class TemplateLoader {
static getInstance() {
if (!TemplateLoader.instance) TemplateLoader.instance = new TemplateLoader();
return TemplateLoader.instance;
}
loadConfig() {
try {
const fileContents = _fs.default.readFileSync(this.configPath, `utf8`);
this._config = this.loader.load(fileContents);
} catch (error) {
console.error(`Caught error:`, {
error
});
throw new Error(`File not found: .nucleus.yml`);
}
}
get config() {
return this._config;
}
constructor(){
_define_property(this, "configPath", void 0);
_define_property(this, "_config", null);
_define_property(this, "loader", _jsyaml.default);
this.configPath = _path.default.resolve(process.cwd(), `.nucleus.yml`);
this.loadConfig();
}
}
_define_property(TemplateLoader, "instance", void 0);
//# sourceMappingURL=template.loader.js.map