-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgulpfile.js
49 lines (42 loc) · 1.14 KB
/
gulpfile.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
47
48
49
const gulp = require('gulp');
const merge = require('gulp-merge-json');
const json5 = require('gulp-json5-to-json');
const package = require('./package.json');
const homedir = require('os').homedir();
const prettier = require('gulp-prettier');
const prettierConfig = require('./.prettierrc.json');
function watch() {
return gulp.watch('./src/**/*.json5', gulp.series(['compile-json']));
}
function compile() {
return gulp
.src('./src/**/*.json5')
.pipe(
merge({
fileName: 'angular-pug.tmLanguage.json',
json5: true,
}),
)
.pipe(
json5({
beautify: true,
}),
)
.pipe(prettier({ ...prettierConfig, editorConfig: true }))
.pipe(gulp.dest('./syntaxes'));
}
gulp.task('copy', () => {
return gulp
.src('./syntaxes/angular-pug.tmLanguage.json')
.pipe(gulp.dest(homedir + '/.vscode/extensions/ghaschel.vscode-angular-pug-' + package.version + '/syntaxes'));
});
gulp.task('compile', () => {
return compile();
});
gulp.task('compile-json', gulp.series(['compile', 'copy']));
gulp.task('watch', () => {
return watch();
});
gulp.task('default', () => {
return watch();
});