From 7b74d207f39e642e5029a4855da47314ce224a33 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sat, 13 Sep 2014 23:57:01 +0200 Subject: update Gruntfile --- .gitignore | 1 + web/.jshintrc | 4 ++ web/Gruntfile.js | 38 +++++++++------ web/gulpfile.js | 2 +- web/src/css/footer.less | 1 + web/src/js/datastructures.es6.js | 101 +++++++++++++++++++++++++++++++++++++++ web/src/js/datastructures.js | 101 --------------------------------------- web/src/js/footer.react.js | 3 -- web/src/test.html | 2 +- 9 files changed, 132 insertions(+), 121 deletions(-) create mode 100644 web/.jshintrc create mode 100644 web/src/js/datastructures.es6.js delete mode 100644 web/src/js/datastructures.js diff --git a/.gitignore b/.gitignore index a306bb16..d75774f3 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ libpathod node_modules bower_components +*.compiled.js *.map \ No newline at end of file diff --git a/web/.jshintrc b/web/.jshintrc new file mode 100644 index 00000000..acdf04d3 --- /dev/null +++ b/web/.jshintrc @@ -0,0 +1,4 @@ +{ + "loopfunc": true, + "esnext": true +} \ No newline at end of file diff --git a/web/Gruntfile.js b/web/Gruntfile.js index b737e1ff..5fe5a402 100644 --- a/web/Gruntfile.js +++ b/web/Gruntfile.js @@ -1,16 +1,20 @@ var cssfiles = { - "../libmproxy/web/static/mitmproxy.css": "src/css/mitmproxy.less", + "../libmproxy/web/static/css/app.css": "src/css/app.less", + "../libmproxy/web/static/css/vendor.css": "src/css/vendor.less", }; var jsfiles = { - "../libmproxy/web/static/mitmproxy.js": [ + "../libmproxy/web/static/js/vendor.js": [ 'src/vendor/jquery/jquery.js', - 'src/vendor/lodash/dist/lodash.js', + 'src/vendor/lodash/lodash.js', 'src/vendor/react/react-with-addons.js', - 'src/vendor/react-router/dist/react-router.js', - 'src/vendor/bootstrap-customized.js', - 'src/js/router_jsx.js', - 'src/js/certinstall_jsx.js', - 'src/js/mitmproxy.js', + 'src/vendor/react-router/react-router.js', + 'src/vendor/react-bootstrap/react-bootstrap.js', + ], + "../libmproxy/web/static/js/app.js": [ + 'src/js/datastructures.compiled.js', + 'src/js/footer.compiled.js', + 'src/js/header.compiled.js', + 'src/js/mitmproxy.compiled.js', ], }; @@ -24,7 +28,7 @@ module.exports = function (grunt) { { expand: true, flatten: true, - src: ['src/vendor/fontawesome/fonts/*'], + src: ['src/vendor/fontawesome/fontawesome-webfont.*'], dest: '../libmproxy/web/static/fonts' } ], @@ -52,10 +56,13 @@ module.exports = function (grunt) { files: [{ expand: true, cwd: 'src/js', - src: ['*.jsx'], + src: ['*.react.js','*.es6.js'], dest: 'src/js', - ext: '_jsx.js' + ext: '.compiled.js' }] + }, + options: { + harmony: true } }, uglify: { @@ -63,6 +70,7 @@ module.exports = function (grunt) { options: { mangle: false, compress: false, + beautify: true, sourceMap: true, sourceMapIncludeSources: true, }, @@ -78,9 +86,9 @@ module.exports = function (grunt) { }, jshint: { options: { - loopfunc: true, + jshintrc: ".jshintrc", }, - all: ['src/js/*.js'], + all: ['src/js/*.js','!src/js/*.react.js'], gruntfile: ['Gruntfile.js'] }, qunit: { @@ -88,14 +96,14 @@ module.exports = function (grunt) { }, watch: { less: { - files: ['src/css/*.less', 'src/css/*.css'], + files: ['src/css/**'], tasks: ['less:dev'], options: { livereload: true, } }, jsx: { - files: ['src/js/*.jsx'], + files: ['src/js/*.react.js','src/js/*.es6.js'], tasks: ['react:all'], }, js: { diff --git a/web/gulpfile.js b/web/gulpfile.js index afc4834a..55a99b15 100644 --- a/web/gulpfile.js +++ b/web/gulpfile.js @@ -23,7 +23,7 @@ var path = { 'vendor/react-bootstrap/react-bootstrap.js' ], app: [ - 'js/datastructures.js', + 'js/datastructures.es6.js', 'js/footer.react.js', 'js/header.react.js', 'js/mitmproxy.react.js', diff --git a/web/src/css/footer.less b/web/src/css/footer.less index 1aa75827..52512b60 100644 --- a/web/src/css/footer.less +++ b/web/src/css/footer.less @@ -1,3 +1,4 @@ footer { padding: 0 10px; + text-align: center; } \ No newline at end of file diff --git a/web/src/js/datastructures.es6.js b/web/src/js/datastructures.es6.js new file mode 100644 index 00000000..4bc781b2 --- /dev/null +++ b/web/src/js/datastructures.es6.js @@ -0,0 +1,101 @@ +class EventEmitter { + constructor(){ + this._listeners = {}; + } + emit(event){ + if(!(event in this._listeners)){ + return; + } + this._listeners[event].forEach(function (listener) { + listener(event, this); + }.bind(this)); + } + addListener(event, f){ + this._listeners[event] = this._listeners[event] || []; + this._listeners[event].push(f); + } + removeListener(event, f){ + if(!(event in this._listeners)){ + return false; + } + var index = this._listeners.indexOf(f); + if (index >= 0) { + this._listeners.splice(this._listeners.indexOf(f), 1); + } + } +} + +var FLOW_CHANGED = "flow.changed"; + +class FlowStore extends EventEmitter{ + constructor() { + super(); + this.flows = []; + this._listeners = []; + } + + getAll() { + return this.flows; + } + + emitChange() { + return this.emit(FLOW_CHANGED); + } + + addChangeListener(f) { + this.addListener(FLOW_CHANGED, f); + } + + removeChangeListener(f) { + this.removeListener(FLOW_CHANGED, f); + } +} + +class DummyFlowStore extends FlowStore { + constructor(flows) { + super(); + this.flows = flows; + } + + addFlow(f) { + this.flows.push(f); + this.emitChange(); + } +} + + +var SETTINGS_CHANGED = "settings.change"; + +class Settings extends EventEmitter { + constructor(){ + super(); + this.settings = false; + } + + getAll(){ + return this.settings; + } + + emitChange() { + return this.emit(SETTINGS_CHANGED); + } + + addChangeListener(f) { + this.addListener(SETTINGS_CHANGED, f); + } + + removeChangeListener(f) { + this.removeListener(SETTINGS_CHANGED, f); + } +} + +class DummySettings extends Settings { + constructor(settings){ + super(); + this.settings = settings; + } + update(obj){ + _.merge(this.settings, obj); + this.emitChange(); + } +} \ No newline at end of file diff --git a/web/src/js/datastructures.js b/web/src/js/datastructures.js deleted file mode 100644 index 59f64e66..00000000 --- a/web/src/js/datastructures.js +++ /dev/null @@ -1,101 +0,0 @@ -class EventEmitter { - constructor(){ - this._listeners = {}; - } - emit(event){ - if(!(event in this._listeners)){ - return; - } - this._listeners[event].forEach(function (listener) { - listener(event, this); - }.bind(this)); - } - addListener(event, f){ - this._listeners[event] = this._listeners[event] || []; - this._listeners[event].push(f); - } - removeListener(event, f){ - if(!(event in this._listeners)){ - return false; - } - var index = this._listeners.indexOf(f); - if (index >= 0) { - this._listeners.splice(this._listeners.indexOf(f), 1); - } - } -} - -var FLOW_CHANGED = "flow.changed"; - -class FlowStore extends EventEmitter{ - constructor() { - super(); - this.flows = []; - this._listeners = []; - } - - getAll() { - return this.flows; - } - - emitChange() { - return this.emit(FLOW_CHANGED); - } - - addChangeListener(f) { - this.addListener(FLOW_CHANGED, f); - } - - removeChangeListener(f) { - this.removeListener(FLOW_CHANGED, f); - } -} - -class DummyFlowStore extends FlowStore { - constructor(flows) { - super(); - this.flows = flows; - } - - addFlow(f) { - this.flows.push(f); - this.emitChange(); - } -} - - -SETTINGS_CHANGED = "settings.change"; - -class Settings extends EventEmitter { - constructor(){ - super(); - this.settings = false; - } - - getAll(){ - return this.settings; - } - - emitChange() { - return this.emit(SETTINGS_CHANGED); - } - - addChangeListener(f) { - this.addListener(SETTINGS_CHANGED, f); - } - - removeChangeListener(f) { - this.removeListener(SETTINGS_CHANGED, f); - } -} - -class DummySettings extends Settings { - constructor(settings){ - super(); - this.settings = settings; - } - update(obj){ - _.merge(this.settings, obj); - this.emitChange(); - } -} \ No newline at end of file diff --git a/web/src/js/footer.react.js b/web/src/js/footer.react.js index 96506e85..9b36d841 100644 --- a/web/src/js/footer.react.js +++ b/web/src/js/footer.react.js @@ -2,9 +2,6 @@ var Footer = React.createClass({ render : function(){ - var style = { - textAlign: "center" - }; return (); diff --git a/web/src/test.html b/web/src/test.html index 9de604e4..bba1e44f 100644 --- a/web/src/test.html +++ b/web/src/test.html @@ -8,7 +8,7 @@ - + -- cgit v1.2.3