beautify.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import gulp from 'gulp';
  2. import config from '../config';
  3. import prettier from 'gulp-nf-prettier';
  4. import changed from 'gulp-changed';
  5. import size from 'gulp-size';
  6. import plumber from 'gulp-plumber';
  7. import gulpif from 'gulp-if';
  8. import notify from 'gulp-notify';
  9. import postcss from 'gulp-postcss';
  10. import syntaxScss from 'postcss-scss';
  11. import stylefmt from 'stylefmt';
  12. gulp.task('beautify:scripts', () => {
  13. return gulp
  14. .src(`${config.scripts.source}/**/*.js`, {
  15. base: './', since: gulp.lastRun('beautify:scripts'),
  16. })
  17. .pipe(changed(`${config.scripts.source}`))
  18. .pipe(
  19. plumber({errorHandler: notify.onError('Error: <%= error.message %>')})
  20. )
  21. .pipe(
  22. prettier({
  23. parser: 'flow',
  24. tabWidth: 2,
  25. useTabs: false,
  26. semi: true,
  27. singleQuote: true,
  28. bracketSpacing: true,
  29. })
  30. )
  31. .pipe(size({showFiles: true}))
  32. .pipe(plumber.stop())
  33. .pipe(gulp.dest('./'))
  34. .pipe(
  35. gulpif(
  36. config.enable.notify,
  37. notify({
  38. title: config.notify.title,
  39. message: 'Beautify js task complete',
  40. onLast: true,
  41. })
  42. )
  43. );
  44. });
  45. gulp.task('beautify:styles', () => {
  46. return gulp
  47. .src([`${config.styles.source}/**/*.scss`, `!${config.styles.source}/bootstrap/**/*.scss`, `!${config.styles.source}/mixins/**/*.scss`], {
  48. base: './',
  49. since: gulp.lastRun('beautify:styles'),
  50. })
  51. .pipe(changed(`${config.styles.source}`))
  52. .pipe(
  53. plumber({errorHandler: notify.onError('Error: <%= error.message %>')})
  54. )
  55. .pipe(postcss([stylefmt()], {syntax: syntaxScss}))
  56. .pipe(size({showFiles: true}))
  57. .pipe(plumber.stop())
  58. .pipe(gulp.dest('./'))
  59. .pipe(
  60. gulpif(
  61. config.enable.notify,
  62. notify({
  63. title: config.notify.title,
  64. message: 'Beautify css task complete',
  65. onLast: true,
  66. })
  67. )
  68. );
  69. });
  70. gulp.task('beautify', gulp.series('beautify:scripts', 'beautify:styles'));