44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
|
|
#!/usr/bin/env node
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Check if type embeddings need rebuilding
|
||
|
|
* Only rebuild if:
|
||
|
|
* 1. embeddedTypeEmbeddings.ts doesn't exist
|
||
|
|
* 2. Type definitions have changed
|
||
|
|
* 3. Build script has changed
|
||
|
|
*/
|
||
|
|
|
||
|
|
const fs = require('fs');
|
||
|
|
const path = require('path');
|
||
|
|
|
||
|
|
const EMBEDDED_FILE = path.join(__dirname, '../src/neural/embeddedTypeEmbeddings.ts');
|
||
|
|
const BUILD_SCRIPT = path.join(__dirname, 'buildTypeEmbeddings.ts');
|
||
|
|
const GRAPH_TYPES = path.join(__dirname, '../src/types/graphTypes.ts');
|
||
|
|
|
||
|
|
// Check if embedded type embeddings exist
|
||
|
|
if (!fs.existsSync(EMBEDDED_FILE)) {
|
||
|
|
console.log('❌ Embedded type embeddings not found. Building...');
|
||
|
|
process.exit(1); // Signal need to rebuild
|
||
|
|
}
|
||
|
|
|
||
|
|
// Check if build script is newer than embedded embeddings
|
||
|
|
const embeddedStats = fs.statSync(EMBEDDED_FILE);
|
||
|
|
const buildScriptStats = fs.statSync(BUILD_SCRIPT);
|
||
|
|
|
||
|
|
if (buildScriptStats.mtime > embeddedStats.mtime) {
|
||
|
|
console.log('🔄 Build script has changed. Rebuilding type embeddings...');
|
||
|
|
process.exit(1); // Signal need to rebuild
|
||
|
|
}
|
||
|
|
|
||
|
|
// Check if type definitions are newer than embedded embeddings
|
||
|
|
if (fs.existsSync(GRAPH_TYPES)) {
|
||
|
|
const graphTypesStats = fs.statSync(GRAPH_TYPES);
|
||
|
|
if (graphTypesStats.mtime > embeddedStats.mtime) {
|
||
|
|
console.log('🔄 Type definitions have changed. Rebuilding type embeddings...');
|
||
|
|
process.exit(1); // Signal need to rebuild
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('✅ Embedded type embeddings are up-to-date. Skipping rebuild.');
|
||
|
|
process.exit(0); // No rebuild needed
|