peruna/config.js

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