create-kuproy
Version:
Tools for generating starter project
101 lines (87 loc) • 5.01 kB
JavaScript
exports.chooseBackend = (backend, database) => {
switch (project.backend) {
case "Express":
switch (project.database) {
case "MongoDB (Mongoose)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b express-mongodb ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b express-mongodb-blank ${isFullstack ? "backend" : projectName}`)
}
break;
case "PostgreSQL (Prisma)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b express-postgres ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b express-postgres-blank ${isFullstack ? "backend" : projectName}`)
}
break;
case "MySQL (Prisma)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b express-mysql ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b express-mysql-blank ${isFullstack ? "backend" : projectName}`)
}
break;
default:
break;
}
break;
case "NestJS (Express)":
switch (project.database) {
case "MongoDB (Mongoose)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b nestjs-mongodb ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b nestjs-mongodb-blank ${isFullstack ? "backend" : projectName}`)
}
break;
case "PostgreSQL (Prisma)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b nestjs-postgres ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b nestjs-postgres-blank ${isFullstack ? "backend" : projectName}`)
}
break;
case "MySQL (Prisma)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b nestjs-mysql ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b nestjs-mysql-blank ${isFullstack ? "backend" : projectName}`)
}
break;
default:
break;
}
break;
case "Fastify":
switch (project.database) {
case "MongoDB (Mongoose)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b fastify-mongodb ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b fastify-mongodb-blank ${isFullstack ? "backend" : projectName}`)
}
break;
case "PostgreSQL (Prisma)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b fastify-postgres ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b fastify-postgres-blank ${isFullstack ? "backend" : projectName}`)
}
break;
case "MySQL (Prisma)":
if (project.sample === 'yes') {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b fastify-mysql ${isFullstack ? "backend" : projectName}`)
} else {
runCommand(`${isFullstack ? "cd " + projectName + " && " : ""}git clone --quiet --depth 1 https://github.com/luthfimaajid/create-kuproy -b fastify-mysql-blank ${isFullstack ? "backend" : projectName}`)
}
break;
default:
break;
}
break;
default:
break;
}
}