forked from vikunja/theme
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
const gulp = require('gulp');
|
|
const sass = require('gulp-sass');
|
|
const sourcemaps = require('gulp-sourcemaps');
|
|
const tar = require('gulp-tar-path');
|
|
const gzip = require('gulp-gzip');
|
|
const clean = require('gulp-clean');
|
|
const cleanCSS = require('gulp-clean-css');
|
|
const hash = require('gulp-hash-filename');
|
|
const replace = require('gulp-replace');
|
|
|
|
const sources = [
|
|
'archetypes',
|
|
'i18n',
|
|
'layouts',
|
|
'static',
|
|
'DCO',
|
|
'LICENSE',
|
|
'README.md',
|
|
'theme.toml'
|
|
];
|
|
|
|
gulp.task('default', ['sass']);
|
|
gulp.task('prod', ['sass-prod'])
|
|
|
|
gulp.task('release', () => {
|
|
return gulp.src(sources)
|
|
.pipe(tar('main.tar'))
|
|
.pipe(gzip())
|
|
.pipe(gulp.dest('dist'))
|
|
});
|
|
|
|
gulp.task('sass', () => {
|
|
return gulp.src('./src/main.scss')
|
|
.pipe(sourcemaps.init())
|
|
.pipe(sass().on('error', sass.logError))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest('./static/styles'));
|
|
});
|
|
|
|
gulp.task('sass-prod', () => {
|
|
return gulp.src('./src/main.scss')
|
|
.pipe(sourcemaps.init())
|
|
.pipe(sass().on('error', sass.logError))
|
|
.pipe(cleanCSS())
|
|
.pipe(replace('../static', '..'))
|
|
.pipe(hash())
|
|
.pipe(gulp.dest('./static/styles'));
|
|
})
|
|
|
|
gulp.task('clean', () => {
|
|
return gulp.src(['dist', 'static/styles'])
|
|
.pipe(clean());
|
|
});
|
|
|
|
gulp.task('watch', () => {
|
|
return gulp.watch('./src/*.scss', ['sass']);
|
|
});
|