@@ -3,8 +3,11 @@ module.exports = function(grunt) {
3
3
env : {
4
4
build : {
5
5
NODE_ENV : 'production' ,
6
- DEST : 'dist' ,
7
-
6
+ DEST : 'dist'
7
+ } ,
8
+ dev : {
9
+ NODE_ENV : 'development' ,
10
+ DEST : 'tmp'
8
11
}
9
12
} ,
10
13
uglify : {
@@ -108,141 +111,138 @@ module.exports = function(grunt) {
108
111
files : {
109
112
'res/js/vendor/nodejs/bundle.prod.min.js' : [ 'res/js/vendor/nodejs/bundle.prod.js' ]
110
113
}
111
- } ,
114
+ }
112
115
} ,
113
- babel : {
114
- dist : {
115
- files : [
116
- {
117
- mode : { loose : true } ,
118
- expand : true ,
119
- cwd : 'res/js/es6/' ,
120
- src : [ '**/*.es6' ] ,
121
- dest : 'res/js/core/' ,
122
- ext : '.js'
123
- }
124
- ]
125
- }
116
+ babel : {
117
+ options : {
118
+ loose : 'all'
126
119
} ,
127
-
128
- browserify : {
129
- //NODE_ENV: 'production',
130
- options : {
131
- loose : 'all'
132
- } ,
133
- dist : {
134
- files : {
135
- 'res/js/vendor/nodejs/bundle.prod.js' : 'res/js/vendor/nodejs/export .js'
120
+ dist : {
121
+ files : [
122
+ {
123
+ mode : { loose : true } ,
124
+ expand : true ,
125
+ cwd : 'res/js/es6/' ,
126
+ src : [ '**/*.es6' ] ,
127
+ dest : 'res/js/core/' ,
128
+ ext : '.js'
136
129
}
130
+ ]
131
+ }
132
+ } ,
133
+ browserify : {
134
+ dist : {
135
+ files : {
136
+ 'res/js/vendor/nodejs/bundle.prod.js' : 'res/js/vendor/nodejs/export.js'
137
137
}
138
-
139
- } ,
140
-
141
- watch : {
142
- js : {
143
- files : [
144
- 'res/js/vendor/modernizr/modernizr.min.js' ,
145
- 'res/js/core/lang/Observable.js' ,
146
- 'res/js/core/lang/Logger.js' ,
147
- 'res/js/core/util/LangUtils.js' ,
148
- 'res/js/core/util/XMLUtils.js' ,
149
- 'res/js/core/util/PathUtils.js' ,
150
- 'res/js/core/util/HasherUtils.js' ,
151
- 'res/js/core/model/Router.js' ,
152
- 'res/js/core/model/AjxpNode.js' ,
153
- 'res/js/ui/prototype/util/ajxp_utils.js' ,
154
- 'res/js/ui/prototype/interfaces/class.IAjxpNodeProvider.js' ,
155
- 'res/js/ui/prototype/interfaces/class.IAjxpWidget.js' ,
156
- 'res/js/ui/prototype/interfaces/class.IActionProvider.js' ,
157
- 'res/js/ui/prototype/interfaces/class.IFocusable.js' ,
158
- 'res/js/ui/prototype/interfaces/class.IContextMenuable.js' ,
159
- 'res/js/ui/prototype/class.AjxpPane.js' ,
160
- 'res/js/vendor/prototype/webfx.selectable.js' ,
161
- 'res/js/vendor/prototype/webfx.sortable.js' ,
162
- 'res/js/vendor/prototype/proto.menu.js' ,
163
- 'res/js/vendor/prototype/splitter.js' ,
164
- 'res/js/vendor/prototype/cookiejar.js' ,
165
- 'res/js/vendor/prototype/protopass.js' ,
166
- 'res/js/vendor/prototype/resizable.js' ,
167
- 'res/js/vendor/prototype/es6compat.js' ,
168
- 'res/js/vendor/leightbox/lightbox.js' ,
169
- 'res/js/vendor/scriptaculous/src/builder.js' ,
170
- 'res/js/vendor/scriptaculous/src/effects.js' ,
171
- 'res/js/vendor/scriptaculous/src/dragdrop.js' ,
172
- 'res/js/vendor/scriptaculous/src/controls.js' ,
173
- 'res/js/vendor/scriptaculous/src/slider.js' ,
174
- 'res/js/vendor/prototype/cssfx.js' ,
175
- 'res/js/vendor/prototype/proto.scroller.js' ,
176
- 'res/js/vendor/prototype/carousel.js' ,
177
- 'res/js/vendor/prototype/accordion.js' ,
178
- 'res/js/vendor/webfx/xtree.js' ,
179
- 'res/js/vendor/webfx/ajxptree.js' ,
180
- 'res/js/vendor/chosen/event.simulate.js' ,
181
- 'res/js/vendor/chosen/chosen.proto.js' ,
182
- 'res/js/core/model/User.js' ,
183
- 'res/js/core/http/ResourcesManager.js' ,
184
- 'res/js/core/model/RemoteNodeProvider.js' ,
185
- 'res/js/core/model/EmptyNodeProvider.js' ,
186
- 'res/js/core/model/Repository.js' ,
187
- 'res/js/core/model/BackgroundTasksManager.js' ,
188
- 'res/js/core/http/PydioApi.js' ,
189
- 'res/js/core/model/Action.js' ,
190
- 'res/js/core/model/Controller.js' ,
191
- 'res/js/core/model/PydioDataModel.js' ,
192
- 'res/js/core/model/Registry.js' ,
193
- 'res/js/ui/prototype/class.AjxpDraggable.js' ,
194
- 'res/js/ui/prototype/class.AjxpSortable.js' ,
195
- 'res/js/ui/prototype/class.AjxpTabulator.js' ,
196
- 'res/js/ui/prototype/class.VisibilityToggler.js' ,
197
- 'res/js/ui/prototype/class.AjxpSimpleTabs.js' ,
198
- 'res/js/ui/prototype/class.RepositorySelect.js' ,
199
- 'res/js/ui/prototype/class.RepositorySimpleLabel.js' ,
200
- 'res/js/ui/prototype/class.Breadcrumb.js' ,
201
- 'res/js/ui/prototype/class.LocationBar.js' ,
202
- 'res/js/ui/prototype/class.UserWidget.js' ,
203
- 'res/js/ui/prototype/class.LogoWidget.js' ,
204
- 'res/js/ui/prototype/class.AjxpAutoCompleter.js' ,
205
- 'res/js/ui/prototype/class.AjxpUsersCompleter.js' ,
206
- 'res/js/ui/prototype/class.TreeSelector.js' ,
207
- 'res/js/ui/prototype/class.SliderInput.js' ,
208
- 'res/js/ui/prototype/class.ActionsToolbar.js' ,
209
- 'res/js/ui/prototype/class.BackgroundManagerPane.js' ,
210
- 'res/js/ui/prototype/class.HeaderResizer.js' ,
211
- 'res/js/ui/prototype/class.PreviewFactory.js' ,
212
- 'res/js/ui/prototype/class.FilesList.js' ,
213
- 'res/js/ui/prototype/class.FoldersTree.js' ,
214
- 'res/js/ui/prototype/class.SearchEngine.js' ,
215
- 'res/js/ui/prototype/class.FetchedResultPane.js' ,
216
- 'res/js/ui/prototype/class.InfoPanel.js' ,
217
- 'res/js/ui/prototype/class.PropertyPanel.js' ,
218
- 'res/js/ui/prototype/class.AbstractEditor.js' ,
219
- 'res/js/ui/prototype/class.Modal.js' ,
220
- 'res/js/ui/prototype/class.BookmarksBar.js' ,
221
- 'res/js/ui/prototype/class.FormManager.js' ,
222
- 'res/js/ui/prototype/class.DataModelProperty.js' ,
223
- 'res/js/ui/prototype/class.MultiDownloader.js' ,
224
- 'res/js/ui/prototype/class.ActivityMonitor.js' ,
225
- 'res/js/ui/prototype/class.AjxpReactComponent.js' ,
226
- 'res/js/ui/prototype/class.PydioUI.js' ,
227
- 'res/js/core/Pydio.js'
228
- ] ,
229
- tasks : [ 'uglify' ] ,
230
- options : {
231
- spawn : false
232
- }
138
+ }
139
+ } ,
140
+ watch : {
141
+ js : {
142
+ files : [
143
+ 'res/js/vendor/modernizr/modernizr.min.js' ,
144
+ 'res/js/core/lang/Observable.js' ,
145
+ 'res/js/core/lang/Logger.js' ,
146
+ 'res/js/core/util/LangUtils.js' ,
147
+ 'res/js/core/util/XMLUtils.js' ,
148
+ 'res/js/core/util/PathUtils.js' ,
149
+ 'res/js/core/util/HasherUtils.js' ,
150
+ 'res/js/core/model/Router.js' ,
151
+ 'res/js/core/model/AjxpNode.js' ,
152
+ 'res/js/ui/prototype/util/ajxp_utils.js' ,
153
+ 'res/js/ui/prototype/interfaces/class.IAjxpNodeProvider.js' ,
154
+ 'res/js/ui/prototype/interfaces/class.IAjxpWidget.js' ,
155
+ 'res/js/ui/prototype/interfaces/class.IActionProvider.js' ,
156
+ 'res/js/ui/prototype/interfaces/class.IFocusable.js' ,
157
+ 'res/js/ui/prototype/interfaces/class.IContextMenuable.js' ,
158
+ 'res/js/ui/prototype/class.AjxpPane.js' ,
159
+ 'res/js/vendor/prototype/webfx.selectable.js' ,
160
+ 'res/js/vendor/prototype/webfx.sortable.js' ,
161
+ 'res/js/vendor/prototype/proto.menu.js' ,
162
+ 'res/js/vendor/prototype/splitter.js' ,
163
+ 'res/js/vendor/prototype/cookiejar.js' ,
164
+ 'res/js/vendor/prototype/protopass.js' ,
165
+ 'res/js/vendor/prototype/resizable.js' ,
166
+ 'res/js/vendor/prototype/es6compat.js' ,
167
+ 'res/js/vendor/leightbox/lightbox.js' ,
168
+ 'res/js/vendor/scriptaculous/src/builder.js' ,
169
+ 'res/js/vendor/scriptaculous/src/effects.js' ,
170
+ 'res/js/vendor/scriptaculous/src/dragdrop.js' ,
171
+ 'res/js/vendor/scriptaculous/src/controls.js' ,
172
+ 'res/js/vendor/scriptaculous/src/slider.js' ,
173
+ 'res/js/vendor/prototype/cssfx.js' ,
174
+ 'res/js/vendor/prototype/proto.scroller.js' ,
175
+ 'res/js/vendor/prototype/carousel.js' ,
176
+ 'res/js/vendor/prototype/accordion.js' ,
177
+ 'res/js/vendor/webfx/xtree.js' ,
178
+ 'res/js/vendor/webfx/ajxptree.js' ,
179
+ 'res/js/vendor/chosen/event.simulate.js' ,
180
+ 'res/js/vendor/chosen/chosen.proto.js' ,
181
+ 'res/js/core/model/User.js' ,
182
+ 'res/js/core/http/ResourcesManager.js' ,
183
+ 'res/js/core/model/RemoteNodeProvider.js' ,
184
+ 'res/js/core/model/EmptyNodeProvider.js' ,
185
+ 'res/js/core/model/Repository.js' ,
186
+ 'res/js/core/model/BackgroundTasksManager.js' ,
187
+ 'res/js/core/http/PydioApi.js' ,
188
+ 'res/js/core/model/Action.js' ,
189
+ 'res/js/core/model/Controller.js' ,
190
+ 'res/js/core/model/PydioDataModel.js' ,
191
+ 'res/js/core/model/Registry.js' ,
192
+ 'res/js/ui/prototype/class.AjxpDraggable.js' ,
193
+ 'res/js/ui/prototype/class.AjxpSortable.js' ,
194
+ 'res/js/ui/prototype/class.AjxpTabulator.js' ,
195
+ 'res/js/ui/prototype/class.VisibilityToggler.js' ,
196
+ 'res/js/ui/prototype/class.AjxpSimpleTabs.js' ,
197
+ 'res/js/ui/prototype/class.RepositorySelect.js' ,
198
+ 'res/js/ui/prototype/class.RepositorySimpleLabel.js' ,
199
+ 'res/js/ui/prototype/class.Breadcrumb.js' ,
200
+ 'res/js/ui/prototype/class.LocationBar.js' ,
201
+ 'res/js/ui/prototype/class.UserWidget.js' ,
202
+ 'res/js/ui/prototype/class.LogoWidget.js' ,
203
+ 'res/js/ui/prototype/class.AjxpAutoCompleter.js' ,
204
+ 'res/js/ui/prototype/class.AjxpUsersCompleter.js' ,
205
+ 'res/js/ui/prototype/class.TreeSelector.js' ,
206
+ 'res/js/ui/prototype/class.SliderInput.js' ,
207
+ 'res/js/ui/prototype/class.ActionsToolbar.js' ,
208
+ 'res/js/ui/prototype/class.BackgroundManagerPane.js' ,
209
+ 'res/js/ui/prototype/class.HeaderResizer.js' ,
210
+ 'res/js/ui/prototype/class.PreviewFactory.js' ,
211
+ 'res/js/ui/prototype/class.FilesList.js' ,
212
+ 'res/js/ui/prototype/class.FoldersTree.js' ,
213
+ 'res/js/ui/prototype/class.SearchEngine.js' ,
214
+ 'res/js/ui/prototype/class.FetchedResultPane.js' ,
215
+ 'res/js/ui/prototype/class.InfoPanel.js' ,
216
+ 'res/js/ui/prototype/class.PropertyPanel.js' ,
217
+ 'res/js/ui/prototype/class.AbstractEditor.js' ,
218
+ 'res/js/ui/prototype/class.Modal.js' ,
219
+ 'res/js/ui/prototype/class.BookmarksBar.js' ,
220
+ 'res/js/ui/prototype/class.FormManager.js' ,
221
+ 'res/js/ui/prototype/class.DataModelProperty.js' ,
222
+ 'res/js/ui/prototype/class.MultiDownloader.js' ,
223
+ 'res/js/ui/prototype/class.ActivityMonitor.js' ,
224
+ 'res/js/ui/prototype/class.AjxpReactComponent.js' ,
225
+ 'res/js/ui/prototype/class.PydioUI.js' ,
226
+ 'res/js/core/Pydio.js'
227
+ ] ,
228
+ tasks : [ 'uglify' ] ,
229
+ options : {
230
+ spawn : false
233
231
}
234
232
}
233
+ }
235
234
} ) ;
236
235
grunt . loadNpmTasks ( 'grunt-env' ) ;
237
236
grunt . loadNpmTasks ( 'grunt-browserify' ) ;
238
237
grunt . loadNpmTasks ( 'grunt-babel' ) ;
239
238
grunt . loadNpmTasks ( 'grunt-contrib-uglify' ) ;
240
239
grunt . loadNpmTasks ( 'grunt-contrib-watch' ) ;
241
240
grunt . registerTask ( 'default' , [
242
- 'env:build' ,
243
241
'babel' ,
244
242
'uglify:js' ,
243
+ 'env:build' ,
245
244
'browserify' ,
245
+ 'env:dev' ,
246
246
'uglify:nodejs'
247
247
] ) ;
248
248
} ;
0 commit comments