12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- "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"]);
|