123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /**
- * Modules
- */
- var gulp = require("gulp"),
- uglify = require("gulp-uglify"),
- browserify = require("browserify"),
- source = require("vinyl-source-stream"),
- rename = require("gulp-rename"),
- qunit = require("gulp-qunit"),
- eslint = require("gulp-eslint"),
- gulpIf = require("gulp-if"),
- header = require("gulp-header"),
- buffer = require("vinyl-buffer"),
- pkg = require("./package.json"),
- banner =
- "// svg-pan-zoom v<%= pkg.version %>" +
- "\n" +
- "// https://github.com/bumbu/svg-pan-zoom" +
- "\n";
- function isFixed(file) {
- // TODO: why is file.eslint undefined?
- return typeof file.eslint === "object" && file.eslint.fixed;
- }
- /**
- * Build script
- */
- function compile() {
- return browserify({ entries: "./src/stand-alone.js" })
- .bundle()
- .on("error", function(err) {
- console.log(err.toString());
- this.emit("end");
- })
- .pipe(source("svg-pan-zoom.js"))
- .pipe(buffer())
- .pipe(header(banner, { pkg: pkg }))
- .pipe(gulp.dest("./dist/"))
- .pipe(rename("svg-pan-zoom.min.js"))
- .pipe(uglify())
- .pipe(header(banner, { pkg: pkg }))
- .pipe(gulp.dest("./dist/"));
- }
- /**
- * Watch script
- */
- function watch() {
- return gulp.watch("./src/**/*.js", gulp.series("compile"));
- }
- /**
- * Test task
- */
- function test() {
- return gulp.src("./tests/index.html").pipe(qunit());
- }
- /**
- * Check
- */
- function check() {
- return (
- gulp
- .src([
- "./**/*.js",
- "!./dist/**/*.js",
- "!./demo/**/*.js",
- "!./tests/assets/**/*.js",
- "!./src/uniwheel.js" // Ignore uniwheel
- ])
- // NOTE: this runs prettier via eslint-plugin-prettier
- .pipe(
- eslint({
- configFile: "./.eslintrc.json",
- fix: true
- })
- )
- .pipe(eslint.format())
- .pipe(gulpIf(isFixed, gulp.dest("./")))
- // uncomment to stop on error
- .pipe(eslint.failAfterError())
- );
- }
- exports.compile = compile;
- exports.watch = watch;
- exports.test = test;
- exports.check = check;
- /**
- * Build
- */
- exports.build = gulp.series([check, compile, test]);
- /**
- * Default task
- */
- exports.default = gulp.series([compile, watch]);
|