75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
import fs from 'fs';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
const backendPath = path.join(__dirname, '..', 'ember-market-backend');
|
|
const targetPath = path.join(__dirname, 'backend');
|
|
|
|
// Create backend directory if it doesn't exist
|
|
if (!fs.existsSync(targetPath)) {
|
|
fs.mkdirSync(targetPath, { recursive: true });
|
|
}
|
|
|
|
// Function to copy directory recursively
|
|
function copyDir(src, dest) {
|
|
// Create destination directory if it doesn't exist
|
|
if (!fs.existsSync(dest)) {
|
|
fs.mkdirSync(dest, { recursive: true });
|
|
}
|
|
|
|
// Read contents of source directory
|
|
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
|
|
for (const entry of entries) {
|
|
const srcPath = path.join(src, entry.name);
|
|
const destPath = path.join(dest, entry.name);
|
|
|
|
// Skip node_modules and .git directories
|
|
if (entry.name === 'node_modules' || entry.name === '.git') {
|
|
console.log(`Skipping ${entry.name}`);
|
|
continue;
|
|
}
|
|
|
|
if (entry.isDirectory()) {
|
|
// Recursive call for directories
|
|
copyDir(srcPath, destPath);
|
|
} else {
|
|
// Copy file
|
|
fs.copyFileSync(srcPath, destPath);
|
|
console.log(`Copied: ${srcPath} -> ${destPath}`);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Copy files from backend to frontend/backend
|
|
try {
|
|
// Copy main backend directories
|
|
const dirsToSync = ['config', 'controllers', 'middleware', 'models', 'routes', 'scripts', 'utils'];
|
|
|
|
dirsToSync.forEach(dir => {
|
|
const sourcePath = path.join(backendPath, dir);
|
|
const destPath = path.join(targetPath, dir);
|
|
|
|
if (fs.existsSync(sourcePath)) {
|
|
copyDir(sourcePath, destPath);
|
|
} else {
|
|
console.warn(`Warning: Directory ${sourcePath} does not exist`);
|
|
}
|
|
});
|
|
|
|
// Copy .env file (you might want to modify this for different environments)
|
|
const envSource = path.join(backendPath, '.env');
|
|
const envDest = path.join(__dirname, '.env.backend');
|
|
|
|
if (fs.existsSync(envSource)) {
|
|
fs.copyFileSync(envSource, envDest);
|
|
console.log(`Copied: ${envSource} -> ${envDest}`);
|
|
}
|
|
|
|
console.log('Backend setup completed successfully!');
|
|
} catch (error) {
|
|
console.error('Error setting up backend:', error);
|
|
}
|