The fifth version of chriskrycho.com, built in Eleventy.

Switch gulp to ESM [skip netlify]

Because I can

Changed files
+47 -51
-51
gulpfile.js
··· 1 - const { src, dest, parallel, series, watch } = require('gulp'); 2 - const sass = require('gulp-dart-sass'); 3 - const del = require('del'); 4 - 5 - sass.compiler = require('sass'); 6 - 7 - const build = (file) => () => 8 - src(file) 9 - .pipe( 10 - sass 11 - .sync({ 12 - outputStyle: 'compressed', 13 - sourceMap: true, 14 - }) 15 - .on('error', sass.logError), 16 - ) 17 - .pipe(dest('./site/_styles')); 18 - 19 - function style() { 20 - return build('./site/_includes/styles/style.scss')(); 21 - } 22 - 23 - function print() { 24 - return build('./site/_includes/styles/print.scss')(); 25 - } 26 - 27 - function fonts() { 28 - return build('./site/_includes/styles/fonts.scss')(); 29 - } 30 - 31 - function clean() { 32 - return del([ 33 - './site/_includes/styles/style.css', 34 - './site/_includes/styles/fonts.css', 35 - './site/_includes/styles/print.css', 36 - ]); 37 - } 38 - 39 - const all = parallel(style, fonts, print); 40 - 41 - function watchStyles() { 42 - watch('./site/_includes/styles/**/*.scss', all); 43 - } 44 - 45 - exports.clean = clean; 46 - exports.style = style; 47 - exports.fonts = fonts; 48 - exports.print = print; 49 - exports.watch = watchStyles; 50 - exports.all = all; 51 - exports.default = series(clean, all);
+47
gulpfile.mjs
··· 1 + import gulp from 'gulp'; 2 + import gulpDartSass from 'gulp-dart-sass'; 3 + import del from 'del'; 4 + 5 + // side-effectful import 6 + import 'sass'; 7 + 8 + const { src, dest, parallel, series, watch: gulpWatch } = gulp; 9 + const { sync, logError } = gulpDartSass; 10 + 11 + const build = (file) => () => 12 + src(file) 13 + .pipe( 14 + sync({ 15 + outputStyle: 'compressed', 16 + sourceMap: true, 17 + }).on('error', logError), 18 + ) 19 + .pipe(dest('./site/_styles')); 20 + 21 + export function style() { 22 + return build('./site/_includes/styles/style.scss')(); 23 + } 24 + 25 + export function print() { 26 + return build('./site/_includes/styles/print.scss')(); 27 + } 28 + 29 + export function fonts() { 30 + return build('./site/_includes/styles/fonts.scss')(); 31 + } 32 + 33 + export function clean() { 34 + return del([ 35 + './site/_includes/styles/style.css', 36 + './site/_includes/styles/fonts.css', 37 + './site/_includes/styles/print.css', 38 + ]); 39 + } 40 + 41 + export const all = parallel(style, fonts, print); 42 + 43 + export function watch() { 44 + gulpWatch('./site/_includes/styles/**/*.scss', all); 45 + } 46 + 47 + export default series(clean, all);