Compile Bootstrap CSS on our own, include it into build CSS file.
[fnpeditor.git] / Gruntfile.js
index 681ec8b..5c85ee0 100644 (file)
@@ -1,12 +1,20 @@
+/* global module */
+
 module.exports = function(grunt) {
+    'use strict';
+
+    var build_output_dir = grunt.option('output-dir') || 'build',
+        less_files = {};
+
+    less_files[build_output_dir + '/rng.css'] = 'src/editor/styles/main.less';
 
     grunt.initConfig({
         requirejs: {
           compile: {
             options: {
-              baseUrl: '',
-              mainConfigFile: 'entrypoint.js',
-              out: 'build/rng.js',
+              baseUrl: 'src/editor',
+              mainConfigFile: 'src/editor/entrypoint.js',
+              out: build_output_dir + '/rng.js',
               name: 'entrypoint',
               include: ['libs/require']
             }
@@ -16,21 +24,33 @@ module.exports = function(grunt) {
             production: {
                 options: {
                     paths: [''],
-                    yuicompress: true
-                },
-                files: {
-                    'build/rng.css': 'styles/main.less'
+                    cleancss: true,
+                    relativeUrls: true
                 },
+                files: less_files,
             },
         },
         jshint: {
-            all: ['Gruntfile.js', 'modules/**/*.js', 'views/**/*.js', 'fnpjs/**/*.js']
+            all: ['Gruntfile.js', 'src/**/*.js'],
+            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('default', ['requirejs']);
+    grunt.registerTask('build', ['requirejs', 'less:production', 'copy:resources']);
+    grunt.registerTask('lint', ['jshint']);
+    grunt.registerTask('default', ['build']);
 };
\ No newline at end of file