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
 | 
						|
  };
 | 
						|
};
 |