client/gruntfile.js
changeset 497 3ba7920facf4
parent 490 8b05c7322e93
child 500 fb3a062bc720
--- a/client/gruntfile.js	Mon Sep 07 16:34:42 2015 +0200
+++ b/client/gruntfile.js	Wed Sep 09 13:10:01 2015 +0200
@@ -2,215 +2,294 @@
 
 module.exports = function(grunt) {
 
-  'use strict';
+    'use strict';
 
-  var renkan_src = [
-      'dist/js/templates.js',
-      'js/main.js',
-      'js/router.js',
-      'js/dataloader.js',
-      'js/models.js',
-      'js/defaults.js',
-      'js/i18n.js',
-      'js/full-json.js',
-      'js/save-once.js',
-      'js/ldtjson-bin.js',
-      'js/list-bin.js',
-      'js/wikipedia-bin.js',
-      'dist/js/paper-renderer.js',
-  ];
+    var renkan_src = [
+        'dist/js/templates.js',
+        'js/main.js',
+        'js/router.js',
+        'js/dataloader.js',
+        'js/models.js',
+        'js/defaults.js',
+        'js/i18n.js',
+        'js/full-json.js',
+        'js/save-once.js',
+        'js/ldtjson-bin.js',
+        'js/list-bin.js',
+        'js/wikipedia-bin.js',
+        'dist/js/paper-renderer.js',
+    ];
 
-  var renkan_banner = grunt.file.read('js/header.js').toString() +
-      '\n/*! <%= pkg.name %> - v<%= pkg.version %> - Copyright © IRI ' +
-      '<%= grunt.template.today("yyyy") %> */\n\n';
+    var renkan_banner = grunt.file.read('js/header.js').toString() +
+        '\n/*! <%= pkg.name %> - v<%= pkg.version %> - Copyright © IRI ' +
+        '<%= grunt.template.today("yyyy") %> */\n\n';
 
-  // Project configuration.
-  grunt.initConfig({
-    pkg: grunt.file.readJSON('package.json'),
-    requirejs: {
-      renderer: {
-        options: {
-          baseUrl: "js/",
-          name: "main-renderer",
-          out: "dist/js/paper-renderer.js",
-          optimize: "none",
-          beautify: true,
-          paths: {
-            requtils: "require-utils",
-            jquery: "empty:",
-            underscore: "empty:",
-            filesaver: "empty:",
-            'ckeditor-core': "empty:",
-            'ckeditor-jquery': "empty:"
-          }
-        }
-      }
-    },
-    jst: {
-        compile: {
+    // Project configuration.
+    grunt.initConfig({
+        pkg: grunt.file.readJSON('package.json'),
+        requirejs: {
+            renderer: {
+                options: {
+                    baseUrl: "js/",
+                    name: "main-renderer",
+                    out: "dist/js/paper-renderer.js",
+                    optimize: "none",
+                    beautify: true,
+                    paths: {
+                        requtils: "require-utils",
+                        jquery: "empty:",
+                        underscore: "empty:",
+                        filesaver: "empty:",
+                        'ckeditor-core': "empty:",
+                        'ckeditor-jquery': "empty:"
+                    }
+                }
+            }
+        },
+        jst: {
+            compile: {
+                options: {
+                    namespace: 'renkanJST',
+                    //amd: true
+                },
+                files: {
+                    "dist/js/templates.js": ["templates/**/*.html"]
+                }
+            }
+        },
+        uglify: {
+            options: {
+                banner: renkan_banner,
+                sourceMap: true,
+                sourceMapIncludeSources: true
+            },
+            renkan: {
+                files: {
+                    'dist/js/renkan.min.js': renkan_src
+                }
+            }
+        },
+        concat: {
+            options: {
+                banner: renkan_banner
+            },
+            renkan: {
+                files: {
+                    'dist/js/renkan.js': renkan_src
+                }
+            }
+        },
+        clean: {
+            options: {
+                force: true
+            },
+            renderer: ["dist/js/paper-renderer.js"],
+            jst: ["dist/js/templates.js"],
+            renkan: ["dist/"],
+            lib: ["lib/"],
+            bower: ["bower_components/"]
+        },
+        cssmin: {
             options: {
-                namespace: 'renkanJST',
-                //amd: true
+                banner: renkan_banner
+            },
+            renkan: {
+                expand: true,
+                cwd: 'css/',
+                src: ['*.css'],
+                dest: 'dist/css',
+                ext: '.min.css'
+            }
+        },
+        copy: {
+            vendors: {
+                files: [{
+                    expand: true,
+                    cwd: 'vendors/',
+                    src: ['**'],
+                    dest: 'lib/'
+                }],
+            },
+            renkan: {
+                files: [{
+                    expand: true,
+                    cwd: '',
+                    src: ['img/*'],
+                    dest: 'dist/',
+                    filter: 'isFile'
+                }, {
+                    expand: true,
+                    cwd: '',
+                    src: ['data/properties.json'],
+                    dest: 'dist/',
+                    filter: 'isFile'
+                }, {
+                    expand: true,
+                    cwd: '',
+                    src: ['lib/**'],
+                    dest: 'dist/'
+                }]
+            },
+            renkan_css: {
+                options: {
+                    process: function(content, srcpath) {
+                        return grunt.template.process(renkan_banner) + content;
+                    }
+                },
+                files: [{
+                    expand: true,
+                    cwd: '',
+                    src: ['css/*'],
+                    dest: 'dist/',
+                    filter: 'isFile'
+                }]
             },
-            files: {
-                "dist/js/templates.js": ["templates/**/*.html"]
+            renkan_server: {
+                files: [{
+                    expand: true,
+                    cwd: 'dist',
+                    src: ['**', '!data/*', '!lib/**'],
+                    dest: '../server/python/django/renkanmanager/static/renkanmanager/lib/renkan/',
+                    filter: 'isFile'
+                }, {
+                    expand: true,
+                    cwd: 'dist/lib',
+                    src: ['**'],
+                    dest: '../server/python/django/renkanmanager/static/renkanmanager/lib/',
+                    filter: 'isFile'
+                }, {
+                    expand: true,
+                    cwd: 'dist',
+                    src: ['**', '!data/*', '!lib/**'],
+                    dest: '../server/php/basic/public_html/static/lib/renkan/',
+                    filter: 'isFile'
+                }, {
+                    expand: true,
+                    cwd: 'dist/lib',
+                    src: ['**'],
+                    dest: '../server/php/basic/public_html/static/lib/',
+                    filter: 'isFile'
+                }]
+            }
+        },
+        jshint: {
+            options: {
+                curly: true,
+                eqeqeq: true,
+                eqnull: true,
+                browser: true,
+                globals: {
+                    jQuery: true
+                },
+            },
+            all: ['Gruntfile.js', 'js/**/*.js', 'data/simple-persist.js']
+        },
+        bower: {
+            install: {
+                options: {
+                    targetDir: './lib',
+                    layout: 'byComponent',
+                    install: true,
+                    verbose: false,
+                    cleanTargetDir: true,
+                    cleanBowerDir: false,
+                    bowerOptions: {}
+                }
+            }
+        },
+        watch: {
+            css: {
+                files: ['css/**/*.css'],
+                tasks: ['cssmin', 'copy:renkan_css'],
+            },
+            js: {
+                files: ['js/**/*.js', 'templates/**/*.html'],
+                tasks: ['jshint', 'requirejs', 'jst', 'concat', 'uglify', 'copy:renkan', 'clean:renderer'],
+            },
+            lib: {
+                files: ['bower.json'],
+                tasks: ['bower:install', 'copy:vendors', 'copy:renkan'],
+            },
+            vendors: {
+                files: ['vendors/**'],
+                tasks: ['copy:vendors', 'copy:renkan'],
+            },
+            options: {
+                interrupt: true,
+            },
+        },
+        connect: {
+            server: {
+                options: {
+                    port: 9001,
+                    base: '.',
+                    useAvailablePort: true,
+                    debug: true,
+                    middleware: function(connect, options, middlewares) {
+                        middlewares.push(simplePersist.middleware);
+                        return middlewares;
+                    }
+                },
+            }
+        },
+        umd: {
+            'ckeditor-core': {
+                options: {
+                    src: 'dist/lib/ckeditor/ckeditor.js',
+                    dest: 'dist/lib/ckeditor/ckeditor-umd.js',
+                    objectToExport: 'CKEDITOR',
+                    amdModuleId: 'ckeditor'
+                }
+            },
+            'ckeditor-jquery': {
+                options: {
+                    src: 'dist/lib/ckeditor/adapters/jquery.js',
+                    dest: 'dist/lib/ckeditor/adapters/jquery-umd.js',
+                    amdModuleId: 'ckeditor-jquery',
+                    deps: {
+                        'default': ['jquery', 'ckeditor'],
+                    }
+                }
             }
         }
-    },
-    uglify: {
-      options: {
-        banner: renkan_banner,
-        sourceMap: true,
-        sourceMapIncludeSources: true
-      },
-      renkan: {
-        files : {
-          'dist/js/renkan.min.js' : renkan_src
-        }
-      }
-    },
-    concat: {
-      options: {
-        banner: renkan_banner
-      },
-      renkan: {
-        files : {
-          'dist/js/renkan.js' : renkan_src
-        }
-      }
-    },
-    clean: {
-      options: {
-        force: true
-      },
-      renderer: ["dist/js/paper-renderer.js"],
-      jst:["dist/js/templates.js"],
-      renkan: ["dist/"],
-      lib: ["lib/"],
-      bower: ["bower_components/"]
-    },
-    cssmin: {
-      options: {
-        banner: renkan_banner
-      },
-      renkan: {
-        expand: true,
-        cwd: 'css/',
-        src: ['*.css'],
-        dest: 'dist/css',
-        ext: '.min.css'
-      }
-    },
-    copy: {
-      vendors: {
-          files: [{expand: true, cwd: 'vendors/', src: ['**'], dest: 'lib/'}],
-      },
-      renkan: {
-        files: [
-          {expand: true, cwd: '', src: ['img/*'], dest: 'dist/', filter: 'isFile'},
-          {expand: true, cwd: '', src: ['data/properties.json'], dest: 'dist/', filter: 'isFile'},
-          {expand: true, cwd: '', src: ['lib/**'], dest: 'dist/'}
-         ]
-       },
-       renkan_css: {
-         options: {
-           process: function (content, srcpath) {
-             return grunt.template.process(renkan_banner) + content;
-           }
-         },
-         files: [{expand: true, cwd: '', src: ['css/*'], dest: 'dist/', filter: 'isFile'}]
-       },
-       renkan_server: {
-         files: [
-           {expand: true, cwd: 'dist', src: ['**', '!data/*', '!lib/**'], dest: '../server/python/django/renkanmanager/static/renkanmanager/lib/renkan/', filter: 'isFile'},
-           {expand: true, cwd: 'dist/lib', src: ['**'], dest: '../server/python/django/renkanmanager/static/renkanmanager/lib/', filter: 'isFile'},
-           {expand: true, cwd: 'dist', src: ['**', '!data/*', '!lib/**'], dest: '../server/php/basic/public_html/static/lib/renkan/', filter: 'isFile'},
-           {expand: true, cwd: 'dist/lib', src: ['**'], dest: '../server/php/basic/public_html/static/lib/', filter: 'isFile'}
-         ]
-       }
-    },
-    jshint: {
-      options: {
-        curly: true,
-        eqeqeq: true,
-        eqnull: true,
-        browser: true,
-        globals: {
-          jQuery: true
-        },
-      },
-      all: ['Gruntfile.js', 'js/**/*.js', 'data/simple-persist.js']
-    },
-    bower: {
-        install: {
-            options: {
-                targetDir: './lib',
-                layout: 'byComponent',
-                install: true,
-                verbose: false,
-                cleanTargetDir: true,
-                cleanBowerDir: false,
-                bowerOptions: {}
-            }
-        }
-    },
-    watch: {
-        css:{
-            files: ['css/**/*.css'],
-            tasks: ['cssmin', 'copy:renkan_css'],
-        },
-        js:{
-            files: ['js/**/*.js', 'templates/**/*.html'],
-            tasks: ['jshint', 'requirejs', 'jst', 'concat', 'uglify', 'copy:renkan', 'clean:renderer'],
-        },
-        lib:{
-            files: ['bower.json'],
-            tasks: ['bower:install', 'copy:vendors', 'copy:renkan'],
-        },
-        vendors: {
-            files: ['vendors/**'],
-            tasks: ['copy:vendors', 'copy:renkan'],
-        },
-        options: {
-            interrupt: true,
-        },
-    },
-    connect: {
-        server: {
-          options: {
-            port: 9001,
-            base: '.',
-            useAvailablePort: true,
-            debug: true,
-            middleware: function(connect, options, middlewares) {
-              middlewares.push(simplePersist.middleware);
-              return middlewares;
-            }
-          },
-        }
-    }
-  });
+    });
+
+    // Load the plugins.
+    grunt.loadNpmTasks('grunt-contrib-requirejs');
+    grunt.loadNpmTasks('grunt-contrib-uglify');
+    grunt.loadNpmTasks('grunt-contrib-concat');
+    grunt.loadNpmTasks('grunt-contrib-clean');
+    grunt.loadNpmTasks('grunt-contrib-cssmin');
+    grunt.loadNpmTasks('grunt-contrib-copy');
+    grunt.loadNpmTasks('grunt-contrib-jshint');
+    grunt.loadNpmTasks('grunt-contrib-connect');
+    grunt.loadNpmTasks('grunt-bower-task');
+    grunt.loadNpmTasks('grunt-contrib-jst');
+    grunt.loadNpmTasks('grunt-contrib-watch');
+    grunt.loadNpmTasks('grunt-umd');
 
-  // Load the plugin that provides the "uglify" task.
-  grunt.loadNpmTasks('grunt-contrib-requirejs');
-  grunt.loadNpmTasks('grunt-contrib-uglify');
-  grunt.loadNpmTasks('grunt-contrib-concat');
-  grunt.loadNpmTasks('grunt-contrib-clean');
-  grunt.loadNpmTasks('grunt-contrib-cssmin');
-  grunt.loadNpmTasks('grunt-contrib-copy');
-  grunt.loadNpmTasks('grunt-contrib-jshint');
-  grunt.loadNpmTasks('grunt-contrib-connect');
-  grunt.loadNpmTasks('grunt-bower-task');
-  grunt.loadNpmTasks('grunt-contrib-jst');
-  grunt.loadNpmTasks('grunt-contrib-watch');
-
-  // Default task(s).
-  grunt.registerTask('base', ['jshint', 'bower:install', 'copy:vendors', 'clean:renkan', 'requirejs', 'jst', 'concat', 'uglify', 'cssmin', 'copy:renkan', 'copy:renkan_css', 'clean:renderer']);
-  grunt.registerTask('default', ['base', 'clean:jst']);
-  grunt.registerTask('copy-server', 'copy files to server part', function(){
-      grunt.task.run(['copy:renkan_server']);
-  });
-  grunt.registerTask('dev', [ 'base', 'connect:server', 'watch']);
+    // Default task(s).
+    grunt.registerTask('base', [
+        'jshint',
+        'bower:install',
+        'copy:vendors',
+        'clean:renkan',
+        'requirejs',
+        'jst',
+        'concat',
+        'uglify',
+        'cssmin',
+        'copy:renkan',
+        'copy:renkan_css',
+        'clean:renderer',
+        'umd:ckeditor-core',
+        'umd:ckeditor-jquery'
+    ]);
+    grunt.registerTask('default', ['base', 'clean:jst']);
+    grunt.registerTask('copy-server', 'copy files to server part', function() {
+        grunt.task.run(['copy:renkan_server']);
+    });
+    grunt.registerTask('dev', ['base', 'connect:server', 'watch']);
 
 
 };