No Description

gulpfile.babel.js 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import gulp from 'gulp'
  2. import gutil from 'gulp-util'
  3. import standard from 'gulp-standard'
  4. import browserify from 'browserify'
  5. import derequire from 'gulp-derequire'
  6. import rename from 'gulp-rename'
  7. import uglify from 'gulp-uglify'
  8. import sourcemaps from 'gulp-sourcemaps'
  9. import source from 'vinyl-source-stream'
  10. import buffer from 'vinyl-buffer'
  11. import { Server } from 'karma'
  12. gulp.task('default', ['build', 'test'])
  13. gulp.task('build', ['js', 'minify'])
  14. gulp.task('test', ['standard', 'karma'])
  15. gulp.task('js', () => {
  16. const b = browserify('src/index.js', {
  17. transform: ['babelify'],
  18. standalone: 'relativeDate'
  19. })
  20. return b.bundle()
  21. .on('error', (error) => gutil.log('Browserify Error:', error.toString()))
  22. .pipe(source('index.js'))
  23. .pipe(rename('angular-relative-date.js'))
  24. .pipe(buffer())
  25. .pipe(sourcemaps.init({ loadMaps: true }))
  26. .pipe(sourcemaps.write('.'))
  27. .pipe(derequire())
  28. .pipe(gulp.dest('dist'))
  29. })
  30. gulp.task('minify', ['js'], () => {
  31. return gulp.src('dist/angular-relative-date.js')
  32. .pipe(rename('angular-relative-date.min.js'))
  33. .pipe(sourcemaps.init({ loadMaps: true }))
  34. .pipe(uglify())
  35. .pipe(sourcemaps.write('.'))
  36. .pipe(gulp.dest('dist'))
  37. })
  38. gulp.task('standard', () => {
  39. return gulp.src('{gulpfile.babel.js,src/*.js}')
  40. .pipe(standard())
  41. .pipe(standard.reporter('default', { breakOnError: true }))
  42. })
  43. gulp.task('karma', ['js'], (done) => {
  44. new Server({
  45. configFile: `${__dirname}/karma.conf.js`,
  46. singleRun: true
  47. }, done).start()
  48. })