All files / tasks staticFiles.ts

100% Statements 12/12
100% Branches 0/0
100% Functions 2/2
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251x 1x 1x   2x   1x 1x     1x 1x 1x             1x          
import * as gulp from 'gulp'
import * as changed from 'gulp-changed'
import { ITimplaTask, projectDestPath, projectSrcPath } from '../internal'
 
export const staticFiles: ITimplaTask = ({ staticFiles: staticFilesOptions }) => cb => {
  if (staticFilesOptions === false) {
    cb()
    return
  }
 
  const defaultSrcOptions = { dot: true, allowEmpty: true }
  const srcOptions = { ...defaultSrcOptions, ...staticFilesOptions.srcOptions }
  const destOptions = staticFilesOptions.destOptions
 
  const paths = {
    dest: projectDestPath(staticFilesOptions.dest),
    src: projectSrcPath(staticFilesOptions.src, '**/*'),
  }
 
  return gulp
    .src(paths.src, srcOptions)
    .pipe(changed(paths.dest)) // Ignore unchanged files
    .pipe(gulp.dest(paths.dest, destOptions))
}