1 | 'use strict'
|
2 |
|
3 | var browserSync = require('browser-sync').create()
|
4 | var ghPages = require('gulp-gh-pages')
|
5 | var gulp = require('gulp')
|
6 | var header = require('gulp-header')
|
7 | var karma = require('karma').server
|
8 | var mocha = require('gulp-mocha')
|
9 | var rename = require('gulp-rename')
|
10 | var uglify = require('gulp-uglify')
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | var jsFilesToBeStyleChecked = [
|
16 | './src/*.js',
|
17 | './test/**/*.js',
|
18 | 'gulpfile.js'
|
19 | ]
|
20 |
|
21 | gulp.task('mocha', function() {
|
22 | return gulp.src(['test/server/*.js', 'test/server.js'])
|
23 | .pipe(mocha())
|
24 | })
|
25 |
|
26 | gulp.task('karma', ['mocha'], function(done) {
|
27 | karma.start({
|
28 | configFile: __dirname + '/test/karma.conf.js',
|
29 | singleRun: true
|
30 | }, done)
|
31 | })
|
32 |
|
33 | gulp.task('karma-travisci', ['mocha'], function(done) {
|
34 | karma.start({
|
35 | configFile: __dirname + '/test/karma-travisci.conf.js',
|
36 | singleRun: true
|
37 | }, done)
|
38 | })
|
39 |
|
40 | gulp.task('test', ['karma'])
|
41 | gulp.task('test:travisci', ['karma-travisci'])
|
42 |
|
43 |
|
44 |
|
45 |
|
46 | gulp.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 |
|
70 |
|
71 |
|
72 | gulp.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 |
|
84 |
|
85 |
|
86 | gulp.task('deploy:example', ['build'], function() {
|
87 | return gulp.src('./example/**')
|
88 | .pipe(ghPages())
|
89 | })
|