2
0
mirror of https://github.com/Ionaru/easy-markdown-editor synced 2025-06-27 05:01:02 -06:00
easy-markdown-editor/gulpfile.js

67 lines
1.8 KiB
JavaScript
Raw Normal View History

2017-12-05 11:56:56 +01:00
'use strict';
var gulp = require('gulp');
2018-05-13 16:49:19 +02:00
var cleanCSS = require('gulp-clean-css');
var terser = require('gulp-terser');
var concat = require('gulp-concat');
var header = require('gulp-header');
var buffer = require('vinyl-buffer');
var pkg = require('./package.json');
var eslint = require('gulp-eslint');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var rename = require('gulp-rename');
2017-12-05 11:56:56 +01:00
var banner = ['/**',
' * <%= pkg.name %> v<%= pkg.version %>',
' * Copyright <%= pkg.author %>',
2019-08-20 01:10:31 +02:00
' * @link https://github.com/ionaru/easy-markdown-editor',
2017-12-05 11:56:56 +01:00
' * @license <%= pkg.license %>',
' */',
''].join('\n');
var css_files = [
'./node_modules/codemirror/lib/codemirror.css',
'./src/css/*.css',
'./node_modules/codemirror-spell-checker/src/css/spell-checker.css',
];
function lint() {
return gulp.src('./src/js/**/*.js')
2017-12-05 11:51:36 +01:00
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
}
function scripts() {
2018-04-23 15:18:49 +02:00
return browserify({entries: './src/js/easymde.js', standalone: 'EasyMDE'}).bundle()
.pipe(source('easymde.min.js'))
2017-12-05 11:51:36 +01:00
.pipe(buffer())
.pipe(terser())
2017-12-05 11:51:36 +01:00
.pipe(header(banner, {pkg: pkg}))
2017-12-05 11:56:56 +01:00
.pipe(gulp.dest('./dist/'));
}
2015-07-21 15:12:32 +01:00
function styles() {
2017-12-05 11:51:36 +01:00
return gulp.src(css_files)
2018-04-23 15:18:49 +02:00
.pipe(concat('easymde.css'))
2018-05-13 16:49:19 +02:00
.pipe(cleanCSS())
2018-04-23 15:18:49 +02:00
.pipe(rename('easymde.min.css'))
2017-12-05 11:51:36 +01:00
.pipe(buffer())
.pipe(header(banner, {pkg: pkg}))
2017-12-05 11:56:56 +01:00
.pipe(gulp.dest('./dist/'));
}
2015-07-21 15:12:32 +01:00
// Watch for file changes
function watch() {
gulp.watch('./src/js/**/*.js', scripts);
gulp.watch(css_files, styles);
}
var build = gulp.parallel(gulp.series(lint, scripts), styles);
gulp.task('default', build);
gulp.task('watch', gulp.series(build, watch));
2020-01-13 22:26:35 +01:00
gulp.task('lint', lint);