A simple file sharing site with an easy to use API and online panel.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

76 linhas
1.8KB

  1. 'use strict';
  2. const gulp = require('gulp');
  3. const gutil = require('gutil');
  4. const watchify = require('watchify');
  5. const browserify = require('browserify');
  6. const source = require('vinyl-source-stream');
  7. const buffer = require('vinyl-buffer');
  8. const rename = require('gulp-rename');
  9. const uglify = require('gulp-uglify-es').default;
  10. const es = require('event-stream');
  11. const cleanCSS = require('gulp-clean-css');
  12. const nodemon = require('gulp-nodemon');
  13. const sourcemaps = require('gulp-sourcemaps');
  14. const path = require('path');
  15. const glob = require('glob');
  16. let jsFiles = {
  17. src: [
  18. glob.sync('app/public/services/*.js'),
  19. glob.sync('app/public/panel/**/*.js'),
  20. glob.sync('app/public/shimapan/**/*.js'),
  21. ],
  22. dest: 'shimapan.bundle.js'
  23. };
  24. let staticJs = [{
  25. src: 'app/public/index/typegraph.js',
  26. dest: 'typegraph.min.js'
  27. }];
  28. const bundler = () =>
  29. browserify({
  30. entries: jsFiles.src,
  31. debug: true,
  32. cache: {},
  33. packageCache: {}
  34. });
  35. const watcher = watchify(bundler());
  36. watcher.on('log', gutil.log);
  37. const bundle = pkg =>
  38. pkg.bundle()
  39. .pipe(source(jsFiles.dest))
  40. .pipe(buffer())
  41. .pipe(sourcemaps.init({loadMaps: true}))
  42. .pipe(uglify())
  43. .pipe(sourcemaps.write('./'))
  44. .pipe(gulp.dest('public/js'));
  45. gulp.task('build', () => bundle(bundler()));
  46. gulp.task('watch', () => {
  47. bundle(watcher);
  48. watcher.on('update', () => bundle(watcher));
  49. });
  50. gulp.task('minify', () => {
  51. const tasks = staticJs.map(file =>
  52. gulp.src(file.src)
  53. .pipe(rename(file.dest))
  54. .pipe(buffer())
  55. .pipe(sourcemaps.init({loadMaps: true}))
  56. .pipe(uglify())
  57. .pipe(sourcemaps.write('./')));
  58. return es.merge(tasks)
  59. .pipe(gulp.dest('public/js'));
  60. });
  61. gulp.task('default', gulp.parallel('build', 'minify'));