UNPKG

@8bittitan/norse

Version:

Nodejs cli for scaffolding Mongoose models

75 lines 2.73 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var fs_extra_1 = __importDefault(require("fs-extra")); var path_1 = __importDefault(require("path")); var defaultConfig_json_1 = __importDefault(require("./defaultConfig.json")); var currentDir = process.cwd(); var getConfig = function () { try { var userConfig = fs_extra_1.default.readFileSync(path_1.default.join(currentDir, 'norse.json'), { encoding: 'utf8', }); if (userConfig) { var parsedUserConfig = JSON.parse(userConfig); return __assign(__assign(__assign({}, defaultConfig_json_1.default), parsedUserConfig), { fromUserConfig: true }); } return defaultConfig_json_1.default; } catch (err) { return defaultConfig_json_1.default; } }; var Config = (function () { function Config() { this.config = getConfig(); } Config.prototype.getModelsDirectory = function () { return this.config.modelsDirectory; }; Config.prototype.getControllersDirectory = function () { return this.config.controllersDirectory; }; Config.prototype.getPrettier = function () { try { var prettierUrl = path_1.default.join(currentDir, '.prettierrc'); var canRunPrettier = !this.config.fromUserConfig || this.config.prettier; var prettierConfig = fs_extra_1.default.readFileSync(prettierUrl, { encoding: 'utf8' }); if (prettierConfig && canRunPrettier) { this.prettierConfig = JSON.parse(prettierConfig); return true; } else { return false; } } catch (err) { return false; } }; Config.prototype.getPrettierConfig = function () { return this.prettierConfig; }; Config.prototype.getFileExtension = function () { return this.config.typescript ? 'ts' : 'js'; }; Config.prototype.getScaffoldDirectories = function () { return [this.getModelsDirectory(), this.getControllersDirectory()]; }; return Config; }()); exports.default = Config; //# sourceMappingURL=config.js.map