-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathrequirejs.js
105 lines (98 loc) · 5.16 KB
/
requirejs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
var BASE_URL = './';
var EXPLORER_URL = 'openbudgets/apps/entities/static/entities/explorer/';
var VENDOR_URL = 'openbudgets/commons/static/vendor/';
module.exports = function (grunt) {
return {
explorerjs : {
options: {
baseUrl: BASE_URL,
paths : {
jquery : VENDOR_URL + 'jquery/dist/jquery',
jqscroll : VENDOR_URL + 'jqScroll/jqscroll',
'jquery.mousewheel' : VENDOR_URL + 'jquery-mousewheel/jquery.mousewheel',
backbone : VENDOR_URL + 'backbone/backbone',
'backbone-fetch-cache': VENDOR_URL + 'backbone-fetch-cache/backbone.fetch-cache',
d3 : EXPLORER_URL + 'd3',
underscore : VENDOR_URL + 'underscore/dist/lodash.underscore',
mustache : VENDOR_URL + 'mustache/mustache',
rsvp : VENDOR_URL + 'rsvp/rsvp.amd',
velocity : VENDOR_URL + 'velocity/jquery.velocity',
spin : VENDOR_URL + 'spin/spin',
setImmediate : VENDOR_URL + 'setImmediate/setImmediate',
eventbox : VENDOR_URL + 'eventbox/eventbox',
uijet_dir : VENDOR_URL + 'uijet/src',
widgets : VENDOR_URL + 'uijet/src/widgets',
composites : VENDOR_URL + 'uijet/src/composites',
modules : VENDOR_URL + 'uijet/src/modules',
explorer : EXPLORER_URL + 'explorer',
ui : EXPLORER_URL + 'ui',
resources : EXPLORER_URL + 'resources',
controllers : EXPLORER_URL + 'controllers',
project_modules : EXPLORER_URL + 'modules',
project_widgets : EXPLORER_URL + 'widgets',
project_mixins : EXPLORER_URL + 'mixins',
dictionary : EXPLORER_URL + 'dictionary',
api : VENDOR_URL + '../src/api',
i18n : VENDOR_URL + '../src/i18n',
site_base : VENDOR_URL + '../js/base'
},
shim : {
eventbox : ['setImmediate'],
'backbone-fetch-cache': 'modules/data/backbone',
backbone : {
deps : ['underscore', 'jquery'],
exports: 'Backbone'
}
},
out : BASE_URL + EXPLORER_URL + 'dist.js',
name : BASE_URL + VENDOR_URL + 'almond/almond.js',
wrap : true,
include: [
BASE_URL + EXPLORER_URL + 'main'
],
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.'));
}
else {
var bundles = require('rjs-build-hasher')(output, {
buildPath: '/',
hashSize : 16
});
// save info about built files to configuration
grunt.file.write(BASE_URL + EXPLORER_URL + 'build.json', JSON.stringify(bundles, null, 2));
}
done();
}
}
},
explorercss: {
options: {
baseUrl : BASE_URL,
optimizeCss: 'standard',
cssIn : BASE_URL + EXPLORER_URL + 'styles/main.css',
out : BASE_URL + EXPLORER_URL + 'styles/dist.css',
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.'));
}
else {
var bundles = require('rjs-build-hasher')(output, {
buildPath: '/',
hashSize : 16
});
// save info about built files to configuration
grunt.file.write(BASE_URL + EXPLORER_URL + 'build-css.json', JSON.stringify(bundles, null, 2));
}
done();
}
}
}
}
};