bolt.diy/scripts/clean.js

46 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

2025-01-30 22:28:21 +00:00
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...');
// Remove directories
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);
}
}
// Run pnpm commands
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);
}