From 2017cf240fc1576e81a6fb9a53439f9fe76653e5 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 13 Nov 2014 14:29:25 -0500 Subject: minified js via grunt --- .gitignore | 3 + Gruntfile.js | 163 +++++++++++++++++++++++++++++++++++++++++++++ server/index.js | 1 + views/partials/scripts.ejs | 5 +- 4 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 Gruntfile.js diff --git a/.gitignore b/.gitignore index c0f4c0c..50f54f1 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,6 @@ tmp/ config.json +app.concat.js +app.min.js + diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..bba8f22 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,163 @@ +module.exports = function(grunt) { + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + concat: { + options: { + separator: "\n;\n" + }, + js: { + src: [ + "public/assets/javascripts/vendor/bower_components/jquery/dist/jquery.min.js", + "public/assets/javascripts/vendor/bower_components/lodash/dist/lodash.min.js", + "public/assets/javascripts/vendor/bower_components/momentjs/min/moment.min.js", + "public/assets/javascripts/vendor/bower_components/fiber/src/fiber.min.js", + "public/assets/javascripts/vendor/bower_components/prefixfree/prefixfree.min.js", + "public/assets/javascripts/vendor/bower_components/marked/lib/marked.js", + "public/assets/javascripts/vendor/tube.js", + "public/assets/javascripts/vendor/loader.js", + "public/assets/javascripts/vendor/polyfill.js", + "public/assets/javascripts/vendor/chardinjs.min.js", + "public/assets/javascripts/vendor/sha1.js", + "public/assets/javascripts/vendor/dataUriToBlob.js", + "public/assets/javascripts/vendor/froogaloop.js", + "public/assets/javascripts/util.js", + + "public/assets/javascripts/mx/mx.js", + "public/assets/javascripts/mx/extensions/mx.scene.js", + "public/assets/javascripts/mx/extensions/mx.movements.js", + "public/assets/javascripts/mx/extensions/mx.movementsMobile.js", + "public/assets/javascripts/mx/primitives/mx.image.js", + "public/assets/javascripts/mx/primitives/mx.text.js", + "public/assets/javascripts/mx/primitives/mx.video.js", + "public/assets/javascripts/mx/primitives/mx.youtube.js", + "public/assets/javascripts/mx/primitives/mx.vimeo.js", + + "public/assets/javascripts/rectangles/_env.js", + + "public/assets/javascripts/rectangles/util/constants.js", + "public/assets/javascripts/rectangles/util/colors.js", + "public/assets/javascripts/rectangles/util/coords.js", + "public/assets/javascripts/rectangles/util/debug.js", + "public/assets/javascripts/rectangles/util/keys.js", + "public/assets/javascripts/rectangles/util/measurement.js", + "public/assets/javascripts/rectangles/util/minotaur.js", + "public/assets/javascripts/rectangles/util/mouse.js", + "public/assets/javascripts/rectangles/util/permissions.js", + "public/assets/javascripts/rectangles/util/sort.js", + "public/assets/javascripts/rectangles/util/uid.js", + "public/assets/javascripts/rectangles/util/undostack.js", + "public/assets/javascripts/rectangles/util/wheel.js", + + "public/assets/javascripts/rectangles/models/vec2.js", + "public/assets/javascripts/rectangles/models/vec3.js", + "public/assets/javascripts/rectangles/models/rect.js", + "public/assets/javascripts/rectangles/models/surface.js", + "public/assets/javascripts/rectangles/models/tree.js", + "public/assets/javascripts/rectangles/models/room.js", + "public/assets/javascripts/rectangles/models/wall.js", + "public/assets/javascripts/rectangles/models/floor.js", + + "public/assets/javascripts/rectangles/engine/rooms/_rooms.js", + "public/assets/javascripts/rectangles/engine/rooms/_walls.js", + "public/assets/javascripts/rectangles/engine/rooms/builder.js", + "public/assets/javascripts/rectangles/engine/rooms/clipper.js", + "public/assets/javascripts/rectangles/engine/rooms/grouper.js", + "public/assets/javascripts/rectangles/engine/rooms/mover.js", + + "public/assets/javascripts/rectangles/engine/scenery/_scenery.js", + "public/assets/javascripts/rectangles/engine/scenery/move.js", + "public/assets/javascripts/rectangles/engine/scenery/resize.js", + "public/assets/javascripts/rectangles/engine/scenery/randomize.js", + "public/assets/javascripts/rectangles/engine/scenery/undo.js", + "public/assets/javascripts/rectangles/engine/scenery/types/_object.js", + "public/assets/javascripts/rectangles/engine/scenery/types/image.js", + "public/assets/javascripts/rectangles/engine/scenery/types/text.js", + "public/assets/javascripts/rectangles/engine/scenery/types/video.js", + + "public/assets/javascripts/rectangles/engine/map/_map.js", + "public/assets/javascripts/rectangles/engine/map/ui_editor.js", + "public/assets/javascripts/rectangles/engine/map/ui_minimap.js", + "public/assets/javascripts/rectangles/engine/map/draw.js", + + "public/assets/javascripts/ui/lib/View.js", + "public/assets/javascripts/ui/lib/Router.js", + "public/assets/javascripts/ui/lib/ModalView.js", + "public/assets/javascripts/ui/lib/FormView.js", + "public/assets/javascripts/ui/lib/UploadView.js", + "public/assets/javascripts/ui/lib/AlertModal.js", + "public/assets/javascripts/ui/lib/ConfirmModal.js", + "public/assets/javascripts/ui/lib/ErrorModal.js", + "public/assets/javascripts/ui/lib/Parser.js", + "public/assets/javascripts/ui/lib/LabColorPicker.js", + + "public/assets/javascripts/ui/site/SignInModal.js", + "public/assets/javascripts/ui/site/SignUpModal.js", + "public/assets/javascripts/ui/site/UsernameTaken.js", + "public/assets/javascripts/ui/site/PasswordForgot.js", + "public/assets/javascripts/ui/site/PasswordReset.js", + "public/assets/javascripts/ui/site/LayoutsModal.js", + "public/assets/javascripts/ui/site/EditProjectModal.js", + "public/assets/javascripts/ui/site/EditProfileModal.js", + "public/assets/javascripts/ui/site/DocumentModal.js", + + "public/assets/javascripts/ui/site/HomeView.js", + "public/assets/javascripts/ui/site/ProfileView.js", + "public/assets/javascripts/ui/site/ProjectList.js", + + "public/assets/javascripts/ui/builder/BuilderView.js", + "public/assets/javascripts/ui/builder/BuilderSettings.js", + "public/assets/javascripts/ui/builder/BuilderToolbar.js", + "public/assets/javascripts/ui/builder/BuilderInfo.js", + + "public/assets/javascripts/ui/editor/EditorView.js", + "public/assets/javascripts/ui/editor/EditorSettings.js", + "public/assets/javascripts/ui/editor/EditorToolbar.js", + "public/assets/javascripts/ui/editor/HelpCursor.js", + "public/assets/javascripts/ui/editor/ColorControl.js", + "public/assets/javascripts/ui/editor/Collaborators.js", + "public/assets/javascripts/ui/editor/MediaEditor.js", + "public/assets/javascripts/ui/editor/MediaUpload.js", + "public/assets/javascripts/ui/editor/MediaViewer.js", + "public/assets/javascripts/ui/editor/Presets.js", + "public/assets/javascripts/ui/editor/TextEditor.js", + "public/assets/javascripts/ui/editor/WallpaperPicker.js", + + "public/assets/javascripts/ui/reader/ReaderView.js", + "public/assets/javascripts/ui/reader/ShareView.js", + "public/assets/javascripts/ui/reader/EmbedView.js", + "public/assets/javascripts/ui/reader/MediaPlayer.js", + "public/assets/javascripts/ui/reader/Tracker.js", + + "public/assets/javascripts/ui/_router.js", + + "public/assets/javascripts/app.js", + "public/assets/javascripts/defaults.js", + ], + dest: 'public/assets/javascripts/app.concat.js', + } + }, + uglify: { + options: { + banner: '/* vvalls by okfoc.us 2014 */\n' + }, + js: { + src: 'public/assets/javascripts/app.concat.js', + dest: 'public/assets/javascripts/app.min.js', + } + }, + clean: { + release: ["public/assets/javascripts/app.concat.js"], + } + }); + + // Load tasks that we'll be using + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-clean'); + + // Default task(s). + grunt.registerTask('js', ['concat:js', 'uglify:js', 'clean:release']); + grunt.registerTask('default', ['js']); +}; + diff --git a/server/index.js b/server/index.js index c2b3421..4fbd8d1 100644 --- a/server/index.js +++ b/server/index.js @@ -62,6 +62,7 @@ site.setup = function(){ app.use(passport.session()); app.use(app.router); app.set('trust proxy', true) + app.set('env', config.env.production ? "production" : "development") app.get('env') === 'development' && app.use(express.errorHandler()); // Essential middleware diff --git a/views/partials/scripts.ejs b/views/partials/scripts.ejs index 7bdb246..d5e8e5d 100644 --- a/views/partials/scripts.ejs +++ b/views/partials/scripts.ejs @@ -1,3 +1,6 @@ +[[ if (config.env.production) { ]] + +[[ } else { ]] @@ -124,6 +127,6 @@ +[[ } ]] - -- cgit v1.2.3-70-g09d2