Guest User

Untitled

a guest
Mar 16th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.44 KB | None | 0 0
  1. //========== Gulp ===============//
  2. var gulp = require('gulp'), //gulp basico
  3. concat = require('gulp-concat'), //concatenar js
  4. uglify = require('gulp-uglify'), //minificar js
  5. less = require('gulp-less'), //less
  6. browserSync = require('browser-sync'), //browser sync
  7. reload = browserSync.reload,//reload
  8. plumber = require('gulp-plumber'), //errores
  9. sass = require('gulp-sass'),
  10. postcss = require('gulp-postcss'),//post CSS
  11. cssnano = require('cssnano'),
  12. buffer = require('vinyl-buffer'),
  13. //typescript = require('gulp-typescript'),
  14. sourcemaps = require('gulp-sourcemaps'),
  15. autoprefixer = require('autoprefixer'), //autoprefixer
  16. csso = require('gulp-csso'), //minificar CSS
  17. cssmin = require('gulp-cssmin'), //minificar CSS-2
  18. notify = require('gulp-notify'), //notificaciones
  19. config = require('./config.json'),//configuraciones server
  20. babel = require('gulp-babel'),
  21.  
  22. babelify = require('babelify'),
  23. browserify = require("browserify"),
  24.  
  25. //connect = require("gulp-connect"),
  26. source = require("vinyl-source-stream")
  27.  
  28. shell = require('gulp-shell'); //comandos terminal
  29.  
  30. //===== configuraciones ===========//
  31.  
  32. //server online
  33. var servidor = {
  34. host: config.servidor.host,
  35. user: config.servidor.user,
  36. pass: config.servidor.pass,
  37. remote: config.servidor.remote,
  38. localFolder: config.servidor.localFolder
  39. };
  40.  
  41. //url local
  42. //================================//
  43. var localUrl = config.localUrl;
  44. var path = config.path;
  45. var app = config.app;
  46. var ftpS = config.ftpS;
  47. var movilApp = config.movilApp;
  48. var angular = config.angular;
  49. var excludes = config.exclude;
  50.  
  51. //sources
  52. var src = {
  53. php: 'www/**/*.php',
  54. sass: 'www/css/scss/**/*.scss',
  55. css: ['www/css/lib/**/*.css', 'www/css/lib/**/*.min.css'],
  56. less: 'www/css/main/**/*.less',
  57. lessAdmin: 'www/adm1986/css/**/*.less',
  58. js: 'www/js/**/*.js'
  59. };
  60. //destinos
  61. var dest = {
  62. php: 'www/',
  63. css: 'www/css/',
  64. sass: 'www/css/main/',
  65. less: 'www/css/main',
  66. lessAdmin: 'www/adm1986/css',
  67. js: 'www/js/'
  68. };
  69.  
  70. //errores
  71. var onError = function () {
  72. //console.log(err);
  73. console.log('--------------> Error --------->');
  74. };
  75.  
  76. gulp.task('sass', function () {
  77. return gulp.src(src.sass)
  78. .pipe(sourcemaps.init())
  79. .pipe(sass().on('error', sass.logError))
  80. .pipe(postcss(plugins))
  81. .pipe(concat('main-dev.css'))
  82. .pipe(sourcemaps.write('.'))
  83. .pipe(gulp.dest(dest.sass))
  84. .pipe(reload({stream: true}));
  85. });
  86.  
  87.  
  88. //limpieza .DS_Store
  89. gulp.task('limpieza', function () {
  90. //instalar
  91. //sudo npm install -g meta-harvest
  92. gulp.src('./')
  93. .pipe(plumber())
  94. .pipe(shell([
  95. 'meta-harvest'
  96. ]));
  97. });
  98.  
  99. var plugins = [
  100. autoprefixer({browsers: ['last 1 version']}),
  101. cssnano()
  102. ];
  103.  
  104. var processors = [
  105. autoprefixer({
  106. browsers: ['> 5%', 'ie 6-8']
  107. }),
  108. ];
  109.  
  110. //less
  111. gulp.task('less', function () {
  112. return gulp.src('www/css/less/**/*.less')
  113. .pipe(plumber({
  114. errorHandler: onError
  115. }))
  116. .pipe(less())
  117. .pipe(concat('main.min.css'))
  118. .pipe(autoprefixer())
  119. .pipe(notify('LESS completo'))
  120. .pipe(gulp.dest(dest.less))
  121. .pipe(reload({stream: true}));
  122. });
  123.  
  124. //acciones css
  125. gulp.task('cssmin', function () {
  126. return gulp.src(['www/css/lib/**/*.css'])
  127. .pipe(plumber({
  128. errorHandler: onError
  129. }))
  130. .pipe(concat('styles.min.css'))
  131. //.pipe(autoprefixer(plugins))
  132. .pipe(csso())
  133. .pipe(notify('CSS minificado'))
  134. .pipe(gulp.dest('www/css'))
  135. .pipe(reload({stream: true}));
  136. });
  137.  
  138. //librerias js
  139. gulp.task('js', function () {
  140. gulp.src(['www/js/lib/*.js', '/www/js/lib/*.min.js'])
  141. .pipe(plumber({
  142. errorHandler: onError
  143. }))
  144. .pipe(concat('scripts.min.js'))
  145. .pipe(uglify())
  146. .pipe(notify('scripts.min.js Completo'))
  147. .pipe(gulp.dest('www/js'))
  148. .pipe(reload({stream: true}));
  149. });
  150.  
  151. //Js propios
  152. gulp.task('main-js', function () {
  153. // app.js is your main JS file with all your module inclusions
  154. return browserify({entries: './app/scripts/app.js', debug: true})
  155. .transform("babelify", { presets: ["es2015"],sourceMaps: false })
  156. .bundle()
  157. .pipe(source('main.js'))
  158. .pipe(buffer())
  159. //.pipe(sourcemaps.init())
  160. //.pipe(sourcemaps.write('.'))
  161. //.pipe(uglify({comments: /^!|@preserve|@license|@cc_on/i}))
  162. .pipe(gulp.dest('./www/js'))
  163. .pipe(reload({stream: true}));
  164. });
  165.  
  166. gulp.task('files', function () {
  167. gulp.src('www/**/*.{php,html}')
  168. .pipe(reload({stream: true}))
  169. });
  170.  
  171. //mirar la carpetas
  172. gulp.task('watch', function () {
  173. //files
  174. gulp.watch('**/*.{php,html,gif,jpg,png,svg,twig}', ['files']);
  175.  
  176. //less
  177. gulp.watch(src.sass, ['sass']);
  178. //mirar CSS
  179. gulp.watch('www/css/lib/**/*.css', ['cssmin']);
  180. //js lib
  181. gulp.watch('www/js/lib/**/*.js', ['js']);
  182. //js main
  183. gulp.watch('app/scripts/**/*.js', ['main-js']);
  184. });
  185.  
  186.  
  187. //browser sync
  188. gulp.task('browser-sync', function () {
  189. browserSync({
  190. proxy: localUrl,
  191. port: 8989,
  192. open: 'external',
  193. browser: config.app,
  194. reloadDelay: 0,
  195. startPath: path,
  196. minify: false
  197. });
  198. });
  199.  
  200. // Reload all Browsers
  201. gulp.task('reload', function () {
  202. browserSync.reload();
  203. });
  204.  
  205.  
  206. // ========== default ==============//
  207.  
  208. gulp.task('kill-livereload', function () {
  209. gulp.src('./').pipe(shell([
  210. 'kill-livereload'
  211. ]))
  212. });
  213.  
  214. gulp.task('livereload', ['kill-livereload'], function () {
  215. gulp.src('./').pipe(plumber()).pipe(shell([
  216. 'open ' + config.localUrl + config.path,
  217. 'livereloadx www'
  218. ]))
  219. });
  220.  
  221. //gulp default segun el tipo de proyecto
  222. //si es un sitio web
  223. gulp.task('default', ['sass', 'cssmin', 'js', 'main-js', 'browser-sync'], function () {
  224. gulp.start('watch');
  225. });
Add Comment
Please, Sign In to add comment