@viewdo/dxp-story-cli
Version:
README.md
76 lines (62 loc) • 1.46 kB
JavaScript
const del = require('del')
const copy_dir = require('copy-dir')
const mkdirp = require('mkdirp')
const path = require('path')
const webpack = require('./services/webpack')
const templates = require('./services/templates')
// const unpack = require('./unpack')
const console = require('../services/console-service')
const init = (root, config, build) => {
// copy build files over
let folder = path.resolve(__dirname, './files')
copy_dir.sync(folder, root)
const {
output,
source = "./src"
} = config
mkdirp(output)
if(build)
mkdirp(source)
}
const build = (story_keys, config) => {
const { output } = config
return del([output])
.then(() => {
const templatePromise = templates.build(story_keys, config)
const webpackPromise = webpack.build(story_keys, config)
return Promise.all([
templatePromise,
webpackPromise
])
})
.then(() => {
webpack.postBuild(story_keys, config)
})
.catch(err => {
console.log(err)
})
}
const watch = config => {
const { output } = config
del([output])
.then(paths => {
webpack.watch(config, true)
templates.watch(config)
})
.catch(err => {
console.log(err)
})
}
const serve = config => {
webpack.serve(config, true)
}
const unpack = (story_keys, config) =>{
unpack(story_keys, config, console)
}
module.exports = {
init,
build,
watch,
serve,
unpack
}