editor: keep document properties on document instance, inform about changes via events
[fnpeditor.git] / Gruntfile.js
index f338192..a97d77c 100644 (file)
@@ -12,11 +12,18 @@ module.exports = function(grunt) {
         requirejs: {
           compile: {
             options: {
+              useStrict: true,
               baseUrl: 'src/editor',
               mainConfigFile: 'src/editor/entrypoint.js',
               out: build_output_dir + '/rng.js',
               name: 'entrypoint',
-              include: ['libs/require']
+              include: ['libs/require'],
+              generateSourceMaps: true,
+
+              // The following two settings are required for source maps to work,
+              // see: http://requirejs.org/docs/optimization.html#sourcemaps
+              preserveLicenseComments: false,
+              optimize: grunt.option('optimize') || 'uglify2'
             }
           }
         },
@@ -24,7 +31,9 @@ module.exports = function(grunt) {
             production: {
                 options: {
                     paths: [''],
-                    yuicompress: true
+                    cleancss: true,
+                    relativeUrls: true,
+                    rootpath: 'src/editor/styles/'
                 },
                 files: less_files,
             },
@@ -34,14 +43,22 @@ module.exports = function(grunt) {
             options: {
                 jshintrc: '.jshintrc'
             }
+        },
+        copy: {
+          resources: {
+            files: [
+              {src: ['libs/bootstrap/img/**'], dest: build_output_dir+'/'},
+            ]
+          }
         }
     });
 
     grunt.loadNpmTasks('grunt-contrib-requirejs');
     grunt.loadNpmTasks('grunt-contrib-less');
     grunt.loadNpmTasks('grunt-contrib-jshint');
+    grunt.loadNpmTasks('grunt-contrib-copy');
 
-    grunt.registerTask('build', ['requirejs', 'less:production']);
+    grunt.registerTask('build', ['requirejs', 'less:production', 'copy:resources']);
     grunt.registerTask('lint', ['jshint']);
     grunt.registerTask('default', ['build']);
 };
\ No newline at end of file