UNPKG

831 BJavaScriptView Raw
1// ember-electron
2((win) => {
3 const { requireNode, require: requireAMD } = win;
4
5 // Redefine a global `require` function that can satisfy both Node and AMD module systems.
6 if (requireAMD) {
7 win.require = (...args) => {
8 try {
9 return requireAMD(...args);
10 } catch(error) {
11 if (error.toString().includes('Error: Could not find module')) {
12 return requireNode(...args);
13 }
14
15 console.error(error); // eslint-disable-line no-console
16 }
17 };
18
19 // Both Ember's and Node's require() have some properties (e.g. Ember's has
20 // require.has() and Node's has require.resolve()). Fortunately there are no
21 // naming conflicts, so we can expose them all.
22 Object.assign(win.require, requireNode, requireAMD);
23 } else {
24 win.require = requireNode;
25 }
26})(window);