72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
|
import minimist from 'minimist'
|
||
|
|
||
|
const envSettings = {
|
||
|
string: 'env',
|
||
|
default: {
|
||
|
env: process.env.NODE_ENV || 'development'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const options = minimist(process.argv.slice(2), envSettings)
|
||
|
const production = options.env === 'production'
|
||
|
|
||
|
const config = {
|
||
|
dirs: {
|
||
|
src: './src',
|
||
|
dest: './static'
|
||
|
},
|
||
|
envProduction: production
|
||
|
}
|
||
|
|
||
|
const tasks = {
|
||
|
css: {
|
||
|
src: `${config.dirs.src}/css/style.css`,
|
||
|
dest: `${config.dirs.dest}/css`,
|
||
|
processors: [
|
||
|
require('postcss-import'),
|
||
|
require('postcss-custom-properties'),
|
||
|
require('postcss-custom-media'),
|
||
|
require('postcss-apply'),
|
||
|
require('postcss-nesting'),
|
||
|
require('postcss-flexbugs-fixes'),
|
||
|
require('autoprefixer'),
|
||
|
require('postcss-browser-reporter')({
|
||
|
selector: 'body:before'
|
||
|
}),
|
||
|
require('postcss-reporter')({
|
||
|
clearMessages: true
|
||
|
})
|
||
|
],
|
||
|
minifyLib: require('csswring')
|
||
|
},
|
||
|
webpack: {
|
||
|
src: `${config.dirs.src}/js/app.js`,
|
||
|
dest: `${config.dirs.dest}/js`,
|
||
|
filename: 'bundle.js'
|
||
|
},
|
||
|
watch: {
|
||
|
css: [`${config.dirs.src}/css/**/*.css`],
|
||
|
image: [`${config.dirs.src}/img/**/*`],
|
||
|
webpack: [`${config.dirs.src}/js/**/*.js`]
|
||
|
},
|
||
|
images: {
|
||
|
src: `${config.dirs.src}/images/**/*`,
|
||
|
dest: `${config.dirs.dest}/images`
|
||
|
},
|
||
|
svg: {
|
||
|
src: `${config.dirs.src}/svg/*.svg`,
|
||
|
dest: './svgpack'
|
||
|
},
|
||
|
svgRename: {
|
||
|
src: './svgpack/svgpack-sprite.svg',
|
||
|
dest: './layouts/partials',
|
||
|
filename: 'svgpack-sprite.html'
|
||
|
},
|
||
|
clean: [
|
||
|
config.dirs.dest
|
||
|
]
|
||
|
}
|
||
|
|
||
|
config.tasks = tasks
|
||
|
module.exports = config
|