// Temporary smoke test (Node 14 fallback) until Node 18 runtime available.
// Verifies core files exist and constants behave.
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
function assert(cond, msg) {
if (!cond) {
console.error('[FAIL]', msg);
process.exit(1);
}
console.log('[OK]', msg);
}
// Check critical files
const mustExist = [
'package.json',
'src/core/constants.mjs',
'src/utils/logger.mjs',
'src/utils/errors.mjs',
'src/utils/validation.mjs'
];
for (const rel of mustExist) {
assert(fs.existsSync(path.join(__dirname, '..', rel)), `exists: ${rel}`);
}
// Dynamic import constants
import('../src/core/constants.mjs').then(mod => {
assert(mod.DEFAULT_TOPK === 5, 'DEFAULT_TOPK == 5');
assert(mod.isTopKValid(1) && !mod.isTopKValid(0) && !mod.isTopKValid(21), 'isTopKValid boundaries');
console.log('\nSmoke tests passed.');
}).catch(err => {
console.error('Error importing constants:', err);
process.exit(1);
});