| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- module.exports = function(config,grunt) {
- var _c = {
- build: {
- options: {
- appDir: '<%= tempDir %>',
- dir: '<%= destDir %>',
- mainConfigFile: '<%= tempDir %>/app/components/require.config.js',
- modules: [], // populated below
- optimize: 'none',
- optimizeCss: 'none',
- optimizeAllPluginResources: false,
- paths: { config: '../config.sample' }, // fix, fallbacks need to be specified
- removeCombined: true,
- findNestedDependencies: true,
- normalizeDirDefines: 'all',
- inlineText: true,
- skipPragmas: true,
- done: function (done, output) {
- var duplicates = require('rjs-build-analysis').duplicates(output);
- if (duplicates.length > 0) {
- grunt.log.subhead('Duplicates found in requirejs build:');
- grunt.log.warn(duplicates);
- done(new Error('r.js built duplicate modules, please check the excludes option.'));
- }
- done();
- }
- }
- }
- };
- // setup the modules require will build
- var requireModules = _c.build.options.modules = [
- {
- // main/common module
- name: 'app',
- include: [
- 'css',
- 'kbn',
- 'text',
- 'jquery',
- 'angular',
- 'settings',
- 'bootstrap',
- 'modernizr',
- 'timepicker',
- 'datepicker',
- 'underscore',
- 'filters/all',
- 'jquery.flot',
- 'services/all',
- 'angular-strap',
- 'directives/all',
- 'jquery.flot.pie',
- 'angular-dragdrop',
- ]
- }
- ];
- var fs = require('fs');
- var panelPath = config.srcDir+'/app/panels'
- // create a module for each directory in src/app/panels/
- fs.readdirSync(panelPath).forEach(function (panelName) {
- requireModules[0].include.push('panels/'+panelName+'/module');
- requireModules[0].include.push('text!panels/'+panelName+'/module.html');
- });
- // exclude the literal config definition from all modules
- requireModules
- .forEach(function (module) {
- module.excludeShallow = module.excludeShallow || [];
- module.excludeShallow.push('config');
- });
- return _c;
- };
|