nevm-mvc-scaffold
Advanced tools
Comparing version 1.0.10 to 1.0.11
32
index.js
@@ -18,6 +18,6 @@ const fs = require('fs'); | ||
console.log("Hey! I am the NEVM MVC Scaffolding Tool you've been searching for!"); | ||
console.log("\x1b[1m Hey! I am the NEVM MVC Scaffolding Tool you've been searching for!\x1b[0m"); | ||
console.log(); | ||
console.log(); | ||
console.log("Let's get started on your nodejs app development journey with everything you need to work in peace with a clean MVC structure and a little extra magic... "); | ||
console.log("\x1b[1m Let's get started on your nodejs app development journey with everything you need to work in peace with a clean MVC structure and a little extra magic... \x1b[0m"); | ||
console.log() | ||
@@ -29,3 +29,3 @@ function showDivider(character, length) { | ||
// Example usage: | ||
// Print Divider: | ||
showDivider('-', 40); | ||
@@ -43,2 +43,4 @@ // Create directories | ||
showDivider('-', 40); | ||
// Create a readline interface for user input | ||
@@ -71,2 +73,3 @@ const rl = readline.createInterface({ | ||
function generateServerFile() { | ||
showDivider('-', 40); | ||
const serverFile = path.join(process.cwd(), 'server.js'); | ||
@@ -97,2 +100,3 @@ const serverContent = ` | ||
function installORM() { | ||
showDivider('-', 40); | ||
rl.question('Do you want to install an ORM? (sequelize(s)/mongoose(m)/neither(n)): ', (answer) => { | ||
@@ -114,2 +118,3 @@ if (answer.toLowerCase() === 'sequelize' || answer.toLowerCase() === 's') { | ||
function installSequelize() { | ||
showDivider('-', 40); | ||
console.log('Installing Sequelize...'); | ||
@@ -132,2 +137,3 @@ exec('npm install sequelize', (error, stdout, stderr) => { | ||
function installMongoose() { | ||
showDivider('-', 40); | ||
console.log('Installing Mongoose...'); | ||
@@ -149,2 +155,3 @@ exec('npm install mongoose', (error, stdout, stderr) => { | ||
function vueInstall() { | ||
showDivider('-', 40); | ||
// Save the current working directory | ||
@@ -155,7 +162,7 @@ const currentDirectory = process.cwd(); | ||
if (answer.toLowerCase() === 'y') { | ||
const frontEndDirectory = './frontend'; | ||
const frontEndDirectory = 'frontend'; | ||
console.log('Installing Vue.js with Vite...'); | ||
process.chdir(frontEndDirectory); // Change directory to frontend | ||
exec('npm install vite @vitejs/plugin-vue', (error, stdout, stderr) => { | ||
process.chdir(currentDirectory); | ||
const installCommand = 'npm install vite @vitejs/plugin-vue'; | ||
exec(installCommand, { cwd: frontEndDirectory }, (error, stdout, stderr) => { | ||
process.chdir(currentDirectory); // Restore the original directory | ||
if (error) { | ||
@@ -167,3 +174,3 @@ console.error(`Error installing Vue.js with Vite: ${error}`); | ||
console.log('Vue.js with Vite installed successfully.'); | ||
updateFrontend(); | ||
updateFrontend(); // Move updateFrontend call here | ||
}); | ||
@@ -178,5 +185,10 @@ } else { | ||
// Update frontend files and folders | ||
function updateFrontend() { | ||
const frontendPackageJsonPath = path.join(process.cwd(), 'frontend', 'package.json'); | ||
showDivider('-', 40); | ||
console.error(`Current Directory: ${process.cwd()}`); | ||
const frontendPackageJsonPath = path.join(process.cwd(), 'package.json'); | ||
// const frontendPackageJson = require(frontendPackageJsonPath); | ||
console.error(`Package json exists at: ${frontendPackageJsonPath}`); | ||
const frontendPackageJson = require(frontendPackageJsonPath); | ||
@@ -187,3 +199,3 @@ // Update scripts in package.json | ||
fs.writeFileSync(frontendPackageJsonPath, JSON.stringify(frontendPackageJson, null, 2)); | ||
showDivider('-', 40); | ||
// Create 'router' directory if it doesn't exist | ||
@@ -190,0 +202,0 @@ const routerDirectory = path.join(process.cwd(), 'frontend', 'src', 'router'); |
{ | ||
"name": "nevm-mvc-scaffold", | ||
"version": "1.0.10", | ||
"version": "1.0.11", | ||
"description": "Initialize project structure for Node.js applications following the MVC pattern with express.js, vue, vue-router and vite", | ||
@@ -8,3 +8,5 @@ "main": "index.js", | ||
"start": "node index.js", | ||
"postinstall": "cp index.js ../../setup.js && cd ../.. && node setup.js" | ||
"postinstall": "cp index.js ../../setup.js && cd ../.. && node setup.js", | ||
"dev": "vite", | ||
"build": "vite build" | ||
}, | ||
@@ -24,3 +26,10 @@ "keywords": [ | ||
"author": "Jesil Jose (the-provost)", | ||
"license": "MIT" | ||
} | ||
"license": "MIT", | ||
"dependencies": { | ||
"@vitejs/plugin-vue": "^5.0.4", | ||
"express": "^4.18.3", | ||
"sequelize": "^6.37.1", | ||
"vite": "^5.1.4", | ||
"vue-router": "^4.3.0" | ||
} | ||
} |
10466
215
5
+ Added@vitejs/plugin-vue@^5.0.4
+ Addedexpress@^4.18.3
+ Addedsequelize@^6.37.1
+ Addedvite@^5.1.4
+ Addedvue-router@^4.3.0
+ Added@babel/parser@7.24.5(transitive)
+ Added@esbuild/aix-ppc64@0.20.2(transitive)
+ Added@esbuild/android-arm@0.20.2(transitive)
+ Added@esbuild/android-arm64@0.20.2(transitive)
+ Added@esbuild/android-x64@0.20.2(transitive)
+ Added@esbuild/darwin-arm64@0.20.2(transitive)
+ Added@esbuild/darwin-x64@0.20.2(transitive)
+ Added@esbuild/freebsd-arm64@0.20.2(transitive)
+ Added@esbuild/freebsd-x64@0.20.2(transitive)
+ Added@esbuild/linux-arm@0.20.2(transitive)
+ Added@esbuild/linux-arm64@0.20.2(transitive)
+ Added@esbuild/linux-ia32@0.20.2(transitive)
+ Added@esbuild/linux-loong64@0.20.2(transitive)
+ Added@esbuild/linux-mips64el@0.20.2(transitive)
+ Added@esbuild/linux-ppc64@0.20.2(transitive)
+ Added@esbuild/linux-riscv64@0.20.2(transitive)
+ Added@esbuild/linux-s390x@0.20.2(transitive)
+ Added@esbuild/linux-x64@0.20.2(transitive)
+ Added@esbuild/netbsd-x64@0.20.2(transitive)
+ Added@esbuild/openbsd-x64@0.20.2(transitive)
+ Added@esbuild/sunos-x64@0.20.2(transitive)
+ Added@esbuild/win32-arm64@0.20.2(transitive)
+ Added@esbuild/win32-ia32@0.20.2(transitive)
+ Added@esbuild/win32-x64@0.20.2(transitive)
+ Added@jridgewell/sourcemap-codec@1.4.15(transitive)
+ Added@rollup/rollup-android-arm-eabi@4.18.0(transitive)
+ Added@rollup/rollup-android-arm64@4.18.0(transitive)
+ Added@rollup/rollup-darwin-arm64@4.18.0(transitive)
+ Added@rollup/rollup-darwin-x64@4.18.0(transitive)
+ Added@rollup/rollup-linux-arm-gnueabihf@4.18.0(transitive)
+ Added@rollup/rollup-linux-arm-musleabihf@4.18.0(transitive)
+ Added@rollup/rollup-linux-arm64-gnu@4.18.0(transitive)
+ Added@rollup/rollup-linux-arm64-musl@4.18.0(transitive)
+ Added@rollup/rollup-linux-powerpc64le-gnu@4.18.0(transitive)
+ Added@rollup/rollup-linux-riscv64-gnu@4.18.0(transitive)
+ Added@rollup/rollup-linux-s390x-gnu@4.18.0(transitive)
+ Added@rollup/rollup-linux-x64-gnu@4.18.0(transitive)
+ Added@rollup/rollup-linux-x64-musl@4.18.0(transitive)
+ Added@rollup/rollup-win32-arm64-msvc@4.18.0(transitive)
+ Added@rollup/rollup-win32-ia32-msvc@4.18.0(transitive)
+ Added@rollup/rollup-win32-x64-msvc@4.18.0(transitive)
+ Added@types/debug@4.1.12(transitive)
+ Added@types/estree@1.0.5(transitive)
+ Added@types/ms@0.7.34(transitive)
+ Added@types/node@20.12.12(transitive)
+ Added@types/validator@13.11.10(transitive)
+ Added@vitejs/plugin-vue@5.0.4(transitive)
+ Added@vue/compiler-core@3.4.27(transitive)
+ Added@vue/compiler-dom@3.4.27(transitive)
+ Added@vue/compiler-sfc@3.4.27(transitive)
+ Added@vue/compiler-ssr@3.4.27(transitive)
+ Added@vue/devtools-api@6.6.1(transitive)
+ Added@vue/reactivity@3.4.27(transitive)
+ Added@vue/runtime-core@3.4.27(transitive)
+ Added@vue/runtime-dom@3.4.27(transitive)
+ Added@vue/server-renderer@3.4.27(transitive)
+ Added@vue/shared@3.4.27(transitive)
+ Addedaccepts@1.3.8(transitive)
+ Addedarray-flatten@1.1.1(transitive)
+ Addedbody-parser@1.20.2(transitive)
+ Addedbytes@3.1.2(transitive)
+ Addedcall-bind@1.0.7(transitive)
+ Addedcontent-disposition@0.5.4(transitive)
+ Addedcontent-type@1.0.5(transitive)
+ Addedcookie@0.6.0(transitive)
+ Addedcookie-signature@1.0.6(transitive)
+ Addedcsstype@3.1.3(transitive)
+ Addeddebug@2.6.94.3.4(transitive)
+ Addeddefine-data-property@1.1.4(transitive)
+ Addeddepd@2.0.0(transitive)
+ Addeddestroy@1.2.0(transitive)
+ Addeddottie@2.0.6(transitive)
+ Addedee-first@1.1.1(transitive)
+ Addedencodeurl@1.0.2(transitive)
+ Addedentities@4.5.0(transitive)
+ Addedes-define-property@1.0.0(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedesbuild@0.20.2(transitive)
+ Addedescape-html@1.0.3(transitive)
+ Addedestree-walker@2.0.2(transitive)
+ Addedetag@1.8.1(transitive)
+ Addedexpress@4.19.2(transitive)
+ Addedfinalhandler@1.2.0(transitive)
+ Addedforwarded@0.2.0(transitive)
+ Addedfresh@0.5.2(transitive)
+ Addedfsevents@2.3.3(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-intrinsic@1.2.4(transitive)
+ Addedgopd@1.0.1(transitive)
+ Addedhas-property-descriptors@1.0.2(transitive)
+ Addedhas-proto@1.0.3(transitive)
+ Addedhas-symbols@1.0.3(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedhttp-errors@2.0.0(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedinflection@1.13.4(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedipaddr.js@1.9.1(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedmagic-string@0.30.10(transitive)
+ Addedmedia-typer@0.3.0(transitive)
+ Addedmerge-descriptors@1.0.1(transitive)
+ Addedmethods@1.1.2(transitive)
+ Addedmime@1.6.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedmoment@2.30.1(transitive)
+ Addedmoment-timezone@0.5.45(transitive)
+ Addedms@2.0.02.1.22.1.3(transitive)
+ Addednanoid@3.3.7(transitive)
+ Addednegotiator@0.6.3(transitive)
+ Addedobject-inspect@1.13.1(transitive)
+ Addedon-finished@2.4.1(transitive)
+ Addedparseurl@1.3.3(transitive)
+ Addedpath-to-regexp@0.1.7(transitive)
+ Addedpg-connection-string@2.6.4(transitive)
+ Addedpicocolors@1.0.1(transitive)
+ Addedpostcss@8.4.38(transitive)
+ Addedproxy-addr@2.0.7(transitive)
+ Addedqs@6.11.0(transitive)
+ Addedrange-parser@1.2.1(transitive)
+ Addedraw-body@2.5.2(transitive)
+ Addedretry-as-promised@7.0.4(transitive)
+ Addedrollup@4.18.0(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsemver@7.6.2(transitive)
+ Addedsend@0.18.0(transitive)
+ Addedsequelize@6.37.3(transitive)
+ Addedsequelize-pool@7.1.0(transitive)
+ Addedserve-static@1.15.0(transitive)
+ Addedset-function-length@1.2.2(transitive)
+ Addedsetprototypeof@1.2.0(transitive)
+ Addedside-channel@1.0.6(transitive)
+ Addedsource-map-js@1.2.0(transitive)
+ Addedstatuses@2.0.1(transitive)
+ Addedtoidentifier@1.0.1(transitive)
+ Addedtoposort-class@1.0.1(transitive)
+ Addedtype-is@1.6.18(transitive)
+ Addedundici-types@5.26.5(transitive)
+ Addedunpipe@1.0.0(transitive)
+ Addedutils-merge@1.0.1(transitive)
+ Addeduuid@8.3.2(transitive)
+ Addedvalidator@13.12.0(transitive)
+ Addedvary@1.1.2(transitive)
+ Addedvite@5.2.11(transitive)
+ Addedvue@3.4.27(transitive)
+ Addedvue-router@4.3.2(transitive)
+ Addedwkx@0.5.0(transitive)