Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
const { dest, series, src, watch } = require('gulp');
const plumber = require('gulp-plumber');
const rename = require('gulp-rename');
const sass = require('gulp-sass')(require('sass'));
const minify = require('gulp-minify');
const cleanCss = require('gulp-clean-css');
const babel = require('gulp-babel');
const autoprefixer = require('gulp-autoprefixer');
const distAssetsFolder = './shopify/assets';
/*******************************
* COMPILE FUNCTIONS
*******************************/
function scss() {
return src([
'./src/scss/**/*.scss',
'./src/scss/*.scss',
'./src/scss/**/**/*.scss',
'!./src/scss/**/**/_*.scss',
'!./src/scss/webpack.scss',
])
.pipe(
rename(function (path) {
const { dirname, basename } = path;
dirname != '.' ? (path.basename = `${dirname.split('/').join('-')}-${basename}`) : basename;
path.dirname = './';
})
)
.pipe(
sass({
outputStyle: 'compressed',
}).on('error', sass.logError)
)
.pipe(autoprefixer())
.pipe(cleanCss({ compatibility: 'ie7' }))
.pipe(dest(distAssetsFolder));
}
function compileJs() {
return src(['./src/js/**/*.js'])
.pipe(plumber())
.pipe(
rename(function (path) {
const { dirname, basename } = path;
if (path.dirname != '.' && !path.dirname.startsWith('_')) {
if (!path.basename.startsWith('_')) path.basename = path.dirname + '-' + path.basename;
else path.basename = path.basename.slice(1);
}
if (dirname.includes('/') && !path.dirname.startsWith('_')) {
dirname != '.' ? (path.basename = `${dirname.split('/').join('-')}-${basename}`) : basename;
}
path.dirname = './';
})
)
.pipe(
babel({
presets: ['@babel/preset-env'],
})
)
.pipe(
minify({
ext: {
min: '.js',
},
noSource: true,
})
)
.pipe(dest(distAssetsFolder));
}
/*******************************
* DEFINE TASKS
*******************************/
const js = series(compileJs);
const css = series(scss);
function watchFiles() {
watch('src/scss/**/*', css);
watch('src/js/**/*', js);
}
exports.watch = watchFiles;
exports.css = css;
exports.js = js;
Hi, this is a comment.
To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
Commenter avatars come from Gravatar.