mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-03-09 21:50:36 +00:00
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
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);
|
||
}
|