UNPKG

xpress-mvc

Version:

An MVC framework based on Express.js

117 lines (91 loc) 3.06 kB
const path = require("path"); const fs = require("fs-extra"); const renameDirectory = async (repoName, newName) => { return new Promise((resolve,reject) => { setTimeout( async () => { try { const oldPath = path.join(process.cwd(), repoName); const newPath = path.join(process.cwd(), newName ?? 'your-project'); await fs.copy(oldPath, newPath); await fs.remove(oldPath); resolve(true); } catch (err) { console.error("❌ Error renaming folder:", err); reject(err) } },1000) }) }; const moveDirectory = async (repoName,newName) => { return new Promise(async (resolve,reject) => { try { const oldPath = path.join(process.cwd(), repoName); const newPath = path.join(process.cwd(), newName ?? 'your-project'); await fs.move(oldPath,newPath,{overwrite: true}) console.log(`✅ Folder moved successfully.`); resolve(true) } catch (err) { console.error("❌ Error renaming folder:", err); reject(err) } }) } const mergeDirectory = async (repoName,newName) => { return new Promise( async (resolve,reject) => { try{ const source = path.join(process.cwd(),repoName) const newPath = path.join(process.cwd(), newName ?? 'your-project'); await fs.copy(source,newPath,{overwrite: false}) await fs.remove(source) resolve(true) }catch(err){ console.log('Error on merging directory: ' + err) resolve(err) } }) } const removeDependency = async () => { return new Promise( async (resolve,reject) => { if(fs.exists('node_modules')) await fs.remove('node_modules') if(fs.exists('package-lock.json')) await fs.remove('package-lock.json') if(fs.exists('package.json')) await fs.remove('package.json') resolve(true) }) } const readJson = async () => { return new Promise( async (resolve,reject) => { try{ resolve(await fs.readJson('package.json')) }catch(error){ reject(new Error("❌ Error reading package.json:", err.message)) } }) } const writeEnv = async (key,value) => { return new Promise( async (resolve,reject) => { try{ const dotenv = require("dotenv"); const env = dotenv.parse(await fs.readFile('.env')) env[key] = value await fs.writeFile('.env', Object.entries(env).map(([key,value]) => `${key}=${value}`).join('\n') ) resolve(true) }catch(error){ reject(new Error(error)) } }) } const spaceToDash = (text) => { text = text.trim() if (text.includes(' ')) { return text.split(' ').join('-') } return text } const firstLetterUpperCase = (text) => { const firstLetter = text[0].toUpperCase(); return text.replace(text[0],firstLetter) } module.exports = { renameDirectory, moveDirectory,mergeDirectory,removeDependency,readJson,writeEnv,spaceToDash,firstLetterUpperCase };