A simple file sharing site with an easy to use API and online panel.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

76 Zeilen
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'));