Drupal 8 Site using Vue
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.9 KiB

  1. /*eslint strict: ["error", "global"]*/
  2. 'use strict';
  3. //=======================================================
  4. // Include gulp
  5. //=======================================================
  6. var gulp = require('gulp');
  7. //=======================================================
  8. // Include Our Plugins
  9. //=======================================================
  10. var sass = require('gulp-sass');
  11. var prefix = require('gulp-autoprefixer');
  12. var sourcemaps = require('gulp-sourcemaps');
  13. var sync = require('browser-sync');
  14. var babel = require('gulp-babel');
  15. var rename = require('gulp-rename');
  16. // Small error handler helper function.
  17. function handleError(err) {
  18. console.log(err.toString());
  19. this.emit('end');
  20. }
  21. // Export our tasks.
  22. module.exports = {
  23. // Compile Sass.
  24. sass: function() {
  25. return gulp.src('./src/{global,layout,components}/**/*.scss')
  26. .pipe(
  27. sass({ outputStyle: 'nested' })
  28. .on('error', handleError)
  29. )
  30. .pipe(prefix({
  31. cascade: false
  32. }))
  33. .pipe(rename(function (path) {
  34. path.dirname = '';
  35. return path;
  36. }))
  37. .pipe(gulp.dest('./dist/css'))
  38. .pipe(sync.stream({match: '**/*.css'}));
  39. },
  40. // Compile JavaScript.
  41. js: function() {
  42. return gulp.src([
  43. './src/{global,layout,components}/**/*.es6.js'
  44. ], { base: './' })
  45. .pipe(
  46. babel()
  47. .on('error', handleError)
  48. )
  49. .pipe(rename(function (path) {
  50. // Currently not using ES6 modules so for now
  51. // es6 files are compiled into individual JS files.
  52. // Eventually this can use ES6 Modules and compile
  53. // all files within a component directory into a single
  54. // foo.bundle.js file. In that case the bundle name should
  55. // reflect the components directory name.
  56. path.dirname = '';
  57. path.basename = path.basename.replace(/\.es6/, '');
  58. return path;
  59. }))
  60. .pipe(gulp.dest('./dist/js'));
  61. }
  62. };