|
import { rm, existsSync } from 'fs'; |
|
import { join } from 'path'; |
|
import { execSync } from 'child_process'; |
|
import { fileURLToPath } from 'url'; |
|
import { dirname } from 'path'; |
|
|
|
const __filename = fileURLToPath(import.meta.url); |
|
const __dirname = dirname(__filename); |
|
|
|
const dirsToRemove = ['node_modules/.vite', 'node_modules/.cache', '.cache', 'dist']; |
|
|
|
console.log('🧹 Cleaning project...'); |
|
|
|
|
|
for (const dir of dirsToRemove) { |
|
const fullPath = join(__dirname, '..', dir); |
|
|
|
try { |
|
if (existsSync(fullPath)) { |
|
console.log(`Removing ${dir}...`); |
|
rm(fullPath, { recursive: true, force: true }, (err) => { |
|
if (err) { |
|
console.error(`Error removing ${dir}:`, err.message); |
|
} |
|
}); |
|
} |
|
} catch (err) { |
|
console.error(`Error removing ${dir}:`, err.message); |
|
} |
|
} |
|
|
|
|
|
console.log('\n📦 Reinstalling dependencies...'); |
|
|
|
try { |
|
execSync('pnpm install', { stdio: 'inherit' }); |
|
console.log('\n🗑️ Clearing pnpm cache...'); |
|
execSync('pnpm cache clean', { stdio: 'inherit' }); |
|
console.log('\n🏗️ Rebuilding project...'); |
|
execSync('pnpm build', { stdio: 'inherit' }); |
|
console.log('\n✨ Clean completed! You can now run pnpm dev'); |
|
} catch (err) { |
|
console.error('\n❌ Error during cleanup:', err.message); |
|
process.exit(1); |
|
} |
|
|