gulpfile.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. const gulp = require('gulp'),
  2. concat = require("gulp-concat"),
  3. rename = require("gulp-rename"),
  4. cleanCSS = require('gulp-clean-css'),
  5. uglify = require('gulp-uglify'),
  6. streamqueue = require('streamqueue');
  7. browserSync = require('browser-sync').create();
  8. function copy(cb) {
  9. gulp.src('./node_modules/bootstrap/dist/js/bootstrap.js')
  10. .pipe(rename('v3-bootstrap.js'))
  11. .pipe(gulp.dest('./js/'));
  12. gulp.src('./node_modules/bootstrap/dist/css/bootstrap.css')
  13. .pipe(rename('v3-bootstrap.css'))
  14. .pipe(gulp.dest('./css/'));
  15. gulp.src('./node_modules/popper.js/dist/umd/popper.js')
  16. .pipe(rename('v3-popper.js'))
  17. .pipe(gulp.dest('./js/'));
  18. gulp.src('./node_modules/jquery/dist/jquery.min.js')
  19. .pipe(rename('v3-jquery.js'))
  20. .pipe(gulp.dest('./js/'));
  21. gulp.src('./node_modules/jasny-bootstrap/dist/js/jasny-bootstrap.min.js')
  22. .pipe(rename('v3-jasny-bootstrap.js'))
  23. .pipe(gulp.dest('./js/'));
  24. gulp.src('./node_modules/jasny-bootstrap/dist/css/jasny-bootstrap.css')
  25. .pipe(rename('v3-jasny-bootstrap.css'))
  26. .pipe(gulp.dest('./css/'));
  27. gulp.src('./node_modules/animate.css/animate.css')
  28. .pipe(rename('v3-animate.css'))
  29. .pipe(gulp.dest('./css/'));
  30. gulp.src('./node_modules/svg-morpheus/compile/minified/svg-morpheus.js')
  31. .pipe(rename('v3-svg-morpheus.js'))
  32. .pipe(gulp.dest('./js/'));
  33. gulp.src('./node_modules/moment/min/moment.min.js')
  34. .pipe(rename('v3-moment.js'))
  35. .pipe(gulp.dest('./js/'));
  36. gulp.src('./node_modules/@fullcalendar/core/main.js')
  37. .pipe(rename('v3-fullcalendar.js'))
  38. .pipe(gulp.dest('./js/'));
  39. gulp.src('./node_modules/@fullcalendar/core/main.css')
  40. .pipe(rename('v3-fullcalendar.css'))
  41. .pipe(gulp.dest('./css/'));
  42. gulp.src('./node_modules/@fullcalendar/google-calendar/main.js')
  43. .pipe(rename('v3-fullcalendar-google.js'))
  44. .pipe(gulp.dest('./js/'));
  45. gulp.src('./node_modules/@fullcalendar/daygrid/main.js')
  46. .pipe(rename('v3-fullcalendar-daygrid.js'))
  47. .pipe(gulp.dest('./js/'));
  48. gulp.src('./node_modules/@fullcalendar/daygrid/main.css')
  49. .pipe(rename('v3-fullcalendar-daygrid.css'))
  50. .pipe(gulp.dest('./css/'));
  51. console.log("files 📄 from npm pkgs ");
  52. cb();
  53. }
  54. function css(cb) {
  55. return streamqueue({ objectMode: true },
  56. gulp.src('./css/fonts.css'),
  57. gulp.src('./css/v3-animate.css'),
  58. gulp.src('./css/v3-fullcalendar-daygrid.css'),
  59. gulp.src('./css/v3-fullcalendar.css'),
  60. gulp.src('./css/v3-bootstrap.css'),
  61. gulp.src('./style.css')
  62. )
  63. .pipe(concat('v3-style.css'))
  64. .pipe(cleanCSS({level: {1: {specialComments: 0}}}))
  65. .pipe(rename('v3-style.min.css'))
  66. .pipe(gulp.dest('./', { overwrite:true })),
  67. gulp.src('css/front-page.css')
  68. .pipe(cleanCSS({level: {1: {specialComments: 0}}}))
  69. .pipe(rename('v3-front.min.css'))
  70. .pipe(gulp.dest('./css/', { overwrite:true })),
  71. console.log("CSS built 🔧 "),
  72. cb();
  73. }
  74. function cssf(cb) {
  75. gulp.src('css/front-page.css')
  76. .pipe(cleanCSS({level: {1: {specialComments: 0}}}))
  77. .pipe(rename('v3-front.min.css'))
  78. .pipe(gulp.dest('./css/', { overwrite:true }));
  79. console.log("CSSF built 🔧 "),
  80. cb();
  81. }
  82. function js(cb) {
  83. return streamqueue({ objectMode: true },
  84. gulp.src('./js/v3-jquery.js'),
  85. gulp.src('./js/v3-popper.js'),
  86. gulp.src('./js/v3-bootstrap.js'),
  87. gulp.src('./js/v3-jasny-bootstrap.js'),
  88. gulp.src('./js/v3-moment.js'),
  89. gulp.src('./js/v3-fullcalendar.js'),
  90. gulp.src('./js/v3-fullcalendar-daygrid.js'),
  91. gulp.src('./js/v3-fullcalendar-google.js'),
  92. gulp.src('./js/modernizr.js'),
  93. gulp.src('./js/validate.js'),
  94. gulp.src('./js/scripts.js')
  95. )
  96. .pipe(concat('v3-script.js'))
  97. .pipe(uglify())
  98. .pipe(rename('v3-script.min.js'))
  99. .pipe(gulp.dest('./js/', { overwrite:true })),
  100. console.log("JS built 🔧 "),
  101. cb();
  102. }
  103. function jsf(cb) {
  104. return streamqueue({ objectMode: true },
  105. gulp.src('./js/v3-jquery.js'),
  106. gulp.src('./js/svg-morpheus.js'),
  107. gulp.src('./js/messenger.min.js'),
  108. gulp.src('./js/v3-bootstrap.js'),
  109. gulp.src('./js/terminal.js'),
  110. gulp.src('./js/front-page.js')
  111. )
  112. .pipe(concat('v3-front.js'))
  113. .pipe(uglify())
  114. .pipe(rename('v3-front.min.js'))
  115. .pipe(gulp.dest('./js/', { overwrite:true })),
  116. console.log("JSF built 🔧 "),
  117. cb();
  118. }
  119. function reload(cb) {
  120. browserSync.reload();
  121. cb();
  122. }
  123. function run() {
  124. browserSync.init({
  125. open: 'external',
  126. host: 'daw.ovid',
  127. proxy: 'https://daw.ovid',
  128. port: '333'
  129. });
  130. gulp.watch('./*.php').on('change', gulp.series(reload));
  131. console.log("🔥 Run");
  132. }
  133. exports.copy = copy;
  134. exports.css = css;
  135. exports.cssf = cssf;
  136. exports.js = js;
  137. exports.jsf = jsf;
  138. exports.run = run;