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/hidpi-canvas/dist/hidpi-canvas.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/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/extensions/mx.orbitCamera.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/mx/primitives/mx.soundcloud.js", "public/assets/javascripts/mx/primitives/mx.grid.js", "public/assets/javascripts/mx/primitives/mx.point.js", "public/assets/javascripts/mx/primitives/mx.polyline.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/sound.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/audio.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/sculpture/_sculpture.js", "public/assets/javascripts/rectangles/engine/sculpture/move.js", "public/assets/javascripts/rectangles/engine/sculpture/resize.js", "public/assets/javascripts/rectangles/engine/sculpture/types/_object.js", "public/assets/javascripts/rectangles/engine/sculpture/types/image.js", "public/assets/javascripts/rectangles/engine/shapes/polyline.js", "public/assets/javascripts/rectangles/engine/shapes/ortho.js", "public/assets/javascripts/rectangles/engine/shapes/shapelist.js", "public/assets/javascripts/rectangles/engine/shapes/regionlist.js", "public/assets/javascripts/rectangles/engine/map/_map.js", "public/assets/javascripts/rectangles/engine/map/draw.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/ui/ortho.js", "public/assets/javascripts/rectangles/engine/map/tools/_base.js", "public/assets/javascripts/rectangles/engine/map/tools/arrow.js", "public/assets/javascripts/rectangles/engine/map/tools/line.js", "public/assets/javascripts/rectangles/engine/map/tools/eraser.js", "public/assets/javascripts/rectangles/engine/map/tools/ortho.js", "public/assets/javascripts/rectangles/engine/map/tools/polyline.js", "public/assets/javascripts/rectangles/engine/map/tools/position.js", "public/assets/javascripts/rectangles/engine/map/tools/start.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/AnimatedView.js", "public/assets/javascripts/ui/lib/ToggleableView.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/LayoutsIndex.js", "public/assets/javascripts/ui/site/LayoutsModal.js", "public/assets/javascripts/ui/site/NewProjectModal.js", "public/assets/javascripts/ui/site/EditProjectModal.js", "public/assets/javascripts/ui/site/EditProfileModal.js", "public/assets/javascripts/ui/site/EditSubscriptionModal.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/blueprint/BlueprintView.js", "public/assets/javascripts/ui/blueprint/BlueprintInfo.js", "public/assets/javascripts/ui/blueprint/BlueprintSettings.js", "public/assets/javascripts/ui/blueprint/BlueprintEditor.js", "public/assets/javascripts/ui/blueprint/BlueprintScaler.js", "public/assets/javascripts/ui/blueprint/BlueprintToolbar.js", "public/assets/javascripts/ui/blueprint/BlueprintUploader.js", "public/assets/javascripts/ui/blueprint/BlueprintNotice.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/MediaTumblr.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/SculptureEditor.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', }, // this builds a static version of the vvalls code, suitable for embedding // in another website. see assets/test/static.html 'static': { src: [ "public/assets/javascripts/vendor/bower_components/jquery/dist/jquery.min.js", "public/assets/javascripts/vendor/bower_components/lodash/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/marked/lib/marked.js", "public/assets/javascripts/vendor/bower_components/hidpi-canvas/dist/hidpi-canvas.js", "public/assets/javascripts/vendor/tube.js", "public/assets/javascripts/vendor/loader.js", "public/assets/javascripts/vendor/polyfill.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/mx/primitives/mx.soundcloud.js", "public/assets/javascripts/mx/primitives/mx.grid.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/sound.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/scenery/types/audio.js", "public/assets/javascripts/rectangles/engine/sculpture/_sculpture.js", "public/assets/javascripts/rectangles/engine/sculpture/move.js", "public/assets/javascripts/rectangles/engine/sculpture/resize.js", "public/assets/javascripts/rectangles/engine/sculpture/types/_object.js", "public/assets/javascripts/rectangles/engine/sculpture/types/image.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/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/reader/_router.js", "public/assets/javascripts/app.js", "public/assets/javascripts/defaults.js", ], dest: 'public/assets/javascripts/static.concat.js', } }, copy: { concat: { files: [ { src: 'public/assets/javascripts/app.concat.js', dest: 'public/assets/javascripts/app.min.js', }, ] }, 'static': { files: [ { src: 'public/assets/javascripts/static.concat.js', dest: 'public/assets/javascripts/static.min.js', }, ] }, }, uglify: { options: { banner: '/* vvalls by okfocus 2016 */\n' }, js: { src: 'public/assets/javascripts/app.concat.js', dest: 'public/assets/javascripts/app.min.js', }, 'static': { src: 'public/assets/javascripts/static.concat.js', dest: 'public/assets/javascripts/static.min.js', } }, clean: { release: [ "public/assets/javascripts/static.concat.js", "public/assets/javascripts/app.concat.js", ], } }); // Load tasks that we'll be using grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-clean'); // Default task(s). grunt.registerTask('js', ['concat:js', 'uglify:js', 'clean:release']); grunt.registerTask('js-test', ['concat:js', 'copy:concat']); grunt.registerTask('static', ['concat:static', 'uglify:static', 'clean:release']); grunt.registerTask('static-test', ['concat:static', 'copy:static']); grunt.registerTask('default', ['js']); };