Blame view

gulp/styles.js 1.26 KB
66ee5529f   Palak Handa   initial commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  'use strict';
  
  var gulp = require('gulp');
  
  var paths = gulp.paths;
  
  var $ = require('gulp-load-plugins')();
  
  gulp.task('styles', function () {
  
    var sassOptions = {
      style: 'expanded'
    };
  
    var injectFiles = gulp.src([
      paths.src + '/{app,components}/**/*.scss',
      '!' + paths.src + '/app/index.scss',
      '!' + paths.src + '/app/vendor.scss'
    ], { read: false });
  
    var injectOptions = {
      transform: function(filePath) {
        filePath = filePath.replace(paths.src + '/app/', '');
        filePath = filePath.replace(paths.src + '/components/', '../components/');
        return '@import \'' + filePath + '\';';
      },
      starttag: '// injector',
      endtag: '// endinjector',
      addRootSlash: false
    };
  
    var indexFilter = $.filter('index.scss');
  
    return gulp.src([
      paths.src + '/app/index.scss',
      paths.src + '/app/vendor.scss'
    ])
      .pipe(indexFilter)
      .pipe($.inject(injectFiles, injectOptions))
      .pipe(indexFilter.restore())
      .pipe($.rubySass(sassOptions)
        .on('error', function (err) {
          console.error('Error!', err.message);
        })
      )
  
    .pipe($.autoprefixer())
      .on('error', function handleError(err) {
        console.error(err.toString());
        this.emit('end');
      })
      .pipe(gulp.dest(paths.tmp + '/serve/app/'));
  });