From c9db36af67e1ba3b4865a73b59ca64f7013d95e6 Mon Sep 17 00:00:00 2001 From: Wes Cossick Date: Sat, 12 Sep 2015 02:01:50 -0500 Subject: [PATCH] gulp.js now auto downloads dependencies --- gulpfile.js | 122 +++++++++++++++++++++++++++++++++------------------ package.json | 33 +++++++------- 2 files changed, 96 insertions(+), 59 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 1dd6ec5..8165a97 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,61 +1,97 @@ -var gulp = require('gulp'), - minifycss = require('gulp-minify-css'), - uglify = require('gulp-uglify'), - concat = require('gulp-concat'), - header = require('gulp-header'), - pkg = require('./package.json'), - prettify = require('gulp-jsbeautifier'); - -var banner = ['/**', - ' * <%= pkg.name %> v<%= pkg.version %>', - ' * Copyright <%= pkg.company %>', - ' * @link <%= pkg.homepage %>', - ' * @license <%= pkg.license %>', - ' */', - ''].join('\n'); - -gulp.task('scripts', function() { +var gulp = require("gulp"), + minifycss = require("gulp-minify-css"), + uglify = require("gulp-uglify"), + concat = require("gulp-concat"), + header = require("gulp-header"), + pkg = require("./package.json"), + prettify = require("gulp-jsbeautifier"), + download = require("gulp-download"); + +var banner = ["/**", + " * <%= pkg.name %> v<%= pkg.version %>", + " * Copyright <%= pkg.company %>", + " * @link <%= pkg.homepage %>", + " * @license <%= pkg.license %>", + " */", + ""].join("\n"); + +gulp.task("downloads-codemirror", function() { + var download_urls = [ + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/lib/codemirror.js", + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/addon/edit/continuelist.js", + //"https://raw.githubusercontent.com/codemirror/CodeMirror/master/addon/edit/tablist.js", //waiting for PRs + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/addon/display/fullscreen.js", + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/addon/mode/overlay.js", + //"https://raw.githubusercontent.com/codemirror/CodeMirror/master/mode/gfm/gfm.js", //waiting for PRs + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/mode/markdown/markdown.js", + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/mode/xml/xml.js"]; + + return download(download_urls) + .pipe(gulp.dest("src/js/codemirror/")); +}); + +gulp.task("downloads-js", function() { + var download_urls = [ + "https://raw.githubusercontent.com/chjj/marked/master/lib/marked.js", + "https://raw.githubusercontent.com/NextStepWebs/codemirror-spell-checker/master/src/js/spell-checker.js", + "https://raw.githubusercontent.com/NextStepWebs/codemirror-spell-checker/master/src/js/typo.js"]; + + return download(download_urls) + .pipe(gulp.dest("src/js/")); +}); + +gulp.task("downloads-css", function() { + var download_urls = [ + "https://raw.githubusercontent.com/codemirror/CodeMirror/master/lib/codemirror.css", + "https://raw.githubusercontent.com/NextStepWebs/codemirror-spell-checker/master/src/css/spell-checker.css"]; + + return download(download_urls) + .pipe(gulp.dest("src/css/")); +}); + +gulp.task("scripts", ["downloads-codemirror", "downloads-js", "downloads-css"], function() { var js_files = [ - './src/js/codemirror/codemirror.js', - './src/js/codemirror/continuelist.js', - './src/js/codemirror/fullscreen.js', - './src/js/codemirror/markdown.js', - './src/js/codemirror/overlay.js', - './src/js/codemirror/gfm.js', - './src/js/codemirror/xml.js', - './src/js/typo.js', - './src/js/spell-checker.js', - './src/js/marked.js', - './src/js/simplemde.js']; + "./src/js/codemirror/codemirror.js", + "./src/js/codemirror/continuelist.js", + "./src/js/codemirror/tablist.js", + "./src/js/codemirror/fullscreen.js", + "./src/js/codemirror/markdown.js", + "./src/js/codemirror/overlay.js", + "./src/js/codemirror/gfm.js", + "./src/js/codemirror/xml.js", + "./src/js/typo.js", + "./src/js/spell-checker.js", + "./src/js/marked.js", + "./src/js/simplemde.js"]; return gulp.src(js_files) .pipe(header(banner, {pkg: pkg})) - .pipe(concat('simplemde.min.js')) - .pipe(gulp.dest('dist')) + .pipe(concat("simplemde.min.js")) + .pipe(gulp.dest("dist")) .pipe(uglify()) .pipe(header(banner, {pkg: pkg})) - .pipe(gulp.dest('dist')); + .pipe(gulp.dest("dist")); }); -gulp.task('styles', function() { - return gulp.src('./src/css/*.css') - .pipe(concat('simplemde.min.css')) - .pipe(gulp.dest('dist')) +gulp.task("styles", ["downloads-codemirror", "downloads-js", "downloads-css"], function() { + return gulp.src("./src/css/*.css") + .pipe(concat("simplemde.min.css")) + .pipe(gulp.dest("dist")) .pipe(minifycss()) .pipe(header(banner, {pkg: pkg})) - .pipe(gulp.dest('dist')); + .pipe(gulp.dest("dist")); }); -gulp.task('prettify-js', function() { - gulp.src('./src/js/simplemde.js') +gulp.task("prettify-js", function() { + gulp.src("./src/js/simplemde.js") .pipe(prettify({js: {braceStyle: "collapse", indentChar: "\t", indentSize: 1, maxPreserveNewlines: 3, spaceBeforeConditional: false}})) - .pipe(gulp.dest('./src/js')); + .pipe(gulp.dest("./src/js")); }); -gulp.task('prettify-css', function() { - gulp.src('./src/css/simplemde.css') +gulp.task("prettify-css", function() { + gulp.src("./src/css/simplemde.css") .pipe(prettify({css: {indentChar: "\t", indentSize: 1}})) - .pipe(gulp.dest('./src/css')); + .pipe(gulp.dest("./src/css")); }); -gulp.task('default', ['scripts', 'styles', 'prettify-js', 'prettify-css']); \ No newline at end of file +gulp.task("default", ["downloads-codemirror", "downloads-js", "downloads-css", "scripts", "styles", "prettify-js", "prettify-css"]); \ No newline at end of file diff --git a/package.json b/package.json index 75b4f70..7b35911 100644 --- a/package.json +++ b/package.json @@ -3,33 +3,34 @@ "version": "1.7.1", "description": "A simple, beautiful, and embeddable JavaScript markdown editor. Features autosaving and spell checking.", "keywords": [ - "embeddable", - "markdown", - "editor", - "javascript", - "wysiwyg" + "embeddable", + "markdown", + "editor", + "javascript", + "wysiwyg" ], "homepage": "https://github.com/NextStepWebs/simplemde-markdown-editor", "main": "gulpfile.js", "license": "MIT", "company": "Next Step Webs, Inc.", "author": { - "name": "Wes Cossick", - "url": "http://www.WesCossick.com" + "name": "Wes Cossick", + "url": "http://www.WesCossick.com" }, "bugs": { - "url": "https://github.com/NextStepWebs/simplemde-markdown-editor/issues" + "url": "https://github.com/NextStepWebs/simplemde-markdown-editor/issues" }, "devDependencies": { - "gulp": "*", - "gulp-minify-css": "*", - "gulp-uglify": "*", - "gulp-concat": "*", - "gulp-header": "*", - "gulp-jsbeautifier": "*" + "gulp": "*", + "gulp-minify-css": "*", + "gulp-uglify": "*", + "gulp-concat": "*", + "gulp-header": "*", + "gulp-jsbeautifier": "*", + "gulp-download": "*" }, "repository": { - "type": "git", - "url": "https://github.com/NextStepWebs/simplemde-markdown-editor" + "type": "git", + "url": "https://github.com/NextStepWebs/simplemde-markdown-editor" } }