UNPKG

1.63 kBJavaScriptView Raw
1/*******************************
2 Build Task
3 *******************************/
4
5var
6 gulp = require('gulp'),
7
8 // gulp dependencies
9 chmod = require('gulp-chmod'),
10 gulpif = require('gulp-if'),
11 normalize = require('normalize-path'),
12 print = require('gulp-print').default,
13
14 // config
15 config = require('../config/user'),
16 tasks = require('../config/tasks'),
17 install = require('../config/project/install'),
18
19 log = tasks.log
20;
21
22function build(src, config) {
23 return gulp.src(src, {base: config.paths.source.themes})
24 .pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions)))
25 .pipe(gulp.dest(config.paths.output.themes))
26 .pipe(print(log.created))
27 ;
28}
29
30function buildAssets(src, config, callback) {
31 if (!install.isSetup()) {
32 console.error('Cannot build assets. Run "gulp install" to set-up Semantic');
33 callback();
34 return;
35 }
36
37 if (callback === undefined) {
38 callback = config;
39 config = src;
40 src = config.paths.source.themes + '/**/assets/**/*.*';
41 }
42
43 // copy assets
44 var assets = () => build(src, config);
45 assets.displayName = "Building Assets";
46
47 gulp.series(assets)(callback);
48}
49
50module.exports = function (callback) {
51 buildAssets(config, callback);
52};
53
54module.exports.watch = function (type, config) {
55 gulp
56 .watch([normalize(config.paths.source.themes + '/**/assets/**/*.*')])
57 .on('all', function (event, path) {
58 console.log('Change in assets detected');
59 return gulp.series((callback) => buildAssets(path, config, callback))();
60 });
61};
62
63module.exports.buildAssets = buildAssets;
\No newline at end of file