Implement caching in the patch_detector, consume the cache from API routes in frontend
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
import { spawn } from 'child_process';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
// Cache directory - use dev/cdragon by default
|
|
const cacheDir = process.env.CDRAGON_CACHE_DIR || path.join(__dirname, '..', 'data', 'cdragon');
|
|
|
|
// Dev MongoDB credentials (matching docker-compose.yml defaults)
|
|
const mongoUser = process.env.MONGO_USER || 'root';
|
|
const mongoPass = process.env.MONGO_PASS || 'password';
|
|
const mongoHost = process.env.MONGO_HOST || 'localhost:27017';
|
|
|
|
// Run patch_detector with the cache directory and dev MongoDB credentials
|
|
const patchDetector = spawn('npx', ['tsx', '../patch_detector/index.ts'], {
|
|
cwd: path.join(__dirname, '..'),
|
|
env: {
|
|
...process.env,
|
|
NODE_ENV: 'development',
|
|
CDRAGON_CACHE_DIR: cacheDir,
|
|
MONGO_USER: mongoUser,
|
|
MONGO_PASS: mongoPass,
|
|
MONGO_HOST: mongoHost
|
|
},
|
|
stdio: 'inherit'
|
|
});
|
|
|
|
patchDetector.on('close', (code) => {
|
|
process.exit(code || 0);
|
|
});
|