diff --git a/src/ep.json b/src/ep.json
index bc955dbf3..59cbf3aa4 100644
--- a/src/ep.json
+++ b/src/ep.json
@@ -3,7 +3,6 @@
{ "name": "static", "hooks": { "expressCreateServer": "ep_etherpad-lite/node/hooks/express/static:expressCreateServer" } },
{ "name": "specialpages", "hooks": { "expressCreateServer": "ep_etherpad-lite/node/hooks/express/specialpages:expressCreateServer" } },
{ "name": "padurlsanitize", "hooks": { "expressCreateServer": "ep_etherpad-lite/node/hooks/express/padurlsanitize:expressCreateServer" } },
- { "name": "minified", "hooks": { "expressCreateServer": "ep_etherpad-lite/node/hooks/express/minified:expressCreateServer" } },
{ "name": "padreadonly", "hooks": { "expressCreateServer": "ep_etherpad-lite/node/hooks/express/padreadonly:expressCreateServer" } },
{ "name": "webaccess", "hooks": { "expressConfigure": "ep_etherpad-lite/node/hooks/express/webaccess:expressConfigure" } },
{ "name": "apicalls", "hooks": { "expressCreateServer": "ep_etherpad-lite/node/hooks/express/apicalls:expressCreateServer" } },
diff --git a/src/node/hooks/express/minified.js b/src/node/hooks/express/minified.js
deleted file mode 100644
index f8a988d77..000000000
--- a/src/node/hooks/express/minified.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var minify = require('../../utils/Minify');
-
-exports.expressCreateServer = function (hook_name, args, cb) {
- //serve minified files
- args.app.get(/^\/minified\/(.*)/, minify.minifyJS);
-}
diff --git a/src/node/hooks/express/static.js b/src/node/hooks/express/static.js
index 9481eb5a2..e8f9afbb8 100644
--- a/src/node/hooks/express/static.js
+++ b/src/node/hooks/express/static.js
@@ -8,34 +8,9 @@ var fs = require("fs");
var ERR = require("async-stacktrace");
exports.expressCreateServer = function (hook_name, args, cb) {
- /* Handle static files for plugins:
- paths like "/static/plugins/ep_myplugin/js/test.js"
- are rewritten into ROOT_PATH_OF_MYPLUGIN/static/js/test.js,
- commonly ETHERPAD_ROOT/node_modules/ep_myplugin/static/js/test.js
- */
- args.app.get(/^\/minified\/plugins\/([^\/]+)\/static\/(.*)/, function(req, res, next) {
- var plugin_name = req.params[0];
- var modulePath = req.url.split("?")[0].substr("/minified/plugins/".length);
- var fullPath = require.resolve(modulePath);
-
- if (plugins.plugins[plugin_name] == undefined) {
- return next();
- }
-
- fs.readFile(fullPath, "utf8", function(err, data){
- if(ERR(err)) return;
-
- res.send("require.define('" + modulePath + "', function (require, exports, module) {" + data + "})");
- })
-
-//require.define("/plugins.js", function (require, exports, module) {
-
- //res.sendfile(fullPath);
- });
-
// Cache both minified and static.
var assetCache = new CachingMiddleware;
- args.app.all('/(minified|static)/*', assetCache.handle);
+ args.app.all('/(javascripts|static)/*', assetCache.handle);
// Minify will serve static files compressed (minify enabled). It also has
// file-specific hacks for ace/require-kernel/etc.
@@ -44,8 +19,10 @@ exports.expressCreateServer = function (hook_name, args, cb) {
// Setup middleware that will package JavaScript files served by minify for
// CommonJS loader on the client-side.
var jsServer = new (Yajsml.Server)({
- rootPath: 'minified/'
+ rootPath: 'javascripts/src/'
, rootURI: 'http://localhost:' + settings.port + '/static/js/'
+ , libraryPath: 'javascripts/lib/'
+ , libraryURI: 'http://localhost:' + settings.port + '/static/plugins/'
});
var StaticAssociator = Yajsml.associators.StaticAssociator;
diff --git a/src/node/utils/Minify.js b/src/node/utils/Minify.js
index a49195a7b..4e1c44db4 100644
--- a/src/node/utils/Minify.js
+++ b/src/node/utils/Minify.js
@@ -27,6 +27,7 @@ var cleanCSS = require('clean-css');
var jsp = require("uglify-js").parser;
var pro = require("uglify-js").uglify;
var path = require('path');
+var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins");
var RequireKernel = require('require-kernel');
var server = require('../server');
@@ -63,6 +64,22 @@ exports.minify = function(req, res, next)
return;
}
+ /* Handle static files for plugins:
+ paths like "plugins/ep_myplugin/static/js/test.js"
+ are rewritten into ROOT_PATH_OF_MYPLUGIN/static/js/test.js,
+ commonly ETHERPAD_ROOT/node_modules/ep_myplugin/static/js/test.js
+ */
+ var match = filename.match(/^plugins\/([^\/]+)\/static\/(.*)/);
+ if (match) {
+ var pluginName = match[1];
+ var resourcePath = match[2];
+ var plugin = plugins.plugins[pluginName];
+ if (plugin) {
+ var pluginPath = plugin.package.realPath;
+ filename = path.relative(ROOT_DIR, pluginPath + '/static/' + resourcePath);
+ }
+ }
+
// What content type should this be?
// TODO: This should use a MIME module.
var contentType;
diff --git a/src/static/js/ace.js b/src/static/js/ace.js
index 4114b63cf..5707b6b76 100644
--- a/src/static/js/ace.js
+++ b/src/static/js/ace.js
@@ -156,7 +156,7 @@ function Ace2Editor()
}
function pushRequireScriptTo(buffer) {
var KERNEL_SOURCE = '../static/js/require-kernel.js';
- var KERNEL_BOOT = 'require.setRootURI("../minified/");\nrequire.setLibraryURI("../minified/plugins/");\nrequire.setGlobalKeyPath("require");'
+ var KERNEL_BOOT = 'require.setRootURI("../javascripts/src");\nrequire.setLibraryURI("../javascripts/lib");\nrequire.setGlobalKeyPath("require");'
if (Ace2Editor.EMBEDED && Ace2Editor.EMBEDED[KERNEL_SOURCE]) {
buffer.push('\
-
+
-
+