Skip to content

Commit

Permalink
UPD gulp - switch to es6 modules
Browse files Browse the repository at this point in the history
  • Loading branch information
dippas committed Dec 20, 2021
1 parent a81e403 commit 694c100
Show file tree
Hide file tree
Showing 12 changed files with 2,128 additions and 2,672 deletions.
16 changes: 9 additions & 7 deletions gulp/_config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
//--------- Include references
const path = require('path')
import path from 'path'

//--------- Paths
module.exports = {
const __dirname = path.resolve()

const config = {
data: {
src: 'src/data/*.json',
temp: 'src/data/temp/',
Expand All @@ -19,7 +19,7 @@ module.exports = {
},
vendor: [
//ADD VENDORS HERE - path from Node_modules path
path.join(__dirname, '..', 'node_modules', 'fever-cookies-plugin', 'dist', 'js', 'cookie.min.js'), // USE IF USING COOKIES
path.join(__dirname, 'node_modules', 'fever-cookies-plugin', 'dist', 'js', 'cookie.min.js'), // USE IF USING COOKIES
]
},
json: {
Expand Down Expand Up @@ -52,7 +52,7 @@ module.exports = {
},
vendor: [
//ADD VENDORS HERE - path from Node_modules folder
path.join(__dirname, '..', 'node_modules', 'fever-cookies-plugin', 'dist', 'css', 'cookie.min.css') // USE IF USING COOKIES
path.join(__dirname, 'node_modules', 'fever-cookies-plugin', 'dist', 'css', 'cookie.min.css') // USE IF USING COOKIES
]
},
pdfs: {
Expand All @@ -75,4 +75,6 @@ module.exports = {
watch: 'src/fonts/**/*.{ttf,otf,woff,woff2,eot}',
dest: 'dist/assets/fonts/'
}
}
}

export default config
13 changes: 5 additions & 8 deletions gulp/clean.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
//--------- Include references
const paths = require('./_config'),
del = require('del')
import config from './_config.js'
import del from 'del'


//--------- Clean files
function clean(done) {
del.sync(`${paths.views.index.dest}*`)
async function clean(done) {
await del.sync(`${config.views.index.dest}*`)
done()
}

exports.clean = clean
export default clean
33 changes: 15 additions & 18 deletions gulp/data.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,28 @@
//--------- Include references
const { src, dest } = require('gulp'),
paths = require('./_config'),
path = require('path'),
merge = require('gulp-merge-json'),
lec = require('gulp-line-ending-corrector')
import gulp from 'gulp'
import config from './_config.js'
import lec from 'gulp-line-ending-corrector'
import path from 'path'
import merge from 'gulp-merge-json'

const { src, dest } = gulp

//--------- pug from json
function data() {
return src(paths.data.src)
return src(config.data.src)
.pipe(merge({
fileName: paths.data.file,
fileName: config.data.file,
edit: (json, file) => {
// Extract the filename and strip the extension
let filename = path.basename(file.path),
const filename = path.basename(file.path),
primaryKey = filename.replace(path.extname(filename), '')

// Set the filename as the primary key for our JSON data
const data = {}
data[primaryKey] = json

return data
}
}))
.pipe(lec({
eolc: 'CRLF'
}))
.pipe(dest(paths.data.temp))
.pipe(lec({ eolc: 'CRLF' }))
.pipe(dest(config.data.temp))

}

exports.data = data
export default data
35 changes: 15 additions & 20 deletions gulp/extras.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,30 @@
//--------- Include references
const { src, dest, series, lastRun } = require('gulp'),
paths = require('./_config'),
lec = require('gulp-line-ending-corrector')
import gulp from 'gulp'
import config from './_config.js'
import lec from 'gulp-line-ending-corrector'

const { src, dest, series, lastRun } = gulp

//--------- Fonts
function fonts() {
return src(paths.fonts.src, { since: lastRun(fonts) })
.pipe(dest(paths.fonts.dest))
return src(config.fonts.src, { since: lastRun(fonts) })
.pipe(dest(config.fonts.dest))
}

//--------- JSON
function json() {
return src(paths.json.src, { since: lastRun(json) })
.pipe(lec({
eolc: 'CRLF'
}))
.pipe(dest(paths.json.dest))
return src(config.json.src, { since: lastRun(json) })
.pipe(lec({ eolc: 'CRLF' }))
.pipe(dest(config.json.dest))
}

//---------PDFs
function pdfs() {
return src(paths.pdfs.src, { since: lastRun(pdfs) })
.pipe(dest(paths.pdfs.dest))
return src(config.pdfs.src, { since: lastRun(pdfs) })
.pipe(dest(config.pdfs.dest))
}

//--------- Videos
function videos() {
return src(paths.videos.src, { since: lastRun(videos) })
.pipe(dest(paths.videos.dest))
return src(config.videos.src, { since: lastRun(videos) })
.pipe(dest(config.videos.dest))
}

const extras = series(fonts, json, pdfs, videos)

exports.extras = extras
export default extras
69 changes: 25 additions & 44 deletions gulp/html.js
Original file line number Diff line number Diff line change
@@ -1,59 +1,40 @@
//--------- Include references
const { src, dest, series } = require('gulp'),
paths = require('./_config'),
plumber = require('gulp-plumber'),
fs = require('graceful-fs'),
pug = require('gulp-pug'),
data = require('gulp-data'),
lec = require('gulp-line-ending-corrector')
import gulp from 'gulp'
import config from './_config.js'
import lec from 'gulp-line-ending-corrector'
import plumber from 'gulp-plumber'
import fs from 'graceful-fs'
import pug from 'gulp-pug'
import data from 'gulp-data'

const { src, dest, series } = gulp

//--------- styleguide for presentation files
function styleguide() {
// list templates
return src(paths.views.index.src)
return src(config.views.index.src)
.pipe(plumber())
.pipe(data(() => JSON.parse(fs.readFileSync(`${paths.data.temp}${paths.data.file}`))))
.pipe(pug({
pretty: true,
basedir: 'src'
}))
.pipe(lec({
eolc: 'CRLF'
}))
.pipe(dest(paths.views.index.dest))
.pipe(data(() => JSON.parse(fs.readFileSync(`${config.data.temp}${config.data.file}`))))
.pipe(pug({ pretty: true, basedir: 'src' }))
.pipe(lec({ eolc: 'CRLF' }))
.pipe(dest(config.views.index.dest))
}

//--------- Views : Pug
function views() {
// sources
return src(paths.views.pug.src)
return src(config.views.pug.src)
.pipe(plumber())
.pipe(data(() => JSON.parse(fs.readFileSync(`${paths.data.temp}${paths.data.file}`))))
.pipe(pug({
pretty: true,
basedir: 'src'
}))
.pipe(lec({
eolc: 'CRLF'
}))
.pipe(dest(paths.views.pug.dest))
.pipe(data(() => JSON.parse(fs.readFileSync(`${config.data.temp}${config.data.file}`))))
.pipe(pug({ pretty: true, basedir: 'src' }))
.pipe(lec({ eolc: 'CRLF' }))
.pipe(dest(config.views.pug.dest))
}

function templates() {
//templates
return src(paths.views.pug.templates)
return src(config.views.pug.templates)
.pipe(plumber())
.pipe(data(() => JSON.parse(fs.readFileSync(`${paths.data.temp}${paths.data.file}`))))
.pipe(pug({
pretty: true,
basedir: 'src'
}))
.pipe(lec({
eolc: 'CRLF'
}))
.pipe(dest(`${paths.views.pug.dest}/templates`))
.pipe(data(() => JSON.parse(fs.readFileSync(`${config.data.temp}${config.data.file}`))))
.pipe(pug({ pretty: true, basedir: 'src' }))
.pipe(lec({ eolc: 'CRLF' }))
.pipe(dest(`${config.views.pug.dest}/templates`))
}

const html = series(views, templates, styleguide)

exports.html = html
export default html
17 changes: 9 additions & 8 deletions gulp/images.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
//--------- Include references
const { src, dest, lastRun } = require('gulp'),
paths = require('./_config'),
min = require('gulp-imagemin')
import gulp from 'gulp'
import config from './_config.js'
import min from 'gulp-imagemin'

const { src, dest, lastRun } = gulp

//--------- Images
function images() {
return src(paths.images.src, { since: lastRun(images) })
return src(config.images.src, { since: lastRun(images) })
.pipe(min())
.pipe(dest(paths.images.dest))
.pipe(dest(config.images.dest))
}
exports.images = images

export default images
53 changes: 20 additions & 33 deletions gulp/scripts.js
Original file line number Diff line number Diff line change
@@ -1,46 +1,33 @@
//--------- Include references
const { src, dest, series } = require('gulp'),
paths = require('./_config'),
concat = require('gulp-concat'),
plumber = require('gulp-plumber'),
lec = require('gulp-line-ending-corrector'),
esLint = require('gulp-eslint'),
terser = require('gulp-terser')
import gulp from 'gulp'
import config from './_config.js'
import lec from 'gulp-line-ending-corrector'
import plumber from 'gulp-plumber'
import concat from 'gulp-concat'
import eslint from 'gulp-eslint'
import gulpif from 'gulp-if'
import terser from 'gulp-terser'

const { src, dest } = gulp

//--------- Script : javascript
function coreScripts(basename, source, dist) {

const isDev = dist === config.scripts.dist.app

return src(source, { sourcemaps: true })
.pipe(terser())
.pipe(plumber())
.pipe(gulpif(isDev, eslint()))
.pipe(eslint.format('table'))
.pipe(eslint.failAfterError())
.pipe(concat(`${basename}.min.js`))
.pipe(lec({
eolc: 'CRLF'
}))
.pipe(terser())
.pipe(lec({ eolc: 'CRLF' }))
.pipe(dest(dist, { sourcemaps: '.' }))
}

function scripts(done) {
coreScripts(
'vendor',
paths.scripts.vendor,
paths.scripts.dist.vendor
)
coreScripts(
'app',
paths.scripts.app.src,
paths.scripts.dist.app
)
coreScripts('vendor', config.scripts.vendor, config.scripts.dist.vendor)
coreScripts('app', config.scripts.app.src, config.scripts.dist.app)
done()
}

function esLinter() {
return src(paths.scripts.app.src)
.pipe(plumber())
.pipe(esLint())
.pipe(esLint.format('table'))
.pipe(esLint.failAfterError())
}

exports.scripts = scripts
exports.esLinter = esLinter
export default scripts
32 changes: 17 additions & 15 deletions gulp/server.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
//--------- Include references
const { watch, series } = require('gulp'),
paths = require('./_config'),
browserSync = require('browser-sync'),
dataFile = require('./data'),
htmlFile = require('./html'),
imagesFile = require('./images'),
scriptsFile = require('./scripts'),
stylesFile = require('./styles')
import gulp from 'gulp'
import config from './_config.js'
import browserSync from 'browser-sync'
import data from './data.js'
import html from './html.js'
import images from './images.js'
import scripts from './scripts.js'
import { styles, sassLinter } from './styles.js'

const { watch, series } = gulp

//--------- Browser sync - local Server
function localServer(done) {
Expand Down Expand Up @@ -36,14 +37,15 @@ function reload(done) {

//--------- Watch
function watchAssets(done) {
watch(paths.styles.app.watch, series(stylesFile.styles, stylesFile.sassLinter, reload))
watch(paths.scripts.app.watch, series(scriptsFile.scripts, scriptsFile.esLinter, reload))
watch(paths.views.pug.watch, series(htmlFile.html, reload))
watch(paths.images.watch, series(imagesFile.images, reload))
watch(paths.data.src, series(dataFile.data, htmlFile.html, reload))
watch(config.styles.app.watch, series(styles, sassLinter, reload))
watch(config.scripts.app.watch, series(scripts, reload))
watch(config.views.pug.watch, series(html, reload))
watch(config.images.watch, series(images, reload))
watch(config.data.src, series(data, html, reload))

done()
}

const server = series(localServer, watchAssets)
exports.server = server

export default server
Loading

0 comments on commit 694c100

Please sign in to comment.