ar-poncho
Version:
Base de html y css para la creación de sitios pertenecientes a la Administración Pública Nacional de la República Argentina.
226 lines (195 loc) • 6.45 kB
JavaScript
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var sass = require('gulp-sass')(require('sass'));
var plumber = require('gulp-plumber');
var concat = require('gulp-concat');
var SRC = './src/js/*.js';
var rename = require('gulp-rename');
const gulpIF = require('gulp-if');
var generalCompressOptions = {
compress: {
drop_console: true
}
};
const ponchoMinList = [
'./src/js/color/src/js/color-definitions.js',
'./src/js/color/src/js/color.js',
'./src/js/color/src/js/color-variations.js',
'./src/js/utils/connect.js',
'./src/js/utils/string.js',
'./src/js/utils/html.js',
'./src/js/utils/document.js',
'./src/js/utils/collections.js',
'./src/js/poncho-table/poncho-table.js',
'./src/js/poncho-agenda/src/js/poncho-agenda.js',
'./src/js/poncho-table/poncho-table-dependant.js',
'./src/js/utils/popover.js',
'./src/js/poncho-ubicacion/poncho-ubicacion.js',
'./src/js/poncho-charts/poncho-charts.js',
'./src/js/utils/gapi-legacy.js',
'./src/js/poncho-map/src/js/poncho-map.js',
'./src/js/poncho-map/src/js/poncho-map-filter.js',
'./src/js/poncho-map/src/js/poncho-map-search.js',
'./src/js/poncho-map-provinces/src/js/poncho-map-provinces.js',
// './src/js/poncho-map-provinces/src/js/poncho-map-provinces-contenidos.js',
'./src/js/gapi-sheet-data/gapi-sheet-data.js',
'./src/js/translate-html/translate-html.js',
'./src/js/loader/src/js/loader.js',
];
gulp.task('poncho', function(){
return gulp.src(ponchoMinList)
.pipe(concat('poncho.js', {'newLine':'\n\n'}))
// .pipe(babel())
.pipe(gulp.dest('dist/js/'));
});
/**
* Compila y minifica los archivs JS en poncho.min.js
*/
gulp.task('ponchoMapProvincesContenidos', function(){
return gulp.src(['./src/js/poncho-map-provinces/src/js/poncho-map-provinces-contenidos.js'])
.pipe(uglify(generalCompressOptions))
.pipe(gulp.dest('./dist/js/'));
});
/**
* Compila y minifica los archivs JS en poncho.min.js
*/
gulp.task('ponchomin', function(){
return gulp.src(ponchoMinList)
.pipe(concat('poncho.min.js'))
.pipe(uglify(generalCompressOptions))
.pipe(gulp.dest('dist/js/'));
});
gulp.task('jshint', function(){
return gulp.src([SRC], {"allowEmpty": true})
.pipe(plumber())
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
/**
* Minifica los siguientes componentes
* — Mapa de argentina en SVG
* — Extensiones showdown markdown
* — omponente para controlar las migas de pan en Argentina.gob.ar
*/
gulp.task('compress', function () {
return gulp.src([
// './src/js/showdown-extensions/dist/showdown-extensions.js',
'./src/js/mapa-argentina/mapa-argentina.js',
'./src/js/device-breadcrumb/src/js/device-breadcrumb.js',
'./src/js/national-holidays/src/js/national-holidays.js',
'./src/js/device-panel-menu/device-panel-menu.js'
])
.pipe(uglify(generalCompressOptions))
.pipe(gulp.dest('./dist/js/'));
});
// MARKDOWN
const markdownFiles = [
"./src/js/showdown-extensions/src/utils.js",
"./src/js/showdown-extensions/src/alert.js",
"./src/js/showdown-extensions/src/image.js",
"./src/js/showdown-extensions/src/table.js",
"./src/js/showdown-extensions/src/button.js",
"./src/js/showdown-extensions/src/details.js",
"./src/js/showdown-extensions/src/eje.js",
"./src/js/showdown-extensions/src/numbers.js",
"./src/js/showdown-extensions/src/target.js",
"./src/js/showdown-extensions/src/video.js"
]
/**
* Minifica los siguientes componentes
* — Mapa de argentina en SVG
* — Extensiones showdown markdown
* — omponente para controlar las migas de pan en Argentina.gob.ar
*/
gulp.task('js-dist-showdown-extensions', function () {
return gulp.src(markdownFiles)
.pipe(concat('showdown-extensions.js'))
.pipe(uglify(generalCompressOptions))
.pipe(gulp.dest('./src/js/showdown-extensions/dist/'));
});
// Envia el archivo a main dist
gulp.task('js-showdown-extensions', function () {
return gulp.src(markdownFiles)
.pipe(concat('showdown-extensions.js'))
.pipe(uglify(generalCompressOptions))
.pipe(gulp.dest('./dist/js/'));
});
/**
* SASS
*/
gulp.task('sass', function(){
return gulp.src([
'./src/scss/*.scss'
])
// .pipe(sass())
.pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(gulpIF(function(file){return file.path.match('poncho.css')}, rename('poncho.min.css')))
.pipe(gulp.dest('./dist/css'))
});
/**
* Compila los archivso SASS
*/
gulp.task('sass_poncho', function(){
return gulp.src([
'./src/scss/poncho.scss',
'./src/js/device-breadcrumb/src/scss/device-breadcrumb.scss',
])
.pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
// .pipe(sass())
.pipe(gulp.dest('./dist/css'))
});
/**
* Compila los archivso SASS
*/
gulp.task('sass_poncho-map', function(){
return gulp.src([
'./src/scss/poncho-map.scss'
])
.pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
// .pipe(sass())
.pipe(gulp.dest('./dist/css'))
});
/**
* Poncho table
*/
gulp.task('sass_poncho-table', function(){
return gulp.src([
'./src/js/poncho-table/src/scss/poncho-table-1.1.scss'
])
.pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(gulp.dest('./dist/css'))
});
/**
* GeoJson provincias
*/
gulp.task('compress-geojson-provincias', function () {
return gulp.src([
'./src/js/geo-provincias-argentinas/geo-provincias-argentinas.json'
])
.pipe(gulp.dest('./dist/jsons/'));
});
/**
* Copia imágenes al directorio dist/img {encoding: false}
*/
gulp.task('copy-images', function () {
return gulp.src(
'./src/js/poncho-map-provinces/src/img/*.*',
{encoding: false}
)
.pipe(gulp.dest('./dist/img/'));
});
gulp.task('default', gulp.series(
'ponchoMapProvincesContenidos',
'sass',
'sass_poncho',
'compress',
'poncho',
'ponchomin',
"sass_poncho-map",
"sass_poncho-table",
"js-showdown-extensions",
"js-dist-showdown-extensions",
"compress-geojson-provincias",
"copy-images"
))