Skip to content

Commit 1684059

Browse files
committed
wip
1 parent e662374 commit 1684059

19 files changed

+229
-255
lines changed

ember_debug/adapters/web-extension.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import BasicAdapter from './basic';
22
import { typeOf } from 'ember-debug/utils/type-check';
33

4-
import Ember from 'ember-debug/utils/ember';
4+
import Ember, { ENV } from 'ember-debug/utils/ember';
55
import { run } from 'ember-debug/utils/ember/runloop';
66

77
const { isArray } = Array;
@@ -105,7 +105,7 @@ export default class extends BasicAdapter {
105105
// adapter later. See GH #1114.
106106
const HAS_ARRAY_PROTOTYPE_EXTENSIONS = (() => {
107107
try {
108-
return Ember.ENV.EXTEND_PROTOTYPES.Array === true;
108+
return ENV.EXTEND_PROTOTYPES.Array === true;
109109
} catch (e) {
110110
return false;
111111
}

ember_debug/deprecation-debug.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import DebugPort from './debug-port';
22
import SourceMap from 'ember-debug/libs/source-map';
33

4-
import { registerDeprecationHandler } from 'ember-debug/utils/ember/debug';
4+
import { debug } from 'ember-debug/utils/ember';
55
import { guidFor } from 'ember-debug/utils/ember/object/internals';
66
import { cancel, debounce } from 'ember-debug/utils/ember/runloop';
77

@@ -194,7 +194,7 @@ export default class extends DebugPort {
194194
}
195195

196196
handleDeprecations() {
197-
registerDeprecationHandler((message, options, next) => {
197+
debug.registerDeprecationHandler((message, options, next) => {
198198
if (!this.adapter) {
199199
next(message, options);
200200
return;

ember_debug/general-debug.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint no-empty:0 */
22
import DebugPort from './debug-port';
33

4-
import Ember from 'ember-debug/utils/ember';
4+
import { utils } from 'ember-debug/utils/ember';
55

66
/**
77
* Class that handles gathering general information of the inspected app.
@@ -87,9 +87,7 @@ export default class extends DebugPort {
8787
* the info tab.
8888
*/
8989
getLibraries() {
90-
this.sendMessage('libraries', {
91-
libraries: Ember.libraries?._registry,
92-
});
90+
this.sendMessage('libraries', { libraries: utils.libraries._registry });
9391
},
9492

9593
getEmberCliConfig() {

ember_debug/libs/promise-assembler.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
import Promise from 'ember-debug/models/promise';
9-
import RSVP from 'ember-debug/utils/rsvp';
9+
import { classes } from 'ember-debug/utils/ember';
1010
import BaseObject from 'ember-debug/utils/base-object';
1111
import Evented from 'ember-debug/utils/evented';
1212

@@ -15,7 +15,7 @@ class PromiseAssembler extends BaseObject {
1515
isStarted = false;
1616

1717
static {
18-
this.prototype.RSVP = RSVP;
18+
this.prototype.RSVP = classes.RSVP;
1919
}
2020

2121
constructor(data) {

ember_debug/libs/render-tree.js

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
import captureRenderTree from './capture-render-tree';
21
import { guidFor } from 'ember-debug/utils/ember/object/internals';
3-
import { EmberLoader, emberSafeRequire } from 'ember-debug/utils/ember/loader';
4-
import { inspect } from 'ember-debug/utils/type-check';
5-
import { isInVersionSpecifier } from 'ember-debug/utils/version';
6-
import { VERSION } from 'ember-debug/utils/ember';
2+
import { EmberLoader } from 'ember-debug/utils/ember/loader';
3+
import { debug } from 'ember-debug/utils/ember';
74

85
class InElementSupportProvider {
96
constructor(owner) {
@@ -353,7 +350,7 @@ export default class RenderTree {
353350
build() {
354351
this._reset();
355352

356-
this.tree = captureRenderTree(this.owner);
353+
this.tree = debug.captureRenderTree(this.owner);
357354
let serialized = this._serializeRenderNodes(this.tree);
358355

359356
this._releaseStaleObjects();

ember_debug/models/profile-manager.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import ProfileNode from './profile-node';
2-
import Ember from 'ember-debug/utils/ember';
2+
import { ember } from 'ember-debug/utils/ember';
33
import { compareVersion } from 'ember-debug/utils/version';
44

55
import { later, scheduleOnce, cancel } from 'ember-debug/utils/ember/runloop';
@@ -75,7 +75,7 @@ export default class ProfileManager {
7575
this.stylesheet = insertStylesheet();
7676
// keep track of all the active highlights
7777
this.highlights = [];
78-
this.isHighlightEnabled = compareVersion(Ember?.VERSION, '3.20.0') !== -1;
78+
this.isHighlightEnabled = compareVersion(ember?.VERSION, '3.20.0') !== -1;
7979
}
8080

8181
began(timestamp, payload, now) {

ember_debug/object-inspector.js

+15-29
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,16 @@ import {
88
inspect,
99
} from 'ember-debug/utils/type-check';
1010
import { compareVersion } from 'ember-debug/utils/version';
11-
import {
12-
EmberObject,
13-
meta as emberMeta,
14-
VERSION,
15-
CoreObject,
16-
ObjectProxy,
17-
ArrayProxy,
18-
Service,
19-
Component,
20-
} from 'ember-debug/utils/ember';
11+
import { classes, debug, object, ember } from 'ember-debug/utils/ember';
2112
import { cacheFor, guidFor } from 'ember-debug/utils/ember/object/internals';
2213
import { _backburner, join } from 'ember-debug/utils/ember/runloop';
2314
import emberNames from './utils/ember-object-names';
2415
import getObjectName from './utils/get-object-name';
2516
import { EmberLoader } from 'ember-debug/utils/ember/loader';
2617

27-
const GlimmerComponent = (() => {
28-
try {
29-
return EmberLoader.require('@glimmer/component').default;
30-
} catch (e) {
31-
// ignore, return undefined
32-
}
33-
})();
18+
const { CoreObject, ObjectProxy } = classes;
19+
const { VERSION } = ember;
20+
const { meta: emberMeta } = object;
3421

3522
let tagValue, tagValidate, track, tagForProperty;
3623

@@ -122,7 +109,7 @@ function inspectValue(object, key, computedValue) {
122109
return { type: `type-${typeOf(value)}`, inspect: inspect(value) };
123110
}
124111

125-
if (value instanceof EmberObject) {
112+
if (value instanceof classes.EmberObject) {
126113
return { type: 'type-ember-object', inspect: value.toString() };
127114
} else if (isComputed(object, key)) {
128115
string = '<computed>';
@@ -276,8 +263,7 @@ export default class extends DebugPort {
276263
const tracked = (this.trackedTags[objectId] =
277264
this.trackedTags[objectId] || {});
278265

279-
const desc = Object.getOwnPropertyDescriptor(object, item.name);
280-
const isSetter = desc && isMandatorySetter(desc);
266+
const isSetter = debug.isMandatorySetter(object, item.name);
281267

282268
if (HAS_GLIMMER_TRACKING && item.canTrack && !isSetter) {
283269
let tagInfo = tracked[item.name] || {
@@ -461,7 +447,7 @@ export default class extends DebugPort {
461447
canSend(val) {
462448
return (
463449
val &&
464-
(val instanceof EmberObject ||
450+
(val instanceof classes.EmberObject ||
465451
val instanceof Object ||
466452
typeOf(val) === 'object' ||
467453
typeOf(val) === 'array')
@@ -518,7 +504,7 @@ export default class extends DebugPort {
518504
value = value.stack;
519505
}
520506
let args = [value];
521-
if (value instanceof EmberObject) {
507+
if (value instanceof classes.EmberObject) {
522508
args.unshift(inspect(value));
523509
}
524510
this.adapter.log('Ember Inspector ($E): ', ...args);
@@ -704,7 +690,7 @@ export default class extends DebugPort {
704690
}
705691

706692
if (
707-
object instanceof ArrayProxy &&
693+
object instanceof classes.ArrayProxy &&
708694
object.content &&
709695
!object._showProxyDetails
710696
) {
@@ -910,7 +896,7 @@ function addProperties(properties, hash) {
910896
continue;
911897
}
912898

913-
let options = { isMandatorySetter: isMandatorySetter(desc) };
899+
let options = { isMandatorySetter: debug.isMandatorySetter(desc) };
914900

915901
if (typeof hash[prop] === 'object' && hash[prop] !== null) {
916902
options.isService =
@@ -923,7 +909,7 @@ function addProperties(properties, hash) {
923909
}
924910

925911
if (!options.isService) {
926-
options.isService = desc.value instanceof Service;
912+
options.isService = desc.value instanceof classes.Service;
927913
}
928914
}
929915
if (options.isService) {
@@ -1255,7 +1241,7 @@ function getDebugInfo(object) {
12551241
let debugInfo = null;
12561242
let objectDebugInfo = object._debugInfo;
12571243
if (objectDebugInfo && typeof objectDebugInfo === 'function') {
1258-
if (object instanceof ObjectProxy && object.content) {
1244+
if (object instanceof classes.ObjectProxy && object.content) {
12591245
object = object.content;
12601246
}
12611247
debugInfo = objectDebugInfo.call(object);
@@ -1268,7 +1254,7 @@ function getDebugInfo(object) {
12681254
skipProperties.push('isDestroyed', 'isDestroying', 'container');
12691255
// 'currentState' and 'state' are un-observable private properties.
12701256
// The rest are skipped to reduce noise in the inspector.
1271-
if (Component && object instanceof Component) {
1257+
if (classes.EmberComponent && object instanceof classes.EmberComponent) {
12721258
skipProperties.push(
12731259
'currentState',
12741260
'state',
@@ -1284,7 +1270,7 @@ function getDebugInfo(object) {
12841270
'element',
12851271
'targetObject'
12861272
);
1287-
} else if (GlimmerComponent && object instanceof GlimmerComponent) {
1273+
} else if (classes.GlimmerComponent && object instanceof classes.GlimmerComponent) {
12881274
// These properties don't really exist on Glimmer Components, but
12891275
// reading their values trigger a development mode assertion. The
12901276
// more correct long term fix is to make getters lazy (shows "..."
@@ -1303,7 +1289,7 @@ function calculateCP(object, item, errorsForObject) {
13031289
const property = item.name;
13041290
delete errorsForObject[property];
13051291
try {
1306-
if (object instanceof ArrayProxy && property == parseInt(property)) {
1292+
if (object instanceof classes.ArrayProxy && property == parseInt(property)) {
13071293
return object.objectAt(property);
13081294
}
13091295
return item.isGetter || property.includes?.('.')

ember_debug/promise-debug.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import DebugPort from './debug-port';
22
import PromiseAssembler from 'ember-debug/libs/promise-assembler';
33
import { debounce } from 'ember-debug/utils/ember/runloop';
4-
import RSVP from 'ember-debug/utils/rsvp';
4+
import { classes } from 'ember-debug/utils/ember';
55

66
export default class extends DebugPort {
77
get objectInspector() {
@@ -101,7 +101,7 @@ export default class extends DebugPort {
101101
}
102102

103103
setInstrumentWithStack() {
104-
RSVP.configure('instrument-with-stack', this.instrumentWithStack);
104+
classes.RSVP.configure('instrument-with-stack', this.instrumentWithStack);
105105
this.sendInstrumentWithStack();
106106
}
107107

ember_debug/render-debug.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import DebugPort from './debug-port';
22
import ProfileManager from './models/profile-manager';
33

4-
import { subscribe } from 'ember-debug/utils/ember/instrumentation';
54
import { _backburner } from 'ember-debug/utils/ember/runloop';
5+
import { instrumentation } from 'ember-debug/utils/ember';
66
import bound from 'ember-debug/utils/bound-method';
77

88
// Initial setup, that has to occur before the EmberObject init for some reason
@@ -78,7 +78,7 @@ export default class extends DebugPort {
7878
* @private
7979
*/
8080
function _subscribeToRenderEvents() {
81-
subscribe('render', {
81+
instrumentation.subscribe('render', {
8282
before(name, timestamp, payload) {
8383
const info = {
8484
type: 'began',

ember_debug/route-debug.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/* eslint-disable ember/no-private-routing-service */
22
import DebugPort from './debug-port';
33
import { compareVersion } from 'ember-debug/utils/version';
4-
import { VERSION } from 'ember-debug/utils/ember';
54
import classify from 'ember-debug/utils/classify';
65
import dasherize from 'ember-debug/utils/dasherize';
6+
import { ember } from 'ember-debug/utils/ember';
77
import { _backburner, later } from 'ember-debug/utils/ember/runloop';
88
import bound from 'ember-debug/utils/bound-method';
99

@@ -201,7 +201,7 @@ function buildSubTree(routeTree, route) {
201201
// 3.9.0 removed intimate APIs from router
202202
// https://github.com/emberjs/ember.js/pull/17843
203203
// https://deprecations.emberjs.com/v3.x/#toc_remove-handler-infos
204-
if (compareVersion(VERSION, '3.9.0') !== -1) {
204+
if (compareVersion(ember.VERSION, '3.9.0') !== -1) {
205205
// Ember >= 3.9.0
206206
routeHandler = routerLib.getRoute(handler);
207207
} else {

ember_debug/utils/ember-object-names.js

+14-35
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,31 @@
1-
import { compareVersion } from 'ember-debug/utils/version';
2-
import { emberSafeRequire } from 'ember-debug/utils/ember/loader';
3-
import {
4-
VERSION,
5-
ActionHandler,
6-
ControllerMixin,
7-
CoreObject,
8-
MutableEnumerable,
9-
NativeArray,
10-
MutableArray,
11-
Component,
12-
Evented,
13-
PromiseProxyMixin,
14-
EmberObject,
15-
Observable,
16-
} from 'ember-debug/utils/ember';
1+
import { classes, Views } from 'ember-debug/utils/ember';
172

183
/**
194
* Add Known Ember Mixins and Classes so we can label them correctly in the inspector
205
*/
216
const emberNames = new Map([
22-
[Evented, 'Evented Mixin'],
23-
[PromiseProxyMixin, 'PromiseProxy Mixin'],
24-
[MutableArray, 'MutableArray Mixin'],
25-
[MutableEnumerable, 'MutableEnumerable Mixin'],
26-
[NativeArray, 'NativeArray Mixin'],
27-
[Observable, 'Observable Mixin'],
28-
[ControllerMixin, 'Controller Mixin'],
29-
[ActionHandler, 'ActionHandler Mixin'],
30-
[CoreObject, 'CoreObject'],
31-
[EmberObject, 'EmberObject'],
32-
[Component, 'Component'],
7+
[classes.Evented, 'Evented Mixin'],
8+
[classes.PromiseProxyMixin, 'PromiseProxy Mixin'],
9+
[classes.MutableArray, 'MutableArray Mixin'],
10+
[classes.MutableEnumerable, 'MutableEnumerable Mixin'],
11+
[classes.NativeArray, 'NativeArray Mixin'],
12+
[classes.Observable, 'Observable Mixin'],
13+
[classes.ControllerMixin, 'Controller Mixin'],
14+
[classes.ActionHandler, 'ActionHandler Mixin'],
15+
[classes.CoreObject, 'CoreObject'],
16+
[classes.EmberObject, 'EmberObject'],
17+
[classes.GlimmerComponent, 'Component'],
18+
[classes.EmberComponent, 'Component'],
3319
]);
3420

35-
if (compareVersion(VERSION, '3.27.0') === -1) {
36-
const TargetActionSupport = emberSafeRequire(
37-
'@ember/-internals/runtime'
38-
)?.TargetActionSupport;
39-
emberNames.set(TargetActionSupport, 'TargetActionSupport Mixin');
40-
}
41-
4221
try {
43-
const Views = emberSafeRequire('@ember/-internals/views') || {};
4422
emberNames.set(Views.ViewStateSupport, 'ViewStateSupport Mixin');
4523
emberNames.set(Views.ViewMixin, 'View Mixin');
4624
emberNames.set(Views.ActionSupport, 'ActionSupport Mixin');
4725
emberNames.set(Views.ClassNamesSupport, 'ClassNamesSupport Mixin');
4826
emberNames.set(Views.ChildViewsSupport, 'ChildViewsSupport Mixin');
4927
emberNames.set(Views.ViewStateSupport, 'ViewStateSupport Mixin');
28+
emberNames.set(TargetActionSupport, 'TargetActionSupport Mixin')
5029
// this one is not a Mixin, but an .extend({}), which results in a class
5130
emberNames.set(Views.CoreView, 'CoreView');
5231
} catch (e) {

0 commit comments

Comments
 (0)