Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //========== Gulp ===============//
- var gulp = require('gulp'), //gulp basico
- concat = require('gulp-concat'), //concatenar js
- uglify = require('gulp-uglify'), //minificar js
- less = require('gulp-less'), //less
- browserSync = require('browser-sync'), //browser sync
- reload = browserSync.reload,//reload
- plumber = require('gulp-plumber'), //errores
- sass = require('gulp-sass'),
- postcss = require('gulp-postcss'),//post CSS
- cssnano = require('cssnano'),
- buffer = require('vinyl-buffer'),
- //typescript = require('gulp-typescript'),
- sourcemaps = require('gulp-sourcemaps'),
- autoprefixer = require('autoprefixer'), //autoprefixer
- csso = require('gulp-csso'), //minificar CSS
- cssmin = require('gulp-cssmin'), //minificar CSS-2
- notify = require('gulp-notify'), //notificaciones
- config = require('./config.json'),//configuraciones server
- babel = require('gulp-babel'),
- babelify = require('babelify'),
- browserify = require("browserify"),
- //connect = require("gulp-connect"),
- source = require("vinyl-source-stream")
- shell = require('gulp-shell'); //comandos terminal
- //===== configuraciones ===========//
- //server online
- var servidor = {
- host: config.servidor.host,
- user: config.servidor.user,
- pass: config.servidor.pass,
- remote: config.servidor.remote,
- localFolder: config.servidor.localFolder
- };
- //url local
- //================================//
- var localUrl = config.localUrl;
- var path = config.path;
- var app = config.app;
- var ftpS = config.ftpS;
- var movilApp = config.movilApp;
- var angular = config.angular;
- var excludes = config.exclude;
- //sources
- var src = {
- php: 'www/**/*.php',
- sass: 'www/css/scss/**/*.scss',
- css: ['www/css/lib/**/*.css', 'www/css/lib/**/*.min.css'],
- less: 'www/css/main/**/*.less',
- lessAdmin: 'www/adm1986/css/**/*.less',
- js: 'www/js/**/*.js'
- };
- //destinos
- var dest = {
- php: 'www/',
- css: 'www/css/',
- sass: 'www/css/main/',
- less: 'www/css/main',
- lessAdmin: 'www/adm1986/css',
- js: 'www/js/'
- };
- //errores
- var onError = function () {
- //console.log(err);
- console.log('--------------> Error --------->');
- };
- gulp.task('sass', function () {
- return gulp.src(src.sass)
- .pipe(sourcemaps.init())
- .pipe(sass().on('error', sass.logError))
- .pipe(postcss(plugins))
- .pipe(concat('main-dev.css'))
- .pipe(sourcemaps.write('.'))
- .pipe(gulp.dest(dest.sass))
- .pipe(reload({stream: true}));
- });
- //limpieza .DS_Store
- gulp.task('limpieza', function () {
- //instalar
- //sudo npm install -g meta-harvest
- gulp.src('./')
- .pipe(plumber())
- .pipe(shell([
- 'meta-harvest'
- ]));
- });
- var plugins = [
- autoprefixer({browsers: ['last 1 version']}),
- cssnano()
- ];
- var processors = [
- autoprefixer({
- browsers: ['> 5%', 'ie 6-8']
- }),
- ];
- //less
- gulp.task('less', function () {
- return gulp.src('www/css/less/**/*.less')
- .pipe(plumber({
- errorHandler: onError
- }))
- .pipe(less())
- .pipe(concat('main.min.css'))
- .pipe(autoprefixer())
- .pipe(notify('LESS completo'))
- .pipe(gulp.dest(dest.less))
- .pipe(reload({stream: true}));
- });
- //acciones css
- gulp.task('cssmin', function () {
- return gulp.src(['www/css/lib/**/*.css'])
- .pipe(plumber({
- errorHandler: onError
- }))
- .pipe(concat('styles.min.css'))
- //.pipe(autoprefixer(plugins))
- .pipe(csso())
- .pipe(notify('CSS minificado'))
- .pipe(gulp.dest('www/css'))
- .pipe(reload({stream: true}));
- });
- //librerias js
- gulp.task('js', function () {
- gulp.src(['www/js/lib/*.js', '/www/js/lib/*.min.js'])
- .pipe(plumber({
- errorHandler: onError
- }))
- .pipe(concat('scripts.min.js'))
- .pipe(uglify())
- .pipe(notify('scripts.min.js Completo'))
- .pipe(gulp.dest('www/js'))
- .pipe(reload({stream: true}));
- });
- //Js propios
- gulp.task('main-js', function () {
- // app.js is your main JS file with all your module inclusions
- return browserify({entries: './app/scripts/app.js', debug: true})
- .transform("babelify", { presets: ["es2015"],sourceMaps: false })
- .bundle()
- .pipe(source('main.js'))
- .pipe(buffer())
- //.pipe(sourcemaps.init())
- //.pipe(sourcemaps.write('.'))
- //.pipe(uglify({comments: /^!|@preserve|@license|@cc_on/i}))
- .pipe(gulp.dest('./www/js'))
- .pipe(reload({stream: true}));
- });
- gulp.task('files', function () {
- gulp.src('www/**/*.{php,html}')
- .pipe(reload({stream: true}))
- });
- //mirar la carpetas
- gulp.task('watch', function () {
- //files
- gulp.watch('**/*.{php,html,gif,jpg,png,svg,twig}', ['files']);
- //less
- gulp.watch(src.sass, ['sass']);
- //mirar CSS
- gulp.watch('www/css/lib/**/*.css', ['cssmin']);
- //js lib
- gulp.watch('www/js/lib/**/*.js', ['js']);
- //js main
- gulp.watch('app/scripts/**/*.js', ['main-js']);
- });
- //browser sync
- gulp.task('browser-sync', function () {
- browserSync({
- proxy: localUrl,
- port: 8989,
- open: 'external',
- browser: config.app,
- reloadDelay: 0,
- startPath: path,
- minify: false
- });
- });
- // Reload all Browsers
- gulp.task('reload', function () {
- browserSync.reload();
- });
- // ========== default ==============//
- gulp.task('kill-livereload', function () {
- gulp.src('./').pipe(shell([
- 'kill-livereload'
- ]))
- });
- gulp.task('livereload', ['kill-livereload'], function () {
- gulp.src('./').pipe(plumber()).pipe(shell([
- 'open ' + config.localUrl + config.path,
- 'livereloadx www'
- ]))
- });
- //gulp default segun el tipo de proyecto
- //si es un sitio web
- gulp.task('default', ['sass', 'cssmin', 'js', 'main-js', 'browser-sync'], function () {
- gulp.start('watch');
- });
Add Comment
Please, Sign In to add comment