]> git.mxchange.org Git - friendica.git/blob - view/theme/frio/frameworks/jquery-scrollspy/gulpfile.js
Merge pull request #2587 from rabuzarus/1006-short-info
[friendica.git] / view / theme / frio / frameworks / jquery-scrollspy / gulpfile.js
1 /* global require */
2
3 var gulp = require('gulp');
4 var eslint = require('gulp-eslint');
5 var gulpIf = require('gulp-if');
6 var rename = require('gulp-rename');
7 var uglify = require('gulp-uglify');
8
9 // Assets for the project
10 var Assets = {
11     main: './jquery-scrollspy.js',
12     minified: './jquery-scrollspy.min.js',
13     package: './package.json',
14     readme: './README.md',
15     source: './',
16 };
17
18 // See the uglify documentation for more details
19 var _uglifySettings = {
20     compress: {
21         comparisons: true,
22         conditionals: true,
23         /* jscs: disable */
24         dead_code: true,
25         drop_console: true,
26         /* jscs: enable */
27         unsafe: true,
28         unused: true,
29     },
30 };
31
32 // Check the main js file(s) meets the following standards outlined in .eslintrc
33 gulp.task('eslint', function esLintTask() {
34     // Has ESLint fixed the file contents?
35     function isFixed(file) {
36         return file.eslint !== undefined && file.eslint !== null && file.eslint.fixed;
37     }
38
39     return gulp.src(Assets.main)
40         .pipe(eslint({
41             fix: true,
42             useEslintrc: '.eslintrc',
43         }))
44         .pipe(eslint.format())
45         .pipe(gulpIf(isFixed, gulp.dest(Assets.source)));
46 });
47
48 // Uglify aka minify the main file
49 gulp.task('uglify', function uglifyTask() {
50     return gulp.src(Assets.main)
51         .pipe(uglify(_uglifySettings))
52         .pipe(rename(Assets.minified))
53         .pipe(gulp.dest(Assets.source));
54 });
55
56 // Watch for changes to the main file
57 gulp.task('watch', function watchTask() {
58     gulp.watch(Assets.main, ['eslint', 'uglify']);
59 });
60
61 // Register the default task
62 gulp.task('default', ['eslint', 'uglify']);
63
64 // 'gulp eslint' to check the syntax of the main js file(s)
65 // 'gulp uglify' to uglify the main file