@@ -16,28 +16,24 @@ import {
1616 ObjectProxy ,
1717 ArrayProxy ,
1818 Service ,
19+ InternalsMetal ,
1920 Component ,
20- emberSafeRequire ,
21+ GlimmerComponent ,
22+ GlimmerReference ,
23+ GlimmerValidator ,
2124} from 'ember-debug/utils/ember' ;
2225import { cacheFor , guidFor } from 'ember-debug/utils/ember/object/internals' ;
2326import { _backburner , join } from 'ember-debug/utils/ember/runloop' ;
2427import emberNames from './utils/ember-object-names' ;
2528import getObjectName from './utils/get-object-name' ;
2629
27- const GlimmerComponent = ( ( ) => {
28- try {
29- return emberSafeRequire ( '@glimmer/component' ) . default ;
30- } catch {
31- // ignore, return undefined
32- }
33- } ) ( ) ;
34-
3530let tagValue , tagValidate , track , tagForProperty ;
3631
37- try {
38- // Try to load the most recent library
39- let GlimmerValidator = emberSafeRequire ( '@glimmer/validator' ) ;
32+ const GlimmerDebugComponent = ( ( ) => GlimmerComponent ?. default ) ( ) ;
4033
34+ // Try to use the most recent library (GlimmerValidator), else
35+ // fallback on the previous implementation (GlimmerReference).
36+ if ( GlimmerValidator ) {
4137 tagValue = GlimmerValidator . value || GlimmerValidator . valueForTag ;
4238 tagValidate = GlimmerValidator . validate || GlimmerValidator . validateTag ;
4339 track = GlimmerValidator . track ;
@@ -70,26 +66,15 @@ try {
7066 }
7167 return r ;
7268 } ;
73- } catch {
74- try {
75- // Fallback to the previous implementation
76- let GlimmerReference = emberSafeRequire ( '@glimmer/reference' ) ;
77-
78- tagValue = GlimmerReference . value ;
79- tagValidate = GlimmerReference . validate ;
80- } catch {
81- // ignore
82- }
69+ } else if ( GlimmerReference ) {
70+ tagValue = GlimmerReference . value ;
71+ tagValidate = GlimmerReference . validate ;
8372}
8473
85- try {
86- let metal = emberSafeRequire ( '@ember/-internals/metal' ) ;
87-
88- tagForProperty = metal . tagForProperty ;
74+ if ( InternalsMetal ) {
75+ tagForProperty = InternalsMetal . tagForProperty ;
8976 // If track was not already loaded, use metal's version (the previous version)
90- track = track || metal . track ;
91- } catch {
92- // ignore
77+ track = track || InternalsMetal . track ;
9378}
9479
9580const HAS_GLIMMER_TRACKING = tagValue && tagValidate && track && tagForProperty ;
@@ -1285,7 +1270,7 @@ function getDebugInfo(object) {
12851270 'element' ,
12861271 'targetObject' ,
12871272 ) ;
1288- } else if ( GlimmerComponent && object instanceof GlimmerComponent ) {
1273+ } else if ( GlimmerDebugComponent && object instanceof GlimmerDebugComponent ) {
12891274 // These properties don't really exist on Glimmer Components, but
12901275 // reading their values trigger a development mode assertion. The
12911276 // more correct long term fix is to make getters lazy (shows "..."
0 commit comments