45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
const path = require('path');
|
|
const { src, dest, series } = require('gulp');
|
|
const replace = require('gulp-replace');
|
|
const useref = require('gulp-useref');
|
|
|
|
module.exports = conf => {
|
|
// Copy templatePath html files and assets to buildPath
|
|
// -------------------------------------------------------------------------------
|
|
const prodCopyTask = function () {
|
|
return src(`${templatePath}/**/*.html`)
|
|
.pipe(dest(buildPath))
|
|
.pipe(src('assets/**/*'))
|
|
.pipe(dest(`${buildPath}/assets/`));
|
|
};
|
|
|
|
// Rename assets path
|
|
// -------------------------------------------------------------------------------
|
|
const prodRenameTasks = function () {
|
|
return src(`${buildPath}/*.html`)
|
|
.pipe(replace('../../assets', 'assets'))
|
|
.pipe(dest(buildPath))
|
|
.pipe(src(`${buildPath}/assets/**/*`))
|
|
.pipe(replace('../../assets', 'assets'))
|
|
.pipe(dest(`${buildPath}/assets/`));
|
|
};
|
|
|
|
// Combine js vendor assets in single core.js file using UseRef
|
|
// -------------------------------------------------------------------------------
|
|
const prodUseRefTasks = function () {
|
|
return src(`${buildPath}/*.html`).pipe(useref()).pipe(dest(buildPath));
|
|
};
|
|
|
|
const prodAllTask = series(prodCopyTask, prodRenameTasks, prodUseRefTasks);
|
|
|
|
// Exports
|
|
// ---------------------------------------------------------------------------
|
|
|
|
return {
|
|
copy: prodCopyTask,
|
|
rename: prodRenameTasks,
|
|
useref: prodUseRefTasks,
|
|
all: prodAllTask
|
|
};
|
|
};
|