UNPKG

2.31 kBJavaScriptView Raw
1var fs = require('fs-extra');
2var gulp = require('gulp');
3var runSequence = require('run-sequence');
4
5/**
6 *
7 * Clean standalone
8 *
9 */
10gulp.task('clean', function (done) {
11 fs.remove('./standalone', done);
12});
13
14/**
15 *
16 * Create a standalone version of pleeease
17 * ./standalone/pleeease-<version>.min.js
18 *
19 */
20gulp.task('standalone', ['clean'], function() {
21 var fs = require('fs');
22 var source = require('vinyl-source-stream');
23 var uglify = require('gulp-uglify');
24 var streamify = require('gulp-streamify');
25 var browserify = require('browserify');
26
27 var version = JSON.parse(fs.readFileSync('package.json', 'utf-8'))['version'];
28
29 return browserify({entries: './lib/pleeease.js', standalone: 'pleeease'})
30 .ignore('node-sass')
31 .ignore('less')
32 .ignore('mime')
33 .ignore('stylus')
34 .bundle()
35 .pipe(source('pleeease-' + version + '.min.js'))
36 .pipe(streamify(uglify()))
37 .pipe(gulp.dest('./standalone'));
38});
39
40/**
41 *
42 * Lint JS files
43 * lint:lib, lint:tests and lint
44 *
45 */
46gulp.task('lint:lib', function() {
47 var jshint = require('gulp-jshint');
48
49 gulp.src(['bin/**/*.js', 'lib/**/*.js'])
50 .pipe(jshint())
51 .pipe(jshint.reporter('jshint-stylish'));
52});
53gulp.task('lint:tests', function() {
54 var jshint = require('gulp-jshint');
55
56 gulp.src(['tests/**/*.js'])
57 .pipe(jshint())
58 .pipe(jshint.reporter('jshint-stylish'));
59});
60gulp.task('lint', ['lint:lib', 'lint:tests']);
61
62/**
63 *
64 * Test spec
65 * `npm test` (without argv)
66 * `gulp test --file cli` (test only cli.js file)
67 *
68 */
69gulp.task('test', function () {
70 require('should');
71 var mocha = require('gulp-mocha');
72 var args = require('yargs').argv;
73 var file = args.file || '*';
74
75 return gulp.src('test/' + file + '.js', {read: false})
76 .pipe(mocha({reporter: 'spec'}));
77});
78
79/**
80 *
81 * Bump version
82 * gulp bump --type <patch, minor, major>
83 *
84 */
85gulp.task('_bump', function () {
86 var bump = require('gulp-bump');
87 var args = require('yargs').argv;
88
89 return gulp.src('package.json')
90 .pipe(bump({ type: args.type }))
91 .pipe(gulp.dest('./'));
92
93});
94gulp.task('bump', function (cb) {
95
96 runSequence('_bump', 'standalone', cb);
97
98});
\No newline at end of file