Skip to content

Commit de007c4

Browse files
authored
require all ember modules in one place (#2628)
2 parents f3062c3 + 4d1d386 commit de007c4

File tree

6 files changed

+42
-37
lines changed

6 files changed

+42
-37
lines changed

ember_debug/utils/ember.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ let {
4242

4343
let getEnv = () => Ember.ENV;
4444

45+
let Debug = emberSafeRequire('@ember/debug')?.default;
46+
let InternalsUtils = emberSafeRequire('@ember/-internals/utils')?.default;
47+
let ObjectInternals = emberSafeRequire('@ember/object/internals')?.default;
48+
let Instrumentation = emberSafeRequire('@ember/instrumentation')?.default;
49+
let RSVP = emberSafeRequire('rsvp')?.default;
50+
let Runloop = emberSafeRequire('@ember/runloop')?.default;
51+
4552
if (!Ember) {
4653
captureRenderTree = emberSafeRequire('@ember/debug')?.captureRenderTree;
4754
getEnv = emberSafeRequire('@ember/-internals/environment')?.getENV;
@@ -72,6 +79,12 @@ if (!Ember) {
7279
}
7380

7481
export {
82+
Runloop,
83+
Debug,
84+
InternalsUtils,
85+
ObjectInternals,
86+
Instrumentation,
87+
RSVP,
7588
ArrayProxy,
7689
Namespace,
7790
ActionHandler,

ember_debug/utils/ember/debug.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
import Ember from '../ember';
1+
import Ember, { Debug, InternalsUtils } from '../ember';
22

33
let module;
4-
54
export let inspect;
65

7-
try {
8-
module = requireModule('@ember/debug');
9-
inspect = module.inspect || requireModule('@ember/-internals/utils').inspect;
10-
} catch {
6+
if (Debug) {
7+
module = Debug;
8+
inspect = Debug.inspect || InternalsUtils.inspect;
9+
} else {
1110
module = Ember.Debug;
1211
// eslint-disable-next-line ember/new-module-imports
1312
inspect = Ember.inspect;

ember_debug/utils/ember/instrumentation.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import Ember from '../ember';
1+
import Ember, { Instrumentation } from '../ember';
22

33
let module;
44

5-
try {
6-
module = requireModule('@ember/instrumentation');
7-
} catch {
5+
if (Instrumentation) {
6+
module = Instrumentation;
7+
} else {
88
module = Ember;
99
}
1010

ember_debug/utils/ember/object/internals.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import Ember from '../../ember';
1+
import Ember, { ObjectInternals } from '../../ember';
22

33
let module;
44

5-
try {
6-
module = requireModule('@ember/object/internals');
7-
} catch {
5+
if (ObjectInternals) {
6+
module = ObjectInternals;
7+
} else {
88
module = Ember;
99
}
1010

ember_debug/utils/ember/runloop.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
import Ember from '../ember';
1+
import Ember, { Runloop as EmberRunloop } from '../ember';
22
import * as runloop from './own-runloop';
33

4+
// it could happen that runloop is available but _backburner is not exported (dead code)
5+
// then we need to use our own.
46
let module = runloop;
57
let _backburner = runloop._backburner;
68

79
const keys = ['cancel', 'debounce', 'join', 'later', 'scheduleOnce'];
810

9-
try {
10-
module = requireModule('@ember/runloop');
11-
// it could happen that runloop is available but _backburner is not exported (dead code)
12-
// then we need to use our own
13-
_backburner = module._backburner;
14-
} catch {
15-
// eslint-disable-next-line ember/new-module-imports
16-
_backburner = Ember?.run?.backburner || module._backburner;
11+
if (EmberRunloop) {
12+
module = EmberRunloop;
13+
_backburner = EmberRunloop._backburner;
14+
} else {
1715
// eslint-disable-next-line ember/new-module-imports
1816
module = Ember?.run || module;
17+
// eslint-disable-next-line ember/new-module-imports
18+
_backburner = Ember?.run?.backburner || _backburner;
1919
}
2020

2121
if (!keys.every((k) => k in module)) {

ember_debug/utils/rsvp.js

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,14 @@
1-
import Ember from './ember';
1+
import Ember, { RSVP as emberRSVP } from './ember';
22

3-
let module, RSVP;
3+
let module;
44

5-
try {
6-
module = requireModule('rsvp');
7-
RSVP = module.default;
8-
9-
// The RSVP module should have named exports for `Promise`, etc,
10-
// but some old versions do not and provide `RSVP.Promise`, etc.
11-
if (!('Promise' in module)) {
12-
module = RSVP;
13-
}
14-
} catch {
5+
if (emberRSVP) {
6+
module = emberRSVP;
7+
} else {
158
// eslint-disable-next-line ember/new-module-imports
16-
module = RSVP = Ember.RSVP;
9+
module = Ember.RSVP;
1710
}
1811

1912
export let { Promise, all, resolve } = module;
2013

21-
export default RSVP;
14+
export default module;

0 commit comments

Comments
 (0)