Advertisement
Guest User

Untitled

a guest
Apr 9th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. // define modules
  2. var fs = require('fs');
  3. const { src, dest, parallel } = require('gulp');
  4. var sass = require('gulp-sass');
  5. var chokidar = require('chokidar');
  6. var concat = require('gulp-concat');
  7. var settings = JSON.parse(fs.readFileSync('sync.json', 'utf8'));
  8. var request = require('request');
  9. var path = require('path');
  10.  
  11. // syncing files
  12. var watcher = chokidar.watch([
  13. "./**/*.jpeg",
  14. "./**/*.jpg",
  15. "./**/*.svg",
  16. "./**/*.png",
  17. "./**/*.gif",
  18. "./**/*.html",
  19. "./**/*.css",
  20. "./**/*.js"
  21. ], {
  22. ignorePermissionErrors: true,
  23. ignoreInitial: true,
  24. ignored: [
  25. "node_modules",
  26. "gulpfile.js"
  27. ]
  28. });
  29.  
  30. // animate css
  31. function animateCss() {
  32. return src([
  33. './node_modules/animate.css/animate.min.css',
  34. ])
  35. .pipe(sass({
  36. outputStyle: 'compressed'
  37. })
  38. .on('error', sass.logError))
  39. .pipe(concat('animate.css'))
  40. .pipe(gulp.dest('./css'));
  41. };
  42.  
  43. // app scss
  44. function appSass() {
  45. return src([
  46. './scss/app.scss'
  47. ])
  48. .pipe(sass().on('error', sass.logError))
  49. .pipe(gulp.dest('./css'));
  50. };
  51.  
  52. // watch bootstrap files
  53. watch(['./scss/app.scss', './scss/bootstrap.variables.scss'], series(appSass));
  54.  
  55. // bootstrap sass
  56. function bootstrapSass() {
  57. return gulp.src([
  58. './scss/bootstrap.scss',
  59. './scss/bootstrap.rtl.scss'
  60. ])
  61. .pipe(sass({
  62. outputStyle: 'compressed'
  63. })
  64. .on('error', sass.logError))
  65. .pipe(gulp.dest('./css'));
  66. };
  67.  
  68. // watch bootstrap files
  69. watch(['./scss/bootstrap.base.scss', './scss/bootstrap.custom.scss', './scss/bootstrap.rtl.scss', './scss/bootstrap.scss', './scss/bootstrap.variables.scss'], series(bootstrapSass));
  70.  
  71. // bootstrap js
  72. function bootstrapJs() {
  73. return src([
  74. './node_modules/jquery/dist/jquery.min.js',
  75. './node_modules/popper.js/dist/umd/popper.min.js',
  76. './node_modules/bootstrap/dist/js/bootstrap.min.js',
  77. ])
  78. .pipe(concat('bootstrap.js'))
  79. .pipe(gulp.dest('./js'));
  80. };
  81.  
  82. // owl sass
  83. function owlSass() {
  84. return src([
  85. './node_modules/owl.carousel/src/scss/owl.carousel.scss',
  86. './node_modules/owl.carousel/src/scss/owl.theme.default.scss'
  87. ])
  88. .pipe(sass({
  89. outputStyle: 'compressed'
  90. })
  91. .on('error', sass.logError))
  92. .pipe(concat('owl.carousel.css'))
  93. .pipe(gulp.dest('./css'));
  94. };
  95.  
  96. // owl js
  97. function owlJs() {
  98. return src([
  99. './node_modules/owl.carousel/dist/owl.carousel.min.js'
  100. ])
  101. .pipe(concat('owl.carousel.js'))
  102. .pipe(gulp.dest('./js'));
  103. };
  104.  
  105. // magnific sass
  106. function magnificSass() {
  107. return src([
  108. './node_modules/magnific-popup/src/css/main.scss',
  109. ])
  110. .pipe(sass({
  111. outputStyle: 'compressed'
  112. })
  113. .on('error', sass.logError))
  114. .pipe(concat('magnific.popup.css'))
  115. .pipe(gulp.dest('./css'));
  116. };
  117.  
  118. // magnific js
  119. function magnificJs() {
  120. return src([
  121. './node_modules/magnific-popup/dist/jquery.magnific-popup.min.js'
  122. ])
  123. .pipe(concat('magnific.popup.js'))
  124. .pipe(gulp.dest('./js'));
  125. };
  126.  
  127. // file added
  128. watcher.on('add', function (file) {
  129. request({
  130. auth: {
  131. user: settings.username,
  132. pass: settings.password,
  133. },
  134. gzip: true,
  135. filename: file,
  136. method: 'POST',
  137. url: settings.api + '/upload',
  138. formData: {
  139. dummy_name: 'false',
  140. path: settings.path + path.dirname(file),
  141. files: [
  142. fs.createReadStream(file)
  143. ]
  144. }
  145. }, response);
  146. });
  147.  
  148. // file changed
  149. watcher.on('change', function (file) {
  150. request({
  151. auth: {
  152. user: settings.username,
  153. pass: settings.password,
  154. },
  155. gzip: true,
  156. filename: file,
  157. method: 'POST',
  158. url: settings.api + '/upload',
  159. formData: {
  160. dummy_name: 'false',
  161. path: settings.path + path.dirname(file),
  162. files: [
  163. fs.createReadStream(file)
  164. ]
  165. }
  166. }, response);
  167. });
  168.  
  169. // file removed
  170. watcher.on('unlink', function (file) {
  171. request({
  172. auth: {
  173. user: settings.username,
  174. pass: settings.password,
  175. },
  176. gzip: true,
  177. filename: file,
  178. method: 'DELETE',
  179. url: settings.api,
  180. qs: {
  181. path: settings.path + path.dirname(file),
  182. files: [
  183. path.basename(file)
  184. ]
  185. }
  186. }, response);
  187. });
  188.  
  189. function response(error, response, body) {
  190. response && console[response.statusCode != 200 ? 'error' : 'log']('Status:', response.statusCode, response.request.filename);
  191. }
  192.  
  193. exports.default = parallel(animateCss, bootstrapSass, bootstrapJs, owlSass, owlJs, magnificSass, magnificJs, appSass);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement