53 lines
2.3 KiB
JavaScript
53 lines
2.3 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.default = init;
|
|
const path_1 = __importDefault(require("path"));
|
|
const fs_1 = __importDefault(require("fs"));
|
|
const app_data_1 = require("../data/app-data");
|
|
const grab_dir_names_1 = __importDefault(require("../data/grab-dir-names"));
|
|
function init() {
|
|
try {
|
|
const { ROOT_DIR } = (0, grab_dir_names_1.default)();
|
|
const { ConfigFileName } = app_data_1.AppData;
|
|
const ConfigFilePath = path_1.default.join(ROOT_DIR, ConfigFileName);
|
|
if (!fs_1.default.existsSync(ConfigFilePath)) {
|
|
console.log("ConfigFilePath", ConfigFilePath);
|
|
console.error(`Please create a \`${ConfigFileName}\` file at the root of your project.`);
|
|
process.exit(1);
|
|
}
|
|
const ConfigImport = require(ConfigFilePath);
|
|
const Config = ConfigImport["default"];
|
|
if (!Config.db_name) {
|
|
console.error(`\`db_name\` is required in your config`);
|
|
process.exit(1);
|
|
}
|
|
if (!Config.db_schema_file_name) {
|
|
console.error(`\`db_schema_file_name\` is required in your config`);
|
|
process.exit(1);
|
|
}
|
|
let db_dir = ROOT_DIR;
|
|
if (Config.db_dir) {
|
|
db_dir = path_1.default.resolve(ROOT_DIR, Config.db_dir);
|
|
if (!fs_1.default.existsSync(Config.db_dir)) {
|
|
fs_1.default.mkdirSync(Config.db_dir, { recursive: true });
|
|
}
|
|
}
|
|
const DBSchemaFilePath = path_1.default.join(db_dir, Config.db_schema_file_name);
|
|
const DbSchemaImport = require(DBSchemaFilePath);
|
|
const DbSchema = DbSchemaImport["default"];
|
|
const backup_dir = Config.db_backup_dir || app_data_1.AppData["DefaultBackupDirName"];
|
|
const BackupDir = path_1.default.resolve(db_dir, backup_dir);
|
|
if (!fs_1.default.existsSync(BackupDir)) {
|
|
fs_1.default.mkdirSync(BackupDir, { recursive: true });
|
|
}
|
|
return { config: Config, dbSchema: DbSchema };
|
|
}
|
|
catch (error) {
|
|
console.error(`Initialization ERROR => ` + error.message);
|
|
process.exit(1);
|
|
}
|
|
}
|