UNPKG

express-generator-typescript-k8s

Version:

Generate a new Express applications similar to express-generate with Kubernetes client and Typescript configured.

87 lines (75 loc) 3.63 kB
#!/usr/bin/env node /** * Create new express-generator-typescript project. * * originally created by Sean Maxwell, 5/31/2019 * enhanced w/ k8s by jkremser */ const version = require('../package.json').version; const url = require('../package.json').homepage; const path = require('path'); const chalk = require('chalk'); const expressGenTs = require('../lib/express-generator-typescript-k8s'); const expressBanner = [ ` _ `, ` _____ ___ __ _ __ ___ ___ ___ (_)___`, ` / _ \\ \\/ / '_ \\| '__/ _ \\/ __/ __| | / __|`, ` | __/> <| |_) | | | __/\\__ \\__ \\_ | \\__ \\`, ` \\___/_/\\_\\ .__/|_| \\___||___/___(_)/ |___/`, ` |_| |__/ ` ]; const k8sBanner = [ ``, ` | | | `, ` | / | | __ \\ _ \\ __| __ \\ _ \\ __| _ \\ __| `, ` < | | | | __/ | | | __/ | __/\\__ \\ `, ` _|\\_\\\\__,_|_.__/ \\___|_| _| _|\\___|\\__|\\___|____/ `, `` ]; const tsBanner = [ `_________ _______ _______ _______ _______ _______ _________ _______ _________`, `\\__ __/|\\ /|( ____ )( ____ \\( ____ \\( ____ \\( ____ )\\__ __/( ____ )\\__ __/`, ` ) ( ( \\ / )| ( )|| ( \\/| ( \\/| ( \\/| ( )| ) ( | ( )| ) ( `, ` | | \\ (_) / | (____)|| (__ | (_____ | | | (____)| | | | (____)| | | `, ` | | \\ / | _____)| __) (_____ )| | | __) | | | _____) | | `, ` | | ) ( | ( | ( ) || | | (\\ ( | | | ( | | `, ` | | | | | ) | (____/\\/\\____) || (____/\\| ) \\ \\_____) (___| ) | | `, ` )_( \\_/ |/ (_______/\\_______)(_______/|/ \\__/\\_______/|/ )_( ` ]; const happy = [ ` _ _ _ _ `, ` | | | | | | (_) `, ` | |__ __ _ _ __ _ __ _ _ | |__ __ _ ___| | ___ _ __ __ _ `, ` | '_ \\ / _\` | '_ \\| '_ \\| | | | | '_ \\ / _\` |/ __| |/ / | '_ \\ / _\` |`, ` | | | | (_| | |_) | |_) | |_| | | | | | (_| | (__| <| | | | | (_| |`, ` |_| |_|\\__,_| .__/| .__/ \\__, | |_| |_|\\__,_|\\___|_|\\_\\_|_| |_|\\__, |`, ` | | | | __/ | __/ |`, ` |_| |_| |___/ |___/ ` ]; expressBanner.forEach(line => console.log(chalk.yellow(line))); tsBanner.forEach(line => console.log(chalk.blue(line))); k8sBanner.forEach(line => console.log(chalk.cyan(line))); console.log(' URL: ' + chalk.green(url)); console.log('Version: ' + chalk.green(version)); console.log(); let destination; let openAPI = false; if (process.argv[2] === '--openAPI') { openAPI = true; destination = getDest(process.argv[3]); } else { destination = getDest(process.argv[2]); } console.log('Setting up new Express+TypeScript+Kubernetes project...'); expressGenTs(destination, openAPI).then(() => { console.log('Project setup complete!'); console.log(''); happy.forEach(line => console.log(chalk.red(line))); console.log('Continue with:'); console.log(chalk.green(`cd ${destination} && npm install && npm run start:dev`)); console.log(''); }); function getDest(destFolder) { destFolder = (destFolder || 'express-gen-ts-k8s'); return path.join(process.cwd(), destFolder); }