A simple file sharing site with an easy to use API and online panel.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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