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);
|