--- 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']);
};