UNPKG

1.99 kBJavaScriptView Raw
1'use strict'
2
3var browserSync = require('browser-sync').create()
4var ghPages = require('gulp-gh-pages')
5var gulp = require('gulp')
6var header = require('gulp-header')
7var karma = require('karma').server
8var mocha = require('gulp-mocha')
9var rename = require('gulp-rename')
10var uglify = require('gulp-uglify')
11
12// Test
13// ----
14
15var jsFilesToBeStyleChecked = [
16 './src/*.js',
17 './test/**/*.js',
18 'gulpfile.js'
19]
20
21gulp.task('mocha', function() {
22 return gulp.src(['test/server/*.js', 'test/server.js'])
23 .pipe(mocha())
24})
25
26gulp.task('karma', ['mocha'], function(done) {
27 karma.start({
28 configFile: __dirname + '/test/karma.conf.js',
29 singleRun: true
30 }, done)
31})
32
33gulp.task('karma-travisci', ['mocha'], function(done) {
34 karma.start({
35 configFile: __dirname + '/test/karma-travisci.conf.js',
36 singleRun: true
37 }, done)
38})
39
40gulp.task('test', ['karma'])
41gulp.task('test:travisci', ['karma-travisci'])
42
43// Build
44// -----
45
46gulp.task('build', function() {
47 var pkg = require('./package.json')
48 var banner = [
49 '/**',
50 ' * <%= pkg.name %> - <%= pkg.description %>',
51 ' *',
52 ' * @version v<%= pkg.version %>',
53 ' * @link <%= pkg.homepage %>',
54 ' * @author <%= pkg.author %>',
55 ' * @license <%= pkg.license %>',
56 ' */',
57 ''].join('\n');
58
59 gulp.src('src/index.js')
60 .pipe(uglify())
61 .pipe(header(banner, {pkg: pkg}))
62 .pipe(gulp.dest('dist'))
63 .pipe(rename({
64 basename: 'logdown'
65 }))
66 .pipe(gulp.dest('./example/lib'))
67})
68
69// Development
70// -----------
71
72gulp.task('dev', ['build'], function() {
73 gulp.watch('example/**/*.*').on('change', browserSync.reload);
74 gulp.watch('src/**/*.*', ['build'])
75
76 browserSync.init({
77 port: 3636,
78 server: {baseDir: './'},
79 startPath: '/example'
80 })
81})
82
83// Deploy
84// ------
85
86gulp.task('deploy:example', ['build'], function() {
87 return gulp.src('./example/**')
88 .pipe(ghPages())
89})