Skip to content

Commit d8c9497

Browse files
committed
Add complete client-side addons optimization (not stable)
1 parent da459f5 commit d8c9497

3 files changed

Lines changed: 22 additions & 14 deletions

File tree

addons/manager/models/addon.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
define(function() {
1+
define([], function() {
22
var hr = require("hr/hr");
33
var addons = require("core/addons");
44

client/models/addon.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ define([
3535

3636
logging.log("Load", this.get("name"));
3737
var context = "addon."+this.get("name");
38+
var main = this.get("client.main", "client");
3839

39-
// Require context
40-
var addonRequire = require.config({
40+
// Require config
41+
var addonRequireConfig = {
4142
'context': context,
4243
'baseUrl': this.url(),
4344
'waitSeconds': 200,
@@ -46,12 +47,16 @@ define([
4647
"require-tools": "/static/require-tools"
4748
},
4849
'map': {
49-
'*': {
50-
'css': 'require-tools/css/css',
51-
'less': 'require-tools/less/less'
52-
}
50+
'*': {
51+
'css': 'require-tools/css/css',
52+
'less': 'require-tools/less/less'
53+
}
5354
}
54-
});
55+
};
56+
addonRequireConfig.paths[main] = "addon-built";
57+
58+
// Require context
59+
var addonRequire = require.config(addonRequireConfig);
5560

5661
// Ressources
5762
hr.Resources.addNamespace(context+".templates", {
@@ -60,7 +65,7 @@ define([
6065
});
6166

6267
// Load main module
63-
addonRequire([this.get("client.main", "client")], function() {
68+
addonRequire([main], function() {
6469
d.resolve();
6570
});
6671

core/cb.addons/main.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ function setup(options, imports, register, app) {
8585
var addonPath = path.resolve(addonsPath + '/' + addon.name + '/');
8686

8787
// Path to the require-tools
88-
var requiretoolsPath = path.resolve("../../client/build/static/require-tools");
88+
var requiretoolsPath = path.resolve(__dirname, "../../client/build/static/require-tools");
8989

9090
// Base main
9191
var main = addon.client.main;
@@ -94,9 +94,13 @@ function setup(options, imports, register, app) {
9494
var output = path.resolve(addonPath, "addon-built.js");
9595

9696
var command = "r.js -o baseUrl="+addonPath+" paths.require-tools="+requiretoolsPath+" name="+main+" map.*.css=require-tools/css/css map.*.less=require-tools/less/less out="+output;
97-
logger.log("command", command);
98-
//return Q(command);
99-
return Q.nfcall(exec, command);
97+
98+
logger.log("Optimizing", addon.name);
99+
return Q.nfcall(exec, command).fail(function(err) {
100+
logger.error("error for",addon.name);
101+
logger.exception(err, false);
102+
return Q.reject(err);
103+
});
100104
};
101105

102106
// Initialize node addons
@@ -115,7 +119,6 @@ function setup(options, imports, register, app) {
115119
logger.log("Optimize client addons");
116120
return loadAddonsInfos().then(function(addons) {
117121
return Q.all(_.map(addons, function(addon) {
118-
console.log(addon);
119122
if (!isClientside(addon)) return;
120123
return optimizeAddon(addon);
121124
}));

0 commit comments

Comments
 (0)