forked from OguzhanC07/BetterCrmPowerPane
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
61 lines (51 loc) · 2.05 KB
/
Copy pathgulpfile.js
File metadata and controls
61 lines (51 loc) · 2.05 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
var gulp = require('gulp'),
yargs = require('yargs/yargs'),
argv = yargs(process.argv.slice(2)).argv,
dartSass = require('sass'),
sass = require('gulp-sass')(dartSass),
sassVariables = require('gulp-sass-variables'),
fs = require('fs'),
manifestBuilder = require('./src/js/util/manifest-builder');
var supportedTargets = require('./build/targets');
if (!argv.target || supportedTargets.indexOf(argv.target) === -1) {
console.error(`Target is required. Please use one of the following targets: ${supportedTargets.join(', ')}. Example usage: gulp [task-name] --target=chrome`);
process.exit(1);
}
var buildVersion = argv.buildVersion;
if (typeof buildVersion === 'undefined' || buildVersion === null || buildVersion === "") {
buildVersion = require('./package.json').version;
}
gulp.task('sass-ui', function () {
return gulp.src('src/sass/ui/*.scss')
.pipe(sassVariables({
$target: argv.target
}))
.pipe(sass({
outputStyle: 'compressed'
}).on('error', sass.logError))
.pipe(gulp.dest(`dist/${argv.target}/ui/css`));
});
gulp.task('js-ui', function () {
return gulp.src(['src/js/ui/*.js', 'src/assets/lib/*.js'])
.pipe(gulp.dest(`dist/${argv.target}/ui/js`));
});
gulp.task('html-ui', function () {
return gulp.src(['src/html/ui/*.htm?(l)'])
.pipe(gulp.dest(`dist/${argv.target}/ui`));
});
gulp.task('img', function () {
return gulp.src(['src/assets/img/**/*'])
.pipe(gulp.dest(`dist/${argv.target}/img`));
});
gulp.task('js', function () {
return gulp.src(['src/js/*.js'])
.pipe(gulp.dest(`dist/${argv.target}/js`));
});
gulp.task('ui', gulp.series(gulp.parallel('html-ui', 'js-ui', 'sass-ui')));
gulp.task('manifest', gulp.series(gulp.parallel('ui', 'img', 'js'), function (cb) {
var manifest = manifestBuilder.build(argv.target, buildVersion);
var manifestJson = JSON.stringify(manifest, null, 3);
return fs.writeFile(`dist/${argv.target}/manifest.json`, manifestJson, cb)
}));
gulp.task('build', gulp.series(gulp.parallel('manifest', 'ui', 'img', 'js')));
gulp.task('default', gulp.series('build'));