kopia lustrzana https://github.com/c9/core
66 wiersze
1.6 KiB
JavaScript
66 wiersze
1.6 KiB
JavaScript
"use strict";
|
|
|
|
plugin.consumes = [];
|
|
plugin.provides = ["connect.static"];
|
|
|
|
module.exports = plugin;
|
|
|
|
function plugin(options, imports, register) {
|
|
|
|
var prefix = options.prefix || "/static";
|
|
var rjs = {
|
|
"paths": {},
|
|
"packages": [],
|
|
"baseUrl": prefix,
|
|
};
|
|
|
|
var mounts = [];
|
|
|
|
register(null, {
|
|
"connect.static": {
|
|
addStatics: function(statics) {
|
|
mounts.push.apply(mounts, statics);
|
|
|
|
statics.forEach(function(s) {
|
|
var libs = s.rjs || {};
|
|
for (var name in libs) {
|
|
if (typeof libs[name] === "string") {
|
|
rjs.paths[name] = join(prefix, libs[name]);
|
|
} else {
|
|
rjs.packages.push(libs[name]);
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
getRequireJsPaths: function() {
|
|
return rjs.paths;
|
|
},
|
|
|
|
getRequireJsPackages: function() {
|
|
return rjs.packages;
|
|
},
|
|
|
|
getStaticPrefix: function() {
|
|
return prefix;
|
|
},
|
|
|
|
getMounts: function() {
|
|
return mounts;
|
|
},
|
|
|
|
getRequireJsConfig: function() {
|
|
return rjs;
|
|
},
|
|
|
|
getWorkerPrefix: function() {
|
|
return prefix;
|
|
}
|
|
}
|
|
});
|
|
|
|
function join(prefix, path) {
|
|
return prefix.replace(/\/*$/, "") + "/" + path.replace(/^\/*/, "");
|
|
}
|
|
}
|