Including security review as a submodule - with patched for Yaffs.
[yaffs-website] / gulpfile.js
1 var gulp = require('gulp');
2 var sass = require('gulp-sass');
3  
4 //gulp.task('styles', function(){
5 //  return gulp.src('web/themes/custom/yaffs/scss/*.scss')
6 //    .pipe(sass().on('error', sass.logError))
7 // .pipe(gulp.dest('web/themes/custom/yaffs/css'))
8 //});
9
10 // TODO - perhaps arrays then you could watch multiple sources and destinations
11
12 // source and distribution folder
13 var
14     source = 'web/themes/custom/yaffs/',
15     dest   = 'web/themes/custom/yaffs/';
16
17 // Bootstrap scss source
18 var bootstrapSass = {
19     in: './node_modules/bootstrap-sass/'
20 };
21
22 // fonts
23 var fonts = {
24     in: [source + 'fonts/*.*', bootstrapSass.in + 'assets/fonts/**/*'],
25     out: dest + 'fonts/'
26 };
27
28 // css source file: .scss files
29 var css = {
30     in: source + 'scss/style.scss',
31     out: dest + 'css/',
32     watch: source + 'scss/**/*',
33     sassOpts: {
34         outputStyle: 'nested',
35         precision: 8,
36         errLogToConsole: true,
37         includePaths: [bootstrapSass.in + 'assets/stylesheets']
38     }
39 };
40
41
42 gulp.task('fonts', function () {
43     return gulp
44         .src(fonts.in)
45         .pipe(gulp.dest(fonts.out));
46 });
47
48
49 // compile scss
50 gulp.task('sass', ['fonts'], function () {
51     return gulp.src(css.in)
52         .pipe(sass(css.sassOpts))
53         .pipe(gulp.dest(css.out));
54 });
55
56
57 // default task
58 gulp.task('default', ['sass'], function () {
59     gulp.watch(css.watch, ['sass']);
60 });
61
62 gulp.task('autoprefixer', function () {
63     var postcss      = require('gulp-postcss');
64     var sourcemaps   = require('gulp-sourcemaps');
65     var autoprefixer = require('autoprefixer');
66
67     return gulp.src('./src/*.css')
68         .pipe(sourcemaps.init())
69         .pipe(postcss([ autoprefixer() ]))
70         .pipe(sourcemaps.write('.'))
71         .pipe(gulp.dest('./dest'));
72 });