diff --git a/src/node/hooks/express/specialpages.js b/src/node/hooks/express/specialpages.js index bf91b3bd9..7778773ed 100644 --- a/src/node/hooks/express/specialpages.js +++ b/src/node/hooks/express/specialpages.js @@ -110,6 +110,11 @@ exports.expressCreateServer = async (hookName, args) => { path: path.join(settings.root, 'var/js'), filename: '[name]-[contenthash].js', }, + resolve: { + alias: { + 'ep_etherpad-lite': path.join(settings.root, 'src'), + }, + }, }); const stats = await util.promisify(compiler.run.bind(compiler))(); console.log(`webpack stats:\n${stats}`); diff --git a/src/templates/padbootstrap.js b/src/templates/padbootstrap.js index e76f111a3..40b707bcb 100644 --- a/src/templates/padbootstrap.js +++ b/src/templates/padbootstrap.js @@ -6,6 +6,13 @@ // sends the CLIENT_VARS message. randomVersionString: <%-JSON.stringify(settings.randomVersionString)%>, }; + + // Allow other frames to access this frame's modules. + window.require = __webpack_require__; + window.require.resolve = __webpack_require__.resolve; + window.require.cache = __webpack_module_cache__; + window.require.resolveTmp = require.resolve('ep_etherpad-lite/static/js/pad_cookie'); + const basePath = new URL('..', window.location.href).pathname; window.$ = window.jQuery = require('../../src/static/js/rjquery').jQuery; window.browser = require('../../src/static/js/vendors/browser');