aboutsummaryrefslogtreecommitdiffstats
path: root/web/gulpfile.js
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-02-15 14:58:46 +0100
committerMaximilian Hils <git@maximilianhils.com>2016-02-15 14:58:46 +0100
commit33fa49277a821b9d38e8c9bf0bcf2adcfa2f6f04 (patch)
tree31914a601302579ff817504019296fd7e9e46765 /web/gulpfile.js
parent36f34f701991b5d474c005ec45e3b66e20f326a8 (diff)
downloadmitmproxy-33fa49277a821b9d38e8c9bf0bcf2adcfa2f6f04.tar.gz
mitmproxy-33fa49277a821b9d38e8c9bf0bcf2adcfa2f6f04.tar.bz2
mitmproxy-33fa49277a821b9d38e8c9bf0bcf2adcfa2f6f04.zip
move mitmproxy
Diffstat (limited to 'web/gulpfile.js')
-rw-r--r--web/gulpfile.js224
1 files changed, 0 insertions, 224 deletions
diff --git a/web/gulpfile.js b/web/gulpfile.js
deleted file mode 100644
index 83893c91..00000000
--- a/web/gulpfile.js
+++ /dev/null
@@ -1,224 +0,0 @@
-var path = require('path');
-
-var packagejs = require('./package.json');
-var conf = require('./conf.js');
-
-// Sorted alphabetically!
-var babelify = require('babelify');
-var browserify = require('browserify');
-var gulp = require("gulp");
-var concat = require('gulp-concat');
-var connect = require('gulp-connect');
-var eslint = require('gulp-eslint');
-var less = require("gulp-less");
-var livereload = require("gulp-livereload");
-var minifyCSS = require('gulp-minify-css');
-var notify = require("gulp-notify");
-var peg = require("gulp-peg");
-var plumber = require("gulp-plumber");
-var react = require("gulp-react");
-var rename = require("gulp-rename");
-var replace = require('gulp-replace');
-var sourcemaps = require('gulp-sourcemaps');
-var gutil = require("gulp-util");
-var _ = require('lodash');
-var map = require("map-stream");
-var reactify = require('reactify');
-var uglifyify = require('uglifyify');
-var buffer = require('vinyl-buffer');
-var source = require('vinyl-source-stream');
-var transform = require('vinyl-transform');
-var watchify = require('watchify');
-
-var vendor_packages = _.difference(
- _.union(
- _.keys(packagejs.dependencies),
- conf.js.vendor_includes
- ),
- conf.js.vendor_excludes
-);
-
-var handleError = {errorHandler: notify.onError("Error: <%= error.message %>")};
-
-/*
- * Sourcemaps are a wonderful way to develop directly from the chrome devtools.
- * However, generating correct sourcemaps is a huge PITA, especially on Windows.
- * Fixing this upstream is tedious as apparently nobody really cares and
- * a single misbehaving transform breaks everything.
- * Thus, we just manually fix all paths.
- */
-function fixSourceMaps(file) {
- file.sourceMap.sources = file.sourceMap.sources.map(function (x) {
- return path.relative(".", x).split(path.sep).join('/');
- });
- return "/";
-}
-// Browserify fails for paths starting with "..".
-function fixBrowserifySourceMaps(file) {
- file.sourceMap.sources = file.sourceMap.sources.map((x) => {
- return x.replace("src/js/node_modules", "node_modules");
- });
- return fixSourceMaps(file);
-}
-function fixLessSourceMaps(file) {
- file.sourceMap.sources = file.sourceMap.sources.map((x) => {
- if(!x.startsWith("..")){
- return "../src/css/" + x;
- }
- return x.replace("src/js/node_modules", "node_modules");
- });
- return fixSourceMaps(file);
-}
-
-function styles(files, dev){
- return gulp.src(files)
- .pipe(dev ? plumber(handleError) : gutil.noop())
- .pipe(sourcemaps.init())
- .pipe(less())
- .pipe(dev ? gutil.noop() : minifyCSS())
- .pipe(sourcemaps.write(".", {sourceRoot: fixLessSourceMaps}))
- .pipe(gulp.dest(conf.static))
- .pipe(livereload({auto: false}));
-}
-gulp.task("styles-app-dev", function () {
- styles(conf.css.app, true);
-});
-gulp.task("styles-vendor-dev", function () {
- styles(conf.css.vendor, true);
-});
-gulp.task("styles-app-prod", function () {
- styles(conf.css.app, false);
-});
-gulp.task("styles-vendor-prod", function () {
- styles(conf.css.app, false);
-});
-
-
-function buildScript(bundler, filename, dev) {
- if (dev) {
- bundler = watchify(bundler);
- } else {
- bundler = bundler.transform({global: true}, uglifyify);
- }
-
- function rebundle() {
- return bundler.bundle()
- .pipe(dev ? plumber(handleError) : gutil.noop())
- .pipe(source('bundle.js'))
- .pipe(buffer())
- .pipe(sourcemaps.init({loadMaps: true}))
- .pipe(rename(filename))
- .pipe(sourcemaps.write('.', {sourceRoot: fixBrowserifySourceMaps}))
- .pipe(gulp.dest(conf.static))
- .pipe(livereload({auto: false}));
- }
-
- // listen for an update and run rebundle
- bundler.on('update', rebundle);
- bundler.on('log', gutil.log);
-
- // run it once the first time buildScript is called
- return rebundle();
-}
-
-function vendor_stream(dev) {
- var bundler = browserify({
- entries: [],
- debug: true,
- cache: {}, // required for watchify
- packageCache: {} // required for watchify
- });
- for (var vp of vendor_packages) {
- bundler.require(vp);
- }
- return buildScript(bundler, "vendor.js", dev);
-}
-gulp.task("scripts-vendor-dev", function () {
- return vendor_stream(true);
-});
-gulp.task("scripts-vendor-prod", function () {
- return vendor_stream(false);
-});
-
-function app_stream(dev) {
- var bundler = browserify({
- entries: [conf.js.app],
- debug: true,
- cache: {}, // required for watchify
- packageCache: {} // required for watchify
- });
- for (var vp of vendor_packages) {
- bundler.external(vp);
- }
- bundler = bundler.transform(babelify).transform(reactify);
- return buildScript(bundler, "app.js", dev);
-}
-gulp.task('scripts-app-dev', function () {
- return app_stream(true);
-});
-gulp.task('scripts-app-prod', function () {
- return app_stream(false);
-});
-
-
-gulp.task("eslint", function () {
- return gulp.src(conf.js.eslint)
- .pipe(plumber(handleError))
- .pipe(eslint())
- .pipe(eslint.format())
-});
-
-gulp.task("copy", function () {
- return gulp.src(conf.copy, {base: conf.src})
- .pipe(gulp.dest(conf.static));
-});
-
-
-gulp.task('templates', function(){
- return gulp.src(conf.templates, {base: conf.src})
- .pipe(gulp.dest(conf.dist));
-});
-
-gulp.task("peg", function () {
- return gulp.src(conf.peg, {base: conf.src})
- .pipe(plumber(handleError))
- .pipe(peg())
- .pipe(gulp.dest("src/"));
-});
-
-gulp.task(
- "dev",
- [
- "copy",
- "styles-vendor-dev",
- "styles-app-dev",
- "scripts-vendor-dev",
- "peg",
- "scripts-app-dev",
- "templates"
- ]
-);
-gulp.task(
- "prod",
- [
- "copy",
- "styles-vendor-prod",
- "styles-app-prod",
- "scripts-vendor-prod",
- "peg",
- "scripts-app-prod",
- "templates"
- ]
-);
-
-gulp.task("default", ["dev"], function () {
- livereload.listen({auto: true});
- gulp.watch(["src/css/vendor*"], ["styles-vendor-dev"]);
- gulp.watch(["src/css/**"], ["styles-app-dev"]);
-
- gulp.watch(conf.templates, ["templates"]);
- gulp.watch(conf.peg, ["peg"]);
- gulp.watch(["src/js/**"], ["eslint"]);
- // other JS is handled by watchify.
- gulp.watch(conf.copy, ["copy"]);
-});