UNPKG

@wearesage/schema

Version:

A flexible schema definition and validation system for TypeScript with multi-database support

38 lines (31 loc) 1.2 kB
const fs = require('fs'); const path = require('path'); const entitiesDir = '/Users/zach/dev/@wearesage/core/schema/test-entities'; const entityFiles = fs.readdirSync(entitiesDir).filter(f => f.endsWith('.ts')); entityFiles.forEach(file => { const filePath = path.join(entitiesDir, file); let content = fs.readFileSync(filePath, 'utf8'); const lines = content.split('\n'); const imports = new Set(); const nonImportLines = []; let inImportSection = true; lines.forEach(line => { if (line.startsWith('import ')) { imports.add(line); } else if (line.trim() === '' && inImportSection) { // Skip empty lines in import section } else { if (inImportSection) { inImportSection = false; nonImportLines.push(''); // Add empty line after imports } nonImportLines.push(line); } }); // Combine unique imports with rest of file const uniqueImports = Array.from(imports).sort(); const newContent = uniqueImports.join('\n') + '\n' + nonImportLines.join('\n'); fs.writeFileSync(filePath, newContent, 'utf8'); console.log(`Fixed duplicates in ${file}`); }); console.log('Done! All duplicate imports removed.');