1
0
Fork 0
freesewing/packages/studio/lib/cli.mjs
Joost De Cock 51dc1d9732
[breaking]: FreeSewing v4 (#7297)
Refer to the CHANGELOG for all info.

---------

Co-authored-by: Wouter van Wageningen <wouter.vdub@yahoo.com>
Co-authored-by: Josh Munic <jpmunic@gmail.com>
Co-authored-by: Jonathan Haas <haasjona@gmail.com>
2025-04-01 16:15:20 +02:00

81 lines
1.9 KiB
JavaScript

import { checkNodeVersion, getChoices, createEnvironment } from './utils.mjs'
import chalk from 'chalk'
const color = (hex, txt) => chalk.hex(hex).bold(txt)
const red = (txt) => color('#EF4444', txt)
const orange = (txt) => color('#F97316', txt)
const yellow = (txt) => color('#FACC15', txt)
const green = (txt) => color('#84CC16', txt)
const blue = (txt) => color('#3B82F61', txt)
const violet = (txt) => color('#8B5CF6', txt)
const tblue = (txt) => color('#77cbf9', txt)
const tpink = (txt) => color('#ecadb9', txt)
const white = (txt) => color('#ffffff', txt)
const text = (txt) => chalk.hex('#cccccc').dim(txt)
const nl = '\n'
const banner =
nl +
red(' ___ ') +
yellow(' ___') +
blue(' _') +
nl +
red(' | __| _') +
orange(' ___ ___') +
yellow('/ __|') +
green(' _____ _') +
blue('_ _(_)') +
violet('_ _ __ _') +
nl +
red(` | _| '_/`) +
orange(' -_) -_)') +
yellow('__ \\') +
green('/ -_) V ') +
blue(' V / |') +
violet(` ' \\/ _\` |`) +
nl +
red(` |_||_|`) +
orange(` \\___\\___`) +
yellow(`|___/`) +
green(`\\___|\\_/`) +
blue(`\\_/|_|`) +
violet(`_||_\\__, |`) +
nl +
text(` `) +
tblue('≡≡≡≡≡≡≡') +
tpink('≡≡≡≡≡≡≡') +
white('≡≡≡≡≡≡≡≡≡≡') +
tpink('≡≡≡≡≡≡≡') +
tblue('≡≡≡≡≡≡≡') +
violet(`|___/`) +
nl +
white(' Come') +
text(' for the ') +
white('sewing patterns') +
nl +
white(' Stay') +
text(' for the ') +
red('c') +
orange('o') +
yellow('m') +
green('m') +
blue('u') +
violet('n') +
white('i') +
tpink('t') +
tblue('y')
export const cli = async () => {
// Make it pretty
console.log(banner + '\n')
// Make sure we have a valid NodeJS version
checkNodeVersion()
// Get user input
const choices = await getChoices()
// Create environment
createEnvironment(choices)
}