1 |
|
2 |
|
3 |
|
4 |
|
5 | var
|
6 | gulp = require('gulp'),
|
7 |
|
8 |
|
9 | chmod = require('gulp-chmod'),
|
10 | gulpif = require('gulp-if'),
|
11 | normalize = require('normalize-path'),
|
12 | print = require('gulp-print').default,
|
13 |
|
14 |
|
15 | config = require('../config/user'),
|
16 | tasks = require('../config/tasks'),
|
17 | install = require('../config/project/install'),
|
18 |
|
19 | log = tasks.log
|
20 | ;
|
21 |
|
22 | function 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 |
|
30 | function 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 |
|
44 | var assets = () => build(src, config);
|
45 | assets.displayName = "Building Assets";
|
46 |
|
47 | gulp.series(assets)(callback);
|
48 | }
|
49 |
|
50 | module.exports = function (callback) {
|
51 | buildAssets(config, callback);
|
52 | };
|
53 |
|
54 | module.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 |
|
63 | module.exports.buildAssets = buildAssets; |
\ | No newline at end of file |