Files
ember-market-frontend/setup-backend.js
2025-03-10 17:39:37 +00:00

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);
}