quick-erd
Version:
quick and easy text-based ERD + code generator for migration, query, typescript types and orm entity
75 lines (74 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.open_web_ui = exports.erd_file = exports.public_dir = exports.port = void 0;
const fs_1 = require("fs");
const path_1 = require("path");
exports.port = +process.env.PORT || 8520;
{
for (let i = 2; i < process.argv.length; i++) {
const arg = process.argv[i];
if (arg == '-p' || arg == '--port') {
exports.port = +process.argv[++i];
if (!exports.port) {
console.error('Invalid port: ' + process.argv[i]);
process.exit(1);
}
}
}
}
exports.public_dir = (0, path_1.join)(__dirname, '..', '..', 'build');
{
const file = (0, path_1.join)(exports.public_dir, 'index.html');
if (!(0, fs_1.existsSync)(file)) {
console.error('Could not locate public directory');
process.exit(1);
}
}
exports.erd_file = '';
{
const files = [
/* in current directory */
'erd.txt',
/* in ts-liveview db project */
'db/erd.txt',
/* in case it is put into the docs directory */
'docs/erd.txt',
'../docs/erd.txt',
];
for (const file of files) {
if ((0, fs_1.existsSync)(file)) {
exports.erd_file = file;
break;
}
}
for (let i = 2; i < process.argv.length; i++) {
const file = process.argv[i];
if (file.includes('erd.txt') || (0, fs_1.existsSync)(file)) {
exports.erd_file = file;
break;
}
}
if (!exports.erd_file) {
console.error('Missing erd.txt file');
console.error('Specify it in the argument - it will auto-create an empty file.');
process.exit(1);
}
}
exports.open_web_ui = null;
{
for (let i = 2; i < process.argv.length; i++) {
const arg = process.argv[i];
if (arg === '--open') {
exports.open_web_ui = true;
break;
}
if (arg === '--no-open') {
exports.open_web_ui = false;
break;
}
}
if (exports.open_web_ui == null) {
console.info('hint: You can specify --open to open the web ui automatically.');
console.info('hint: You can specify --no-open to turn off this message.');
}
}