diff options
Diffstat (limited to 'static/bower_components/simplemde/gulpfile.js')
-rw-r--r-- | static/bower_components/simplemde/gulpfile.js | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/static/bower_components/simplemde/gulpfile.js b/static/bower_components/simplemde/gulpfile.js new file mode 100644 index 0000000..702a162 --- /dev/null +++ b/static/bower_components/simplemde/gulpfile.js @@ -0,0 +1,96 @@ +"use strict"; + +var gulp = require("gulp"), + minifycss = require("gulp-clean-css"), + uglify = require("gulp-uglify"), + concat = require("gulp-concat"), + header = require("gulp-header"), + buffer = require("vinyl-buffer"), + pkg = require("./package.json"), + debug = require("gulp-debug"), + eslint = require("gulp-eslint"), + prettify = require("gulp-jsbeautifier"), + browserify = require("browserify"), + source = require("vinyl-source-stream"), + rename = require("gulp-rename"); + +var banner = ["/**", + " * <%= pkg.name %> v<%= pkg.version %>", + " * Copyright <%= pkg.company %>", + " * @link <%= pkg.homepage %>", + " * @license <%= pkg.license %>", + " */", + ""].join("\n"); + +gulp.task("prettify-js", [], function() { + return gulp.src("./src/js/simplemde.js") + .pipe(prettify({js: {brace_style: "collapse", indent_char: "\t", indent_size: 1, max_preserve_newlines: 3, space_before_conditional: false}})) + .pipe(gulp.dest("./src/js")); +}); + +gulp.task("prettify-css", [], function() { + return gulp.src("./src/css/simplemde.css") + .pipe(prettify({css: {indentChar: "\t", indentSize: 1}})) + .pipe(gulp.dest("./src/css")); +}); + +gulp.task("lint", ["prettify-js"], function() { + gulp.src("./src/js/**/*.js") + .pipe(debug()) + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); + +function taskBrowserify(opts) { + return browserify("./src/js/simplemde.js", opts) + .bundle(); +} + +gulp.task("browserify:debug", ["lint"], function() { + return taskBrowserify({debug:true, standalone:"SimpleMDE"}) + .pipe(source("simplemde.debug.js")) + .pipe(buffer()) + .pipe(header(banner, {pkg: pkg})) + .pipe(gulp.dest("./debug/")); +}); + +gulp.task("browserify", ["lint"], function() { + return taskBrowserify({standalone:"SimpleMDE"}) + .pipe(source("simplemde.js")) + .pipe(buffer()) + .pipe(header(banner, {pkg: pkg})) + .pipe(gulp.dest("./debug/")); +}); + +gulp.task("scripts", ["browserify:debug", "browserify", "lint"], function() { + var js_files = ["./debug/simplemde.js"]; + + return gulp.src(js_files) + .pipe(concat("simplemde.min.js")) + .pipe(uglify()) + .pipe(buffer()) + .pipe(header(banner, {pkg: pkg})) + .pipe(gulp.dest("./dist/")); +}); + +gulp.task("styles", ["prettify-css"], function() { + var css_files = [ + "./node_modules/codemirror/lib/codemirror.css", + "./src/css/*.css", + "./node_modules/codemirror-spell-checker/src/css/spell-checker.css" + ]; + + return gulp.src(css_files) + .pipe(concat("simplemde.css")) + .pipe(buffer()) + .pipe(header(banner, {pkg: pkg})) + .pipe(gulp.dest("./debug/")) + .pipe(minifycss()) + .pipe(rename("simplemde.min.css")) + .pipe(buffer()) + .pipe(header(banner, {pkg: pkg})) + .pipe(gulp.dest("./dist/")); +}); + +gulp.task("default", ["scripts", "styles"]); |