main/app/Gulpfile.js
Renan Bernordi 88b37a5325 inicio da v2
2025-01-27 14:50:00 -03:00

86 lines
No EOL
1.9 KiB
JavaScript

"use strict";
const gulp = require('gulp');
const sass = require('gulp-sass')(require('sass'));
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const clean_css = require('gulp-clean-css');
const sourcemaps = require('gulp-sourcemaps');
const imagemin = require('gulp-imagemin');
const webp = require('gulp-webp');
const newer = require('gulp-newer');
const ttf2woff = require('gulp-ttf2woff');
const ttf2woff2 = require('gulp-ttf2woff2');
const paths = {
styles: {
src: 'assets/scss/*.scss',
dest: 'dist/css'
},
scripts: {
src: 'assets/js/*.js',
dest: 'dist/js'
},
images: {
src: 'assets/images/**/*',
dest: 'dist/images'
},
fonts: {
src: 'assets/fonts/**/*',
dest: 'dist/fonts'
}
};
function styles() {
return gulp.src(paths.styles.src)
.pipe(sourcemaps.init())
.pipe(sass({
outputStyle: "expanded",
includePaths: ['./node_modules']
}))
.pipe(concat('style.css'))
.pipe(clean_css())
.pipe(gulp.dest(paths.styles.dest))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(paths.styles.dest))
}
function scripts() {
return gulp.src(paths.scripts.src)
.pipe(sourcemaps.init())
.pipe(concat('script.js'))
.pipe(uglify())
.pipe(gulp.dest(paths.scripts.dest))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(paths.scripts.dest))
}
function images() {
return gulp.src(paths.images.src)
.pipe(newer(paths.images.dest))
.pipe(imagemin())
.pipe(gulp.dest(paths.images.dest))
.pipe(webp())
.pipe(gulp.dest(paths.images.dest))
}
function fonts() {
return gulp.src(paths.fonts.src)
.pipe(newer(paths.fonts.dest))
.pipe(ttf2woff())
.pipe(gulp.dest(paths.fonts.dest))
.pipe(ttf2woff2())
.pipe(gulp.dest(paths.fonts.dest))
}
function watch() {
gulp.watch(paths.styles.src, styles);
gulp.watch(paths.scripts.src, scripts);
gulp.watch(paths.images.src, images);
gulp.watch(paths.fonts.src, fonts);
}
exports.default = gulp.series(
gulp.parallel(styles, scripts, images, fonts),
watch
);