Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 7fc29c5

Browse files
committed
Updating Gruntfile.js
1 parent 86d534b commit 7fc29c5

File tree

1 file changed

+143
-125
lines changed

1 file changed

+143
-125
lines changed
Lines changed: 143 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
module.exports = function(grunt) {
22
grunt.initConfig({
3+
env: {
4+
build: {
5+
NODE_ENV: 'production',
6+
DEST: 'dist',
7+
8+
}
9+
},
310
uglify: {
4-
options:{
5-
mangle: false,
6-
compress: {
7-
hoist_funs: false
11+
options: {
12+
mangle: false,
13+
compress: {
14+
hoist_funs: false
815
}
916
},
1017
js: {
@@ -94,138 +101,149 @@ module.exports = function(grunt) {
94101
'res/js/ui/prototype/class.AjxpReactComponent.js',
95102
'res/js/ui/prototype/class.PydioUI.js',
96103
'res/js/core/Pydio.js'
97-
]
104+
]
98105
}
99-
}
106+
},
107+
nodejs: {
108+
files: {
109+
'res/js/vendor/nodejs/bundle.prod.min.js': ['res/js/vendor/nodejs/bundle.prod.js']
110+
}
111+
},
100112
},
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+
}
126+
},
101127

102-
babel: {
103-
options: {
104-
},
105-
106-
dist: {
107-
files: [
108-
{
109-
mode: { loose : true },
110-
expand: true,
111-
cwd: 'res/js/es6/',
112-
src: ['**/*.es6'],
113-
dest: 'res/js/core/',
114-
ext: '.js'
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'
115136
}
116-
]
117-
}
118-
},
119-
120-
browserify: {
121-
dist: {
122-
files: {
123-
'res/js/vendor/nodejs/bundle.js': 'res/js/vendor/nodejs/export.js'
124-
}
125-
}
137+
}
126138

127-
},
139+
},
128140

