UNPKG

silvie

Version:

Typescript Back-end Framework

80 lines (79 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fs = _interopRequireDefault(require("fs")); var _path = _interopRequireDefault(require("path")); var _dotenv = _interopRequireDefault(require("dotenv")); var _project_structure = require("../../helpers/project_structure"); var _log = _interopRequireDefault(require("../../../utils/log")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var _default = async () => { const root = process.rootPath; const badDirs = []; Object.keys(_project_structure.directories).forEach(dir => { const dirPath = _path.default.resolve(root, dir); if (!(_fs.default.existsSync(dirPath) && _fs.default.statSync(dirPath).isDirectory())) { badDirs.push(dir); } }); const badFiles = []; Object.keys(_project_structure.files).forEach(dir => { const filePath = _path.default.resolve(root, dir); if (!_fs.default.existsSync(filePath)) { badFiles.push(dir); } }); if (badDirs.length > 0) { _log.default.error('Missing Directories:'); badDirs.forEach(dir => (0, _log.default)(dir)); } if (badFiles.length > 0) { if (badDirs.length > 0) { (0, _log.default)(''); } _log.default.error('Missing Files:'); badFiles.forEach(file => (0, _log.default)(file)); } let envOK = true; if (!badFiles.includes('.env')) { const { parsed } = _dotenv.default.config({ path: _path.default.resolve(root, '.env') }); if (!parsed.APP_KEY) { envOK = false; _log.default.error('[Dotenv]', 'APP_KEY is not defined.'); } if (!parsed.APP_PORT) { envOK = false; _log.default.error('[Dotenv]', 'APP_PORT is not defined.'); } if (!parsed.DB_TYPE) { envOK = false; _log.default.error('[Dotenv]', 'DB_TYPE is not defined.'); } if (!parsed.DB_HOST) { envOK = false; _log.default.error('[Dotenv]', 'DB_HOST is not defined.'); } if (!parsed.DB_PORT) { envOK = false; _log.default.error('[Dotenv]', 'DB_PORT is not defined.'); } if (!parsed.DB_DATABASE) { envOK = false; _log.default.error('[Dotenv]', 'DB_DATABASE is not defined.'); } if (!parsed.DB_USERNAME) { envOK = false; _log.default.error('[Dotenv]', 'DB_USERNAME is not defined.'); } } if (badDirs.length === 0 && badFiles.length === 0 && envOK) { _log.default.success('Directory structure is valid'); } }; exports.default = _default;