42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
|
|
import path from 'path';
|
||
|
|
import { existsSync } from 'fs';
|
||
|
|
import * as dotenv from 'dotenv';
|
||
|
|
import { AggregatorRouteMatrixGenerator } from '../src/services/aggregator-route-matrix-generator';
|
||
|
|
import { closeDatabasePool } from '../src/database/client';
|
||
|
|
|
||
|
|
const rootEnvCandidates = [
|
||
|
|
path.resolve(__dirname, '../../.env'),
|
||
|
|
path.resolve(__dirname, '../../../.env'),
|
||
|
|
];
|
||
|
|
|
||
|
|
for (const candidate of rootEnvCandidates) {
|
||
|
|
if (existsSync(candidate)) {
|
||
|
|
dotenv.config({ path: candidate });
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
dotenv.config();
|
||
|
|
|
||
|
|
async function main() {
|
||
|
|
const outputPath = process.argv[2]
|
||
|
|
? path.resolve(process.cwd(), process.argv[2])
|
||
|
|
: path.resolve(__dirname, '../../../../config/aggregator-route-matrix.json');
|
||
|
|
|
||
|
|
const generator = new AggregatorRouteMatrixGenerator();
|
||
|
|
try {
|
||
|
|
const writtenPath = await generator.writeToFile(outputPath, 138);
|
||
|
|
process.stdout.write(`${writtenPath}\n`);
|
||
|
|
} finally {
|
||
|
|
await closeDatabasePool();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
main()
|
||
|
|
.then(() => {
|
||
|
|
process.exit(0);
|
||
|
|
})
|
||
|
|
.catch((error) => {
|
||
|
|
process.stderr.write(`${error instanceof Error ? error.stack || error.message : String(error)}\n`);
|
||
|
|
process.exit(1);
|
||
|
|
});
|