homepage/gulpfile.js

40 lines
1.0 KiB
JavaScript

const gulp = require('gulp');
const concat = require('gulp-concat');
const sass = require('gulp-sass');
const autoprefixer = require('gulp-autoprefixer');
const ENV = process.env.BUILD_ENV || 'dev';
const SASS_SOURCE_PATH = './source/_assets/**/*.scss';
const SASS_DEST_PATH = `./output_${ENV}`;
const SASS_FILE_NAME = 'app.css';
const SCRIPT_SOURCE_PATH = './source/_assets/**/*.js';
const SCRIPT_DEST_PATH = `./output_${ENV}`;
const SCRIPT_FILE_NAME = 'app.js';
const SASS_OPTIONS = {
outputStyle: ENV === 'prod' ? 'compressed' : 'expanded',
};
const AUTOPREFIX_OPTIONS = {
browsers: ['last 2 versions'],
};
gulp.task('build', function () {
gulp.src(SASS_SOURCE_PATH)
.pipe(sass(SASS_OPTIONS).on('error', sass.logError))
.pipe(autoprefixer(AUTOPREFIX_OPTIONS))
.pipe(concat(SASS_FILE_NAME))
.pipe(gulp.dest(SASS_DEST_PATH))
;
gulp.src(SCRIPT_SOURCE_PATH)
.pipe(concat(SCRIPT_FILE_NAME))
.pipe(gulp.dest(SCRIPT_DEST_PATH))
;
});
gulp.task('build:watch', function () {
gulp.watch(SASS_SOURCE_PATH, ['build']);
});