Initial refactor for the topology renderer
[dlux.git] / dlux-web / build.config.js
1 /**\r
2  * This file/module contains all configuration for the build process.\r
3  */\r
4 module.exports = {\r
5   /**\r
6    * The `build_dir` folder is where our projects are compiled during\r
7    * development and the `compile_dir` folder is where our app resides once it's\r
8    * completely built.\r
9    */\r
10   build_dir: 'build',\r
11   compile_dir: 'target/generated-resources/pages',\r
12   \r
13   /**\r
14    * This is a collection of file patterns that refer to our app code (the\r
15    * stuff in `src/`). These file paths are used in the configuration of\r
16    * build tasks. `js` is all project javascript, less tests. `ctpl` contains\r
17    * our reusable components' (`src/common`) template HTML files, while\r
18    * `atpl` contains the same, but for our app's code. `html` is just our\r
19    * main HTML file, `less` is our main stylesheet, and `unit` contains our\r
20    * app's unit tests.\r
21    */\r
22   app_files: {\r
23     js: [ 'src/**/*.js', '!src/main/**/*.js', '!src/**/*.spec.js', '!src/assets/**/*.js'  ],\r
24     jsunit: [ 'src/**/*.spec.js' ],\r
25     js_common: [ 'src/common/**/*.js', '!src/common/**/*.spec.js', '!src/common/assets/**/*.js'  ],\r
26     js_app: [ 'src/app/**/*.js', '!src/app/**/*.spec.js', '!src/app/assets/**/*.js'  ],\r
27 \r
28     atpl: [ 'src/app/**/*.tpl.html' ],\r
29     ctpl: [ 'src/common/**/*.tpl.html' ],\r
30 \r
31     html: [ 'src/index.html'],\r
32     less: 'src/less/main.less',\r
33     graph_path: 'src/app/graph',\r
34     graph_entry_point: 'index.js',\r
35     templates: ['src/**/*.tpl.html']\r
36   },\r
37 \r
38   /**\r
39    * This is a collection of files used during testing only.\r
40    */\r
41 \r
42 \r
43   /**\r
44    * This is the same as `app_files`, except it contains patterns that\r
45    * reference vendor code (`vendor/`) that we need to place into the build\r
46    * process somewhere. While the `app_files` property ensures all\r
47    * standardized files are collected for compilation, it is the user's job\r
48    * to ensure non-standardized (i.e. vendor-related) files are handled\r
49    * appropriately in `vendor_files.js`.\r
50    *\r
51    * The `vendor_files.js` property holds files to be automatically\r
52    * concatenated and minified with our project source files.\r
53    *\r
54    * The `vendor_files.css` property holds any CSS files to be automatically\r
55    * included in our app.\r
56    *\r
57    * The `vendor_files.assets` property holds any assets to be copied along\r
58    * with our app's assets. This structure is flattened, so it is not\r
59    * recommended that you use wildcards.\r
60    */\r
61   vendor_files: {\r
62     js: [\r
63       'vendor/vis/dist/vis.min.js',\r
64       'vendor/jquery/jquery.min.js',\r
65       'vendor/jquery/jquery.min.map',\r
66       'vendor/jquery-ui/jquery-ui.min.js',\r
67       'vendor/bootstrap/js/dropdown.js',\r
68       'vendor/angular/angular.js',\r
69       'vendor/requirejs/requirejs.js',\r
70       'vendor/angularAMD/angularAMD.js',\r
71       'vendor/angularAMD/ngload.js',\r
72       'vendor/requirejs-domready/domReady.js',\r
73       'vendor/ocLazyLoad/dist/ocLazyLoad.js',\r
74       'vendor/angular-css-injector/angular-css-injector.js',\r
75       'vendor/angular-route/angular-route.js',\r
76       'vendor/angular-bootstrap/ui-bootstrap-tpls.min.js',\r
77       'vendor/placeholders/angular-placeholders-0.0.1-SNAPSHOT.min.js',\r
78       'vendor/angular-ui-router/release/angular-ui-router.js',\r
79       'vendor/angular-ui-utils/modules/route/route.js',\r
80       'vendor/angular-cookies/angular-cookies.min.js',\r
81       'vendor/angular-mocks/angular-mocks.js',\r
82       'vendor/requirejs/require.js',\r
83       'vendor/angular-ui-select2/index.js',\r
84       'vendor/ng-grid/build/ng-grid.min.js',\r
85       'vendor/restangular/dist/restangular.min.js',\r
86       'vendor/underscore/underscore.js',\r
87       'vendor/underscore.string/dist/underscore.string.min.js',\r
88       'vendor/d3/d3.min.js',\r
89       'vendor/select2/select2.js',\r
90       'vendor/footable/dist/footable.min.js',\r
91       'vendor/footable/dist/footable.paginate.min.js',\r
92       'vendor/footable/dist/footable.sort.min.js',\r
93       'vendor/angular-translate/angular-translate.min.js',\r
94       'vendor/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js',\r
95       'vendor/sigma/sigma.min.js',\r
96       'vendor/sigma/plugins/sigma.parsers.gexf.min.js',\r
97       'vendor/sigma/plugins/sigma.layout.forceAtlas2.min.js',\r
98       'vendor/sigma/plugins/sigma.plugins.dragNodes.min.js',\r
99       'vendor/sigma/plugins/sigma.renderers.customShapes.min.js',\r
100       'vendor/pixi/bin/pixi.js'\r
101     ],\r
102     css: [\r
103     'vendor/ng-grid/ng-grid.min.css',\r
104     'vendor/select2/select2.css',\r
105     'vendor/select2-bootstrap-css/select2-bootstrap.css',\r
106     'vendor/footable/css/footable.core.min.css',\r
107     'vendor/footable/css/footable.standalone.min.css',\r
108     'vendor/vis/dist/vis.min.css'\r
109 \r
110     ],\r
111     images: [\r
112     'vendor/select2/select2.png',\r
113     'vendor/select2/select2-spinner.gif',\r
114     'vendor/select2/select2x2.png'\r
115     ],\r
116     assets: [\r
117     \r
118     ],\r
119     font: [\r
120       'vendor/font-awesome/font/*',\r
121       'vendor/footable/css/fonts/*'\r
122     ]\r
123   }\r
124 };\r