-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathgulpfile.babel.js
46 lines (38 loc) · 1.63 KB
/
gulpfile.babel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import gulp from 'gulp';
const rootFolder = process.cwd();
const config = {
name: 'WordPress plugin with blocks',
key: 'plugin-boilerplate-psr',
assetsDir: 'assets/',
gulpDir: './.build/gulp/',
scriptsComponentsDir: `${rootFolder}/.build/assets/scripts/_components`,
assetsBuild: '.build/assets/',
buildSrc: './.build',
blockScriptsSrc: './src/Blocks/**/assets/src/scripts',
blockScriptsDist: './src/Blocks/',
blockStylesSrc: './src/Blocks/**/assets/src/styles/**/*.{scss,js}',
blockStylesDist: './src/Blocks/',
errorLog: function (error) {
console.log('\x1b[31m%s\x1b[0m', error);
if (this.emit) {
this.emit('end');
}
},
};
import { task as taskBlockScripts } from './.build/gulp/task-block-scripts';
import { task as taskBlockStyles } from './.build/gulp/task-block-styles';
import { task as taskScripts } from './.build/gulp/task-scripts';
import { task as taskStyles } from './.build/gulp/task-styles';
export const block_scripts = () => taskBlockScripts(config);
export const block_styles = () => taskBlockStyles(config);
export const scripts = () => taskScripts(config);
export const styles = () => taskStyles(config);
export const watch = () => {
const settings = { usePolling: true, interval: 100 };
gulp.watch(config.blockStylesSrc, settings, gulp.series(block_styles));
gulp.watch(`${config.blockScriptsSrc}/**/*.{scss,js}`, settings, gulp.series(block_scripts));
gulp.watch(`${config.assetsBuild}scripts/**/*.{scss,css,js}`, settings, gulp.series(scripts));
gulp.watch(`${config.assetsBuild}styles/**/*.scss`, settings, gulp.series(styles));
};
export const taskDefault = gulp.series(watch);
export default taskDefault;