129-
watch: {
130-
js: {
131-
files: [
132-
'res/js/vendor/modernizr/modernizr.min.js',
133-
'res/js/core/lang/Observable.js',
134-
'res/js/core/lang/Logger.js',
135-
'res/js/core/util/LangUtils.js',
136-
'res/js/core/util/XMLUtils.js',
137-
'res/js/core/util/PathUtils.js',
138-
'res/js/core/util/HasherUtils.js',
139-
'res/js/core/model/Router.js',
140-
'res/js/core/model/AjxpNode.js',
141-
'res/js/ui/prototype/util/ajxp_utils.js',
142-
'res/js/ui/prototype/interfaces/class.IAjxpNodeProvider.js',
143-
'res/js/ui/prototype/interfaces/class.IAjxpWidget.js',
144-
'res/js/ui/prototype/interfaces/class.IActionProvider.js',
145-
'res/js/ui/prototype/interfaces/class.IFocusable.js',
146-
'res/js/ui/prototype/interfaces/class.IContextMenuable.js',
147-
'res/js/ui/prototype/class.AjxpPane.js',
148-
'res/js/vendor/prototype/webfx.selectable.js',
149-
'res/js/vendor/prototype/webfx.sortable.js',
150-
'res/js/vendor/prototype/proto.menu.js',
151-
'res/js/vendor/prototype/splitter.js',
152-
'res/js/vendor/prototype/cookiejar.js',
153-
'res/js/vendor/prototype/protopass.js',
154-
'res/js/vendor/prototype/resizable.js',
155-
'res/js/vendor/prototype/es6compat.js',
156-
'res/js/vendor/leightbox/lightbox.js',
157-
'res/js/vendor/scriptaculous/src/builder.js',
158-
'res/js/vendor/scriptaculous/src/effects.js',
159-
'res/js/vendor/scriptaculous/src/dragdrop.js',
160-
'res/js/vendor/scriptaculous/src/controls.js',
161-
'res/js/vendor/scriptaculous/src/slider.js',
162-
'res/js/vendor/prototype/cssfx.js',
163-
'res/js/vendor/prototype/proto.scroller.js',
164-
'res/js/vendor/prototype/carousel.js',
165-
'res/js/vendor/prototype/accordion.js',
166-
'res/js/vendor/webfx/xtree.js',
167-
'res/js/vendor/webfx/ajxptree.js',
168-
'res/js/vendor/chosen/event.simulate.js',
169-
'res/js/vendor/chosen/chosen.proto.js',
170-
'res/js/core/model/User.js',
171-
'res/js/core/http/ResourcesManager.js',
172-
'res/js/core/model/RemoteNodeProvider.js',
173-
'res/js/core/model/EmptyNodeProvider.js',
174-
'res/js/core/model/Repository.js',
175-
'res/js/core/model/BackgroundTasksManager.js',
176-
'res/js/core/http/PydioApi.js',
177-
'res/js/core/model/Action.js',
178-
'res/js/core/model/Controller.js',
179-
'res/js/core/model/PydioDataModel.js',
180-
'res/js/core/model/Registry.js',
181-
'res/js/ui/prototype/class.AjxpDraggable.js',
182-
'res/js/ui/prototype/class.AjxpSortable.js',
183-
'res/js/ui/prototype/class.AjxpTabulator.js',
184-
'res/js/ui/prototype/class.VisibilityToggler.js',
185-
'res/js/ui/prototype/class.AjxpSimpleTabs.js',
186-
'res/js/ui/prototype/class.RepositorySelect.js',
187-
'res/js/ui/prototype/class.RepositorySimpleLabel.js',
188-
'res/js/ui/prototype/class.Breadcrumb.js',
189-
'res/js/ui/prototype/class.LocationBar.js',
190-
'res/js/ui/prototype/class.UserWidget.js',
191-
'res/js/ui/prototype/class.LogoWidget.js',
192-
'res/js/ui/prototype/class.AjxpAutoCompleter.js',
193-
'res/js/ui/prototype/class.AjxpUsersCompleter.js',
194-
'res/js/ui/prototype/class.TreeSelector.js',
195-
'res/js/ui/prototype/class.SliderInput.js',
196-
'res/js/ui/prototype/class.ActionsToolbar.js',
197-
'res/js/ui/prototype/class.BackgroundManagerPane.js',
198-
'res/js/ui/prototype/class.HeaderResizer.js',
199-
'res/js/ui/prototype/class.PreviewFactory.js',
200-
'res/js/ui/prototype/class.FilesList.js',
201-
'res/js/ui/prototype/class.FoldersTree.js',
202-
'res/js/ui/prototype/class.SearchEngine.js',
203-
'res/js/ui/prototype/class.FetchedResultPane.js',
204-
'res/js/ui/prototype/class.InfoPanel.js',
205-
'res/js/ui/prototype/class.PropertyPanel.js',
206-
'res/js/ui/prototype/class.AbstractEditor.js',
207-
'res/js/ui/prototype/class.Modal.js',
208-
'res/js/ui/prototype/class.BookmarksBar.js',
209-
'res/js/ui/prototype/class.FormManager.js',
210-
'res/js/ui/prototype/class.DataModelProperty.js',
211-
'res/js/ui/prototype/class.MultiDownloader.js',
212-
'res/js/ui/prototype/class.ActivityMonitor.js',
213-
'res/js/ui/prototype/class.AjxpReactComponent.js',
214-
'res/js/ui/prototype/class.PydioUI.js',
215-
'res/js/core/Pydio.js'
216-
],
217-
tasks: ['uglify'],
218-
options: {
219-
spawn: false
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+
}
220233
}
221234
}
222-
}
223-
});
224-
235+
});
236+
grunt.loadNpmTasks('grunt-env');
225237
grunt.loadNpmTasks('grunt-browserify');
226238
grunt.loadNpmTasks('grunt-babel');
227239
grunt.loadNpmTasks('grunt-contrib-uglify');
228240
grunt.loadNpmTasks('grunt-contrib-watch');
229-
grunt.registerTask('default', ['babel','uglify', 'browserify']);
241+
grunt.registerTask('default', [
242+
'env:build',
243+
'babel',
244+
'uglify:js',
245+
'browserify',
246+
'uglify:nodejs'
247+
]);
230248
};
231249

0 commit comments

Comments
 (0)