diff --git a/Gruntfile.js b/Gruntfile.js index 6f677210fbe8d388ff337ff78384533dd1bca9dd..0ed8cb32362418ea8ccadb60e202baf3767f9de7 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -52,13 +52,13 @@ module.exports = function (grunt) { less: { all: { options: { - paths: [lessDir], - plugins: [ - autoprefixPlugin, + paths: [lessDir], + plugins: [ + autoprefixPlugin, cleanCssPlugin - ] - }, - files: lessFiles + ] + }, + files: lessFiles } }, uglify: { @@ -69,20 +69,49 @@ module.exports = function (grunt) { files: builtJsFiles } }, + requirejs: { + all: { + options: { + appDir: 'www/js/embed-src/', + baseUrl: './', + dir: 'www/js/embed/', + optimize: 'uglify2', + logLevel: 2, + preserveLicenseComments: false, + generateSourceMaps: true, + paths: { + 'requireLib': 'require' + }, + map: { + "*": { + css: 'require-css/css' + } + }, + modules: [ + { + name: 'all', + create: true, + include: ['requireLib', 'require-css/css', 'main', 'jquery', 'analytics'], + exclude: ['require-css/normalize'] + } + ] + } + } + }, clean: { css: Object.keys(lessFiles).concat(lessVendorDir), js: Object.keys(builtJsFiles).concat(jsDir + '/**/*.map') }, watch: { less: { - files: lessDir + '/**/*.less', - tasks: ['less'] - } + files: lessDir + '/**/*.less', + tasks: ['less'] + } } }); // establish grunt default - var defaultTasks = ['less', 'uglify']; + var defaultTasks = ['less', 'uglify', 'requirejs']; var localTasks = defaultTasks.slice(); if (!allMixinsExist) { defaultTasks.unshift('curl-dir'); diff --git a/package.json b/package.json index bad93c9f401f31f1a44fc37e739b8e33b806eb7a..5bf0e0c9f164e043998f449e22be5f6e152fd8ac 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "grunt": "^0.4.5", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-less": "^1.0.1", + "grunt-contrib-requirejs": "^0.4.4", "grunt-contrib-uglify": "^0.9.2", "grunt-contrib-watch": "^0.6.1", "grunt-curl": "^2.2.0", diff --git a/www/js/.gitignore b/www/js/.gitignore index 813ad52b0ab9c39b5f25d1fa230c9314b3580d4b..b358685fc6476c39497b7b5ef85a63616c28ad5f 100644 --- a/www/js/.gitignore +++ b/www/js/.gitignore @@ -1,2 +1,3 @@ /*.map /search.min.js +/embed