Security update to Drupal 8.4.6
[yaffs-website] / node_modules / underscore.string / gulpfile.js
1 var gulp = require('gulp-param')(require('gulp'), process.argv),
2   mocha = require("gulp-mocha"),
3   eslint = require('gulp-eslint'),
4   istanbul = require('gulp-istanbul'),
5   bench = require('gulp-bench'),
6   uglify = require('gulp-uglify'),
7   rimraf = require('gulp-rimraf'),
8   bump = require('gulp-bump'),
9   replace = require('gulp-replace'),
10   rename = require('gulp-rename'),
11   browserify = require('gulp-browserify'),
12   header = require('gulp-header'),
13   SRC = 'index.js',
14   DEST = 'dist',
15   SRC_COMPILED = 'underscore.string.js',
16   MIN_FILE = 'underscore.string.min.js',
17   VERSION_FILES = ['./package.json', './component.json', './bower.json'],
18   VERSION_FILES_JS = [SRC, 'package.js'],
19   package = require('./package.json'),
20   headerText = '/* ' + package.name + ' ' + package.version + ' | ' +
21                package.license + ' licensed | ' + package.homepage + ' */\n\n';
22
23 gulp.task('test', ['lint', 'browserify'], function(cov) {
24   var reporters = ['html'];
25
26   if (cov) {
27     reporters.push('text');
28   } else {
29     reporters.push('text-summary');
30   }
31
32   return gulp.src(['*.js', 'helper/*.js'])
33     .pipe(istanbul())
34     .pipe(istanbul.hookRequire())
35     .on('finish', function () {
36       return gulp.src(['tests/*.js'])
37         .pipe(mocha({
38           ui: 'qunit',
39           reporter: 'dot'
40         }))
41         .pipe(istanbul.writeReports({
42           reporters: reporters
43         }));
44     });
45 });
46
47 gulp.task('lint', function() {
48   var toLint = [
49     '**/*.js',
50     '!gulpfile.js',
51     '!meteor-*.js',
52     '!package.js',
53     '!dist/**',
54     '!coverage/**',
55     '!node_modules/**'
56   ];
57   return gulp.src(toLint)
58         .pipe(eslint({ fix: true }))
59         .pipe(eslint.format())
60         .pipe(eslint.failAfterError());
61 });
62
63 gulp.task('bench', ['browserify'], function(func) {
64   func = func || '*';
65   return gulp.src('bench/'+ func + '.js')
66     .pipe(bench());
67 });
68
69 gulp.task('browserify', function() {
70   return gulp.src(SRC)
71     .pipe(browserify({
72       detectGlobals: true,
73       standalone: 's'
74     }))
75     .pipe(header(headerText))
76     .pipe(rename('underscore.string.js'))
77     .pipe(gulp.dest(DEST));
78 });
79
80 gulp.task('clean', function() {
81   return gulp.src(DEST)
82     .pipe(rimraf());
83 });
84
85 gulp.task('bump-in-js', function(semver) {
86   return gulp.src(VERSION_FILES_JS)
87     .pipe(replace(/(version?\s?=?\:?\s\')([\d\.]*)\'/gi, '$1' + semver + "'"))
88     .pipe(gulp.dest('./'));
89 });
90
91 // usage: gulp bump -s <% Version %>
92 // usage: gulp bump --semver <% Version %>
93 gulp.task('bump', ['bump-in-js'], function(semver) {
94   if (typeof semver !== 'string' || semver.length <= 0) {
95     console.error('pass a new version `gulp bump --semver 2.4.1`');
96     process.exit(1);
97   }
98
99   return gulp.src(VERSION_FILES)
100     .pipe(bump({
101       version: semver
102     }))
103     .pipe(gulp.dest('./'));
104 });
105
106 gulp.task('build', ['test', 'clean'], function() {
107   gulp.src(DEST + '/' + SRC_COMPILED)
108     .pipe(uglify())
109     .pipe(header(headerText))
110     .pipe(rename(MIN_FILE))
111     .pipe(gulp.dest(DEST));
112 });