33 lines
1023 B
TypeScript
33 lines
1023 B
TypeScript
// require('dotenv').config({ override: true });
|
|
import { config } from 'dotenv';
|
|
config({ override: true });
|
|
|
|
if (!process.env.NODE_ENV)
|
|
process.env.NODE_ENV = 'development';
|
|
// eslint-disable-next-line no-console
|
|
console.log(`Starting in ${process.env.NODE_ENV} mode`);
|
|
|
|
import Controller from './src/middleware/Controller.js';
|
|
import { readFileSync } from 'node:fs';
|
|
import path from 'node:path';
|
|
import { ControllerOptions } from './@types/Controller.js';
|
|
|
|
const optionsRaw = readFileSync('./options.jsonc', { encoding: 'utf-8' });
|
|
const lines = optionsRaw.split('\n');
|
|
const clean = [];
|
|
for (const line of lines)
|
|
{
|
|
if (line.startsWith('//'))
|
|
continue;
|
|
clean.push(line.replace(/\/\/.*/u, ''));
|
|
}
|
|
|
|
const options = JSON.parse(clean.join('\n')) as ControllerOptions;
|
|
const pkg = JSON.parse(readFileSync('./package.json', { encoding: 'utf-8' }));
|
|
const { version } = pkg;
|
|
|
|
const srcDir = path.join(process.cwd(), 'build', 'src');
|
|
options.rootDir = srcDir;
|
|
|
|
new Controller(options, version)
|
|
.build(); |