enigen-occ-commerce-cli
Version:
A simple CLI to help with your daily OCC development.
150 lines (139 loc) • 3.97 kB
JavaScript
require('dotenv').config()
const program = require('commander')
const { setup } = require('./src/setup')
const { dev } = require('./src/dev')
const { occEnv } = require('./src/occEnv')
const { dcu } = require('./src/dcu')
const { ccw } = require('./src/ccw')
const { sse } = require('./src/sse')
const { local } = require('./src/localServer')
program
.version(require('./package.json').version)
.description('An application to help you with your daily OCC development.')
.option('-l --local', 'Start local proxy server')
.option(
'-co, --compile <type>',
'Compile the local less files , type is site name of your project'
)
.option('-s, --start', 'start the environment setup')
.option('-d, --dev', 'start watcher + Browsersync')
.option('-c, --create <type>', 'create widget or element [widget|element]')
.option('-r, --refresh <path>', 'refresh path')
.option('-p, --putAll <path>', 'upload the entire path')
.option(
'-e, --env <operation>',
'start the environment manager [change|config|current]'
)
.option(
'-t, --transfer <path>',
'transfer widgets between current and target environment'
)
.option(
'-x, --sse <operation>',
'transfer SSE between current and target environment'
)
.option('-g, --grab', 'start grab on the current environment.')
.parse(process.argv)
console.log(
` .. ....'''. `
)
console.log(
` .'. `
)
console.log(
` 'codol:. .lc.:lol; .ll .:oddlox' ,codol;. 'l;'cloc, '. `
)
console.log(
` .dx:. .ox, 'xxl...:xx. .xx. cxo. .'dx, .xx,. .'xx. ;xx:...lxd `
)
console.log(
` ;xxdddddddl 'xx dx; .xx. xx. ;xd cxxddddddd; ;xd .xx. `
)
console.log(
` .dx;. .' 'xx dx; .xx. :xd,..;xd. .xx,. .' ;xo .xx. `
)
console.log(
` ,coddoc, .oo co' .oo .,:cldxc. .;ldddoc. ,oc oo. `
)
console.log(
` .. cxo `
)
console.log(
` :xd;'';xx, `
)
console.log(
` .,:cc;' `
)
console.log(
` `
)
console.log(
` `
)
if (program.start) {
setup.start()
} else {
if (occEnv.validate()) {
if (program.compile) {
local.compile(program.compile)
}
if (program.local) {
local.start()
}
if (program.dev) {
dev.start()
}
if (program.grab) {
dcu.grab()
}
if (program.refresh) {
dcu.refresh(program.refresh)
}
if (program.putAll) {
dcu.putAll(program.putAll)
}
if (program.transfer) {
dcu.transfer(program.transfer)
}
if (program.sse) {
switch (program.sse) {
case 'download':
sse.download()
break
case 'upload':
sse.upload()
break
case 'transfer':
sse.transfer()
break
}
}
if (program.create) {
switch (program.create) {
case 'widget':
ccw.createWidget()
break
case 'element':
ccw.createElement()
break
}
}
if (program.env) {
switch (program.env) {
case 'config':
occEnv.config()
break
case 'change':
occEnv.change()
break
case 'current':
const { env, url, appKey } = occEnv.get()
console.log(`Environment: ${env}\nURL: ${url}\nKEY: ${appKey}`)
break
}
}
} else {
console.log('You need to start the project first.')
}
}