UNPKG

1.07 kBJavaScriptView Raw
1///@ts-check
2'use strict';
3var gulp = require('gulp');
4var extToGlob = require('../lib/ext-to-glob');
5var unlink = require('../lib/unlink');
6var copy = require('../compiler/copy');
7var watchLog = require('../log/watch');
8
9/**
10 * @param {object} config
11 */
12function copyTo(config) {
13 /**
14 * @param {string|string[]} file
15 */
16 return function (file) {
17 return copy(config.dist, file, config.src);
18 }
19}
20
21/**
22 * @param {object} config
23 */
24exports.build = function (config) {
25 return function (cb) {
26 if (config.copy) {
27 return copyTo(config)(extToGlob(config, config.copy));
28 }
29 cb && cb();
30 };
31}
32
33/**
34 * @param {object} config
35 */
36exports.watch = function (config) {
37 return function (cb) {
38 if (config.copy) {
39 watchLog('copy', config.copy);
40 gulp.watch(extToGlob(config, config.copy), {})
41 .on('change', copyTo(config))
42 .on('add', copyTo(config))
43 .on('unlink', unlink(config.src, config.dist));
44 }
45 cb && cb();
46 }
47}
\No newline at end of file