ember-inspector 4.13.1-alpha.2025.6.19 → 4.13.1-alpha.2025.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bookmarklet/panes-3-16-0/assets/{chunk.524.7b97a9e9caaec2bf8dd7.js → chunk.524.ef839d668b8055a7b20a.js} +4 -4
- package/dist/{firefox/panes-3-16-0/assets/chunk.582.fb8575406d3fbe1d4a24.js → bookmarklet/panes-3-16-0/assets/chunk.582.3ef89902373ee8f2cf0a.js} +5 -5
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +2 -2
- package/dist/bookmarklet/panes-3-16-0/ember_debug.js +68 -54
- package/dist/bookmarklet/panes-3-16-0/index.html +2 -2
- package/dist/chrome/manifest.json +2 -2
- package/dist/{firefox/panes-3-16-0/assets/chunk.524.7b97a9e9caaec2bf8dd7.js → chrome/panes-3-16-0/assets/chunk.524.ef839d668b8055a7b20a.js} +4 -4
- package/dist/{bookmarklet/panes-3-16-0/assets/chunk.582.fb8575406d3fbe1d4a24.js → chrome/panes-3-16-0/assets/chunk.582.3ef89902373ee8f2cf0a.js} +5 -5
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +2 -2
- package/dist/chrome/panes-3-16-0/ember_debug.js +68 -54
- package/dist/chrome/panes-3-16-0/index.html +2 -2
- package/dist/firefox/manifest.json +2 -2
- package/dist/{chrome/panes-3-16-0/assets/chunk.524.7b97a9e9caaec2bf8dd7.js → firefox/panes-3-16-0/assets/chunk.524.ef839d668b8055a7b20a.js} +4 -4
- package/dist/{websocket/assets/chunk.582.fb8575406d3fbe1d4a24.js → firefox/panes-3-16-0/assets/chunk.582.3ef89902373ee8f2cf0a.js} +5 -5
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +2 -2
- package/dist/firefox/panes-3-16-0/ember_debug.js +68 -54
- package/dist/firefox/panes-3-16-0/index.html +2 -2
- package/dist/websocket/assets/{chunk.524.7b97a9e9caaec2bf8dd7.js → chunk.524.ef839d668b8055a7b20a.js} +4 -4
- package/dist/{chrome/panes-3-16-0/assets/chunk.582.fb8575406d3fbe1d4a24.js → websocket/assets/chunk.582.3ef89902373ee8f2cf0a.js} +5 -5
- package/dist/websocket/assets/ember-inspector.js +2 -2
- package/dist/websocket/ember_debug.js +68 -54
- package/dist/websocket/index.html +2 -2
- package/ember_debug/libs/render-tree.js +23 -25
- package/ember_debug/libs/view-inspection.js +10 -2
- package/ember_debug/object-inspector.js +15 -30
- package/ember_debug/utils/ember-object-names.js +4 -5
- package/ember_debug/utils/ember.js +20 -0
- package/ember_debug/utils/type-check.js +2 -2
- package/ember_debug/view-debug.js +5 -0
- package/package.json +11 -5
- package/skeletons/web-extension/manifest.json +2 -2
- package/tests/ember_debug/view-debug-test.js +78 -1
@@ -419,11 +419,21 @@ define('ember-debug/ember', ['exports'], (function (exports) { 'use strict';
|
|
419
419
|
exports.captureRenderTree = Ember._captureRenderTree;
|
420
420
|
exports.getEnv = () => Ember.ENV;
|
421
421
|
let Debug = emberSafeRequire('@ember/debug');
|
422
|
+
let InternalsMetal = emberSafeRequire('@ember/-internals/metal');
|
423
|
+
let InternalsRuntime = emberSafeRequire('@ember/-internals/runtime');
|
422
424
|
let InternalsUtils = emberSafeRequire('@ember/-internals/utils');
|
425
|
+
let InternalsViews = emberSafeRequire('@ember/-internals/views');
|
426
|
+
let EmberDestroyable = emberSafeRequire('@ember/destroyable');
|
423
427
|
let ObjectInternals = emberSafeRequire('@ember/object/internals');
|
424
428
|
let Instrumentation = emberSafeRequire('@ember/instrumentation');
|
425
429
|
let Runloop = emberSafeRequire('@ember/runloop');
|
426
430
|
let RSVP = emberSafeRequire('rsvp');
|
431
|
+
let GlimmerComponent = emberSafeRequire('@glimmer/component');
|
432
|
+
let GlimmerManager = emberSafeRequire('@glimmer/manager');
|
433
|
+
let GlimmerReference = emberSafeRequire('@glimmer/reference');
|
434
|
+
let GlimmerRuntime = emberSafeRequire('@glimmer/runtime');
|
435
|
+
let GlimmerUtil = emberSafeRequire('@glimmer/util');
|
436
|
+
let GlimmerValidator = emberSafeRequire('@glimmer/validator');
|
427
437
|
if (!Ember) {
|
428
438
|
exports.captureRenderTree = emberSafeRequire('@ember/debug')?.captureRenderTree;
|
429
439
|
exports.getEnv = emberSafeRequire('@ember/-internals/environment')?.getENV;
|
@@ -452,8 +462,18 @@ define('ember-debug/ember', ['exports'], (function (exports) { 'use strict';
|
|
452
462
|
|
453
463
|
exports.ActionHandler = ActionHandler;
|
454
464
|
exports.Debug = Debug;
|
465
|
+
exports.EmberDestroyable = EmberDestroyable;
|
466
|
+
exports.GlimmerComponent = GlimmerComponent;
|
467
|
+
exports.GlimmerManager = GlimmerManager;
|
468
|
+
exports.GlimmerReference = GlimmerReference;
|
469
|
+
exports.GlimmerRuntime = GlimmerRuntime;
|
470
|
+
exports.GlimmerUtil = GlimmerUtil;
|
471
|
+
exports.GlimmerValidator = GlimmerValidator;
|
455
472
|
exports.Instrumentation = Instrumentation;
|
473
|
+
exports.InternalsMetal = InternalsMetal;
|
474
|
+
exports.InternalsRuntime = InternalsRuntime;
|
456
475
|
exports.InternalsUtils = InternalsUtils;
|
476
|
+
exports.InternalsViews = InternalsViews;
|
457
477
|
exports.ObjectInternals = ObjectInternals;
|
458
478
|
exports.RSVP = RSVP;
|
459
479
|
exports.Runloop = Runloop;
|
@@ -665,11 +685,11 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
665
685
|
*/
|
666
686
|
const emberNames = new Map([[ember.Evented, 'Evented Mixin'], [ember.PromiseProxyMixin, 'PromiseProxy Mixin'], [ember.MutableArray, 'MutableArray Mixin'], [ember.MutableEnumerable, 'MutableEnumerable Mixin'], [ember.NativeArray, 'NativeArray Mixin'], [ember.Observable, 'Observable Mixin'], [ember.ControllerMixin, 'Controller Mixin'], [ember.ActionHandler, 'ActionHandler Mixin'], [ember.CoreObject, 'CoreObject'], [ember.EmberObject, 'EmberObject'], [ember.Component, 'Component']]);
|
667
687
|
if (version.compareVersion(ember.VERSION, '3.27.0') === -1) {
|
668
|
-
const TargetActionSupport = ember.
|
688
|
+
const TargetActionSupport = ember.InternalsRuntime?.TargetActionSupport;
|
669
689
|
emberNames.set(TargetActionSupport, 'TargetActionSupport Mixin');
|
670
690
|
}
|
671
691
|
try {
|
672
|
-
const Views = ember.
|
692
|
+
const Views = ember.InternalsViews || {};
|
673
693
|
emberNames.set(Views.ViewStateSupport, 'ViewStateSupport Mixin');
|
674
694
|
emberNames.set(Views.ViewMixin, 'View Mixin');
|
675
695
|
emberNames.set(Views.ActionSupport, 'ActionSupport Mixin');
|
@@ -727,24 +747,19 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
727
747
|
return name || className || '(unknown class)';
|
728
748
|
}
|
729
749
|
|
730
|
-
const GlimmerComponent = (() => {
|
731
|
-
try {
|
732
|
-
return ember.emberSafeRequire('@glimmer/component').default;
|
733
|
-
} catch {
|
734
|
-
// ignore, return undefined
|
735
|
-
}
|
736
|
-
})();
|
737
750
|
let tagValue, tagValidate, track, tagForProperty;
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
751
|
+
const GlimmerDebugComponent = (() => ember.GlimmerComponent?.default)();
|
752
|
+
|
753
|
+
// Try to use the most recent library (GlimmerValidator), else
|
754
|
+
// fallback on the previous implementation (GlimmerReference).
|
755
|
+
if (ember.GlimmerValidator) {
|
756
|
+
tagValue = ember.GlimmerValidator.value || ember.GlimmerValidator.valueForTag;
|
757
|
+
tagValidate = ember.GlimmerValidator.validate || ember.GlimmerValidator.validateTag;
|
758
|
+
track = ember.GlimmerValidator.track;
|
744
759
|
|
745
760
|
// patch tagFor to add debug info, older versions already have _propertyKey
|
746
|
-
const tagFor = GlimmerValidator.tagFor;
|
747
|
-
GlimmerValidator.tagFor = function (...args) {
|
761
|
+
const tagFor = ember.GlimmerValidator.tagFor;
|
762
|
+
ember.GlimmerValidator.tagFor = function (...args) {
|
748
763
|
const tag = tagFor.call(this, ...args);
|
749
764
|
const [obj, key] = args;
|
750
765
|
if ((!tag._propertyKey || !tag._object) && typeof obj === 'object' && typeof key === 'string') {
|
@@ -753,36 +768,27 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
753
768
|
}
|
754
769
|
return tag;
|
755
770
|
};
|
756
|
-
const trackedData = GlimmerValidator.trackedData;
|
757
|
-
GlimmerValidator.trackedData = function (...args) {
|
771
|
+
const trackedData = ember.GlimmerValidator.trackedData;
|
772
|
+
ember.GlimmerValidator.trackedData = function (...args) {
|
758
773
|
const r = trackedData.call(this, ...args);
|
759
774
|
if (r.getter && args.length === 2) {
|
760
775
|
const [key] = args;
|
761
776
|
const getter = r.getter;
|
762
777
|
r.getter = function (self) {
|
763
|
-
GlimmerValidator.tagFor(self, key);
|
778
|
+
ember.GlimmerValidator.tagFor(self, key);
|
764
779
|
return getter.call(this, self);
|
765
780
|
};
|
766
781
|
}
|
767
782
|
return r;
|
768
783
|
};
|
769
|
-
}
|
770
|
-
|
771
|
-
|
772
|
-
let GlimmerReference = ember.emberSafeRequire('@glimmer/reference');
|
773
|
-
tagValue = GlimmerReference.value;
|
774
|
-
tagValidate = GlimmerReference.validate;
|
775
|
-
} catch {
|
776
|
-
// ignore
|
777
|
-
}
|
784
|
+
} else if (ember.GlimmerReference) {
|
785
|
+
tagValue = ember.GlimmerReference.value;
|
786
|
+
tagValidate = ember.GlimmerReference.validate;
|
778
787
|
}
|
779
|
-
|
780
|
-
|
781
|
-
tagForProperty = metal.tagForProperty;
|
788
|
+
if (ember.InternalsMetal) {
|
789
|
+
tagForProperty = ember.InternalsMetal.tagForProperty;
|
782
790
|
// If track was not already loaded, use metal's version (the previous version)
|
783
|
-
track = track ||
|
784
|
-
} catch {
|
785
|
-
// ignore
|
791
|
+
track = track || ember.InternalsMetal.track;
|
786
792
|
}
|
787
793
|
const HAS_GLIMMER_TRACKING = tagValue && tagValidate && track && tagForProperty;
|
788
794
|
const keys = Object.keys;
|
@@ -1790,7 +1796,7 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
1790
1796
|
// The rest are skipped to reduce noise in the inspector.
|
1791
1797
|
if (ember.Component && object instanceof ember.Component) {
|
1792
1798
|
skipProperties.push('currentState', 'state', 'buffer', 'outletSource', 'lengthBeforeRender', 'lengthAfterRender', 'template', 'layout', 'templateData', 'domManager', 'states', 'element', 'targetObject');
|
1793
|
-
} else if (
|
1799
|
+
} else if (GlimmerDebugComponent && object instanceof GlimmerDebugComponent) {
|
1794
1800
|
// These properties don't really exist on Glimmer Components, but
|
1795
1801
|
// reading their values trigger a development mode assertion. The
|
1796
1802
|
// more correct long term fix is to make getters lazy (shows "..."
|
@@ -2298,20 +2304,13 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
2298
2304
|
constructor(owner) {
|
2299
2305
|
this.nodeMap = new Map();
|
2300
2306
|
this.remoteRoots = [];
|
2301
|
-
this.runtime = ember.
|
2302
|
-
this.reference = ember.
|
2303
|
-
|
2304
|
-
|
2305
|
-
} catch {
|
2306
|
-
// nope
|
2307
|
-
}
|
2308
|
-
try {
|
2309
|
-
requireModule('@glimmer/manager').CustomModifierManager.prototype.getDebugInstance = args => args.modifier || args.delegate;
|
2310
|
-
} catch {
|
2311
|
-
// nope
|
2307
|
+
this.runtime = ember.GlimmerRuntime;
|
2308
|
+
this.reference = ember.GlimmerReference;
|
2309
|
+
if (ember.GlimmerManager) {
|
2310
|
+
ember.GlimmerManager.CustomModifierManager.prototype.getDebugInstance = args => args.modifier || args.delegate;
|
2312
2311
|
}
|
2313
|
-
this.DESTROY = ember.
|
2314
|
-
this.registerDestructor = ember.
|
2312
|
+
this.DESTROY = ember.GlimmerUtil?.DESTROY;
|
2313
|
+
this.registerDestructor = ember.EmberDestroyable?.registerDestructor;
|
2315
2314
|
this.debugRenderTree = owner.lookup('renderer:-dom')?.debugRenderTree || owner.lookup('service:-glimmer-environment')._debugRenderTree;
|
2316
2315
|
this.NewElementBuilder = this.runtime.NewElementBuilder || this.runtime.NewTreeBuilder;
|
2317
2316
|
this.patch();
|
@@ -2816,7 +2815,10 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
2816
2815
|
this.inElementSupport?.nodeMap.set(node, node.id);
|
2817
2816
|
this.inElementSupport?.remoteRoots.push(node);
|
2818
2817
|
}
|
2819
|
-
|
2818
|
+
|
2819
|
+
// EmberWormhole component from ember-wormhole was used to provide
|
2820
|
+
// rendering into a given DOM element prior to built-in in-element.
|
2821
|
+
if (node.template === 'ember-wormhole/templates/components/ember-wormhole.hbs') {
|
2820
2822
|
this.inElementSupport?.remoteRoots.push(node);
|
2821
2823
|
const bounds = node.bounds;
|
2822
2824
|
Object.defineProperty(node, 'bounds', {
|
@@ -2841,8 +2843,9 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
2841
2843
|
node.args.named[attr.nodeName] = attr.nodeValue;
|
2842
2844
|
});
|
2843
2845
|
// move modifiers and components into the element children
|
2846
|
+
|
2844
2847
|
parentNode.children.forEach(child => {
|
2845
|
-
if (child.bounds.parentElement
|
2848
|
+
if (node.instance.contains(child.bounds.parentElement) || node.instance.contains(child.meta?.parentElement) || child.type === 'modifier' && child.bounds.firstNode === node.instance) {
|
2846
2849
|
node.children.push(child);
|
2847
2850
|
}
|
2848
2851
|
});
|
@@ -3346,7 +3349,11 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
3346
3349
|
onMouseMove(event) {
|
3347
3350
|
event.preventDefault();
|
3348
3351
|
event.stopPropagation();
|
3349
|
-
|
3352
|
+
let target = event.target;
|
3353
|
+
if (target.shadowRoot) {
|
3354
|
+
target = target.shadowRoot.elementFromPoint(event.x, event.y) || target;
|
3355
|
+
}
|
3356
|
+
this.inspectNearest(target, false);
|
3350
3357
|
}
|
3351
3358
|
onKeyDown(event) {
|
3352
3359
|
if (event.key === 'Escape' || event.key === 'Esc') {
|
@@ -3369,7 +3376,11 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
3369
3376
|
} else if (this.isInspecting && event.button === 0) {
|
3370
3377
|
event.preventDefault();
|
3371
3378
|
event.stopPropagation();
|
3372
|
-
|
3379
|
+
let target = event.target;
|
3380
|
+
if (target.shadowRoot) {
|
3381
|
+
target = target.shadowRoot.elementFromPoint(event.x, event.y) || target;
|
3382
|
+
}
|
3383
|
+
this.inspectNearest(target, true);
|
3373
3384
|
this.stop(false);
|
3374
3385
|
}
|
3375
3386
|
}
|
@@ -3726,6 +3737,9 @@ define('ember-debug/main', ['ember-debug/base-object', 'ember-debug/basic2', 'em
|
|
3726
3737
|
onRightClick(event) {
|
3727
3738
|
if (event.button === 2) {
|
3728
3739
|
this.lastRightClicked = event.target;
|
3740
|
+
if (event.target.shadowRoot) {
|
3741
|
+
this.lastRightClicked = event.target.shadowRoot.elementFromPoint(event.x, event.y) || event.target;
|
3742
|
+
}
|
3729
3743
|
}
|
3730
3744
|
}
|
3731
3745
|
onResize() {
|
@@ -9854,7 +9868,7 @@ define('ember-debug/type-check', ['exports', 'ember-debug/ember'], (function (ex
|
|
9854
9868
|
const {
|
9855
9869
|
descriptorForDecorator,
|
9856
9870
|
descriptorForProperty
|
9857
|
-
} = ember.
|
9871
|
+
} = ember.InternalsMetal || {};
|
9858
9872
|
return descriptorForDecorator?.(object[key]) || descriptorForProperty?.(object, key);
|
9859
9873
|
}
|
9860
9874
|
return object[key];
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta name="description" content="">
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
10
10
|
|
11
|
-
<meta name="ember-inspector/config/environment" content="%7B%22modulePrefix%22%3A%22ember-inspector%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22hash%22%2C%22version%22%3A%224.13.1-alpha.2025.6.
|
11
|
+
<meta name="ember-inspector/config/environment" content="%7B%22modulePrefix%22%3A%22ember-inspector%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22hash%22%2C%22version%22%3A%224.13.1-alpha.2025.6.21%2B8188179%22%2C%22emberVersionsSupported%22%3A%5B%223.16.0%22%2C%22%22%5D%2C%22previousEmberVersionsSupported%22%3A%5B%220.0.0%22%2C%222.7.0%22%2C%223.4.0%22%5D%2C%22EmberENV%22%3A%7B%22EXTEND_PROTOTYPES%22%3Afalse%2C%22FEATURES%22%3A%7B%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_NO_IMPLICIT_ROUTE_MODEL%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22ember-inspector%22%2C%22version%22%3A%224.13.1-alpha.2025.6.21%2B8188179%2B81881796%22%7D%7D" />
|
12
12
|
|
13
13
|
<style type="text/css">
|
14
14
|
@font-face {
|
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
<script src="assets/vendor.js"></script>
|
40
40
|
<script src="assets/chunk.443.86a005e528b587663b78.js"></script>
|
41
|
-
<script src="assets/chunk.524.
|
41
|
+
<script src="assets/chunk.524.ef839d668b8055a7b20a.js"></script>
|
42
42
|
<script src="assets/ember-inspector.js"></script>
|
43
43
|
|
44
44
|
|
@@ -1,36 +1,31 @@
|
|
1
1
|
import captureRenderTree from './capture-render-tree';
|
2
2
|
import { guidFor } from 'ember-debug/utils/ember/object/internals';
|
3
|
-
import { emberSafeRequire } from 'ember-debug/utils/ember';
|
4
3
|
import { inspect } from 'ember-debug/utils/type-check';
|
5
4
|
import { isInVersionSpecifier } from 'ember-debug/utils/version';
|
6
|
-
import {
|
5
|
+
import {
|
6
|
+
VERSION,
|
7
|
+
EmberDestroyable,
|
8
|
+
GlimmerManager,
|
9
|
+
GlimmerReference,
|
10
|
+
GlimmerRuntime,
|
11
|
+
GlimmerUtil,
|
12
|
+
} from 'ember-debug/utils/ember';
|
7
13
|
|
8
14
|
class InElementSupportProvider {
|
9
15
|
constructor(owner) {
|
10
16
|
this.nodeMap = new Map();
|
11
17
|
this.remoteRoots = [];
|
12
|
-
this.runtime =
|
13
|
-
this.reference =
|
14
|
-
try {
|
15
|
-
this.Wormhole = requireModule('ember-wormhole/components/ember-wormhole');
|
16
|
-
} catch {
|
17
|
-
// nope
|
18
|
-
}
|
18
|
+
this.runtime = GlimmerRuntime;
|
19
|
+
this.reference = GlimmerReference;
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
).
|
24
|
-
args.modifier || args.delegate;
|
25
|
-
} catch {
|
26
|
-
// nope
|
21
|
+
if (GlimmerManager) {
|
22
|
+
GlimmerManager.CustomModifierManager.prototype.getDebugInstance = (
|
23
|
+
args,
|
24
|
+
) => args.modifier || args.delegate;
|
27
25
|
}
|
28
26
|
|
29
|
-
this.DESTROY =
|
30
|
-
this.registerDestructor =
|
31
|
-
emberSafeRequire('@glimmer/destroyable')?.registerDestructor ||
|
32
|
-
emberSafeRequire('@ember/destroyable')?.registerDestructor ||
|
33
|
-
emberSafeRequire('@ember/runtime')?.registerDestructor;
|
27
|
+
this.DESTROY = GlimmerUtil?.DESTROY;
|
28
|
+
this.registerDestructor = EmberDestroyable?.registerDestructor;
|
34
29
|
|
35
30
|
this.debugRenderTree =
|
36
31
|
owner.lookup('renderer:-dom')?.debugRenderTree ||
|
@@ -607,9 +602,11 @@ export default class RenderTree {
|
|
607
602
|
this.inElementSupport?.remoteRoots.push(node);
|
608
603
|
}
|
609
604
|
|
605
|
+
// EmberWormhole component from ember-wormhole was used to provide
|
606
|
+
// rendering into a given DOM element prior to built-in in-element.
|
610
607
|
if (
|
611
|
-
|
612
|
-
|
608
|
+
node.template ===
|
609
|
+
'ember-wormhole/templates/components/ember-wormhole.hbs'
|
613
610
|
) {
|
614
611
|
this.inElementSupport?.remoteRoots.push(node);
|
615
612
|
const bounds = node.bounds;
|
@@ -637,10 +634,11 @@ export default class RenderTree {
|
|
637
634
|
node.args.named[attr.nodeName] = attr.nodeValue;
|
638
635
|
});
|
639
636
|
// move modifiers and components into the element children
|
637
|
+
|
640
638
|
parentNode.children.forEach((child) => {
|
641
639
|
if (
|
642
|
-
child.bounds.parentElement
|
643
|
-
child.meta?.parentElement
|
640
|
+
node.instance.contains(child.bounds.parentElement) ||
|
641
|
+
node.instance.contains(child.meta?.parentElement) ||
|
644
642
|
(child.type === 'modifier' &&
|
645
643
|
child.bounds.firstNode === node.instance)
|
646
644
|
) {
|
@@ -317,7 +317,11 @@ export default class ViewInspection {
|
|
317
317
|
onMouseMove(event) {
|
318
318
|
event.preventDefault();
|
319
319
|
event.stopPropagation();
|
320
|
-
|
320
|
+
let target = event.target;
|
321
|
+
if (target.shadowRoot) {
|
322
|
+
target = target.shadowRoot.elementFromPoint(event.x, event.y) || target;
|
323
|
+
}
|
324
|
+
this.inspectNearest(target, false);
|
321
325
|
}
|
322
326
|
|
323
327
|
onKeyDown(event) {
|
@@ -342,7 +346,11 @@ export default class ViewInspection {
|
|
342
346
|
} else if (this.isInspecting && event.button === 0) {
|
343
347
|
event.preventDefault();
|
344
348
|
event.stopPropagation();
|
345
|
-
|
349
|
+
let target = event.target;
|
350
|
+
if (target.shadowRoot) {
|
351
|
+
target = target.shadowRoot.elementFromPoint(event.x, event.y) || target;
|
352
|
+
}
|
353
|
+
this.inspectNearest(target, true);
|
346
354
|
this.stop(false);
|
347
355
|
}
|
348
356
|
}
|
@@ -16,28 +16,24 @@ import {
|
|
16
16
|
ObjectProxy,
|
17
17
|
ArrayProxy,
|
18
18
|
Service,
|
19
|
+
InternalsMetal,
|
19
20
|
Component,
|
20
|
-
|
21
|
+
GlimmerComponent,
|
22
|
+
GlimmerReference,
|
23
|
+
GlimmerValidator,
|
21
24
|
} from 'ember-debug/utils/ember';
|
22
25
|
import { cacheFor, guidFor } from 'ember-debug/utils/ember/object/internals';
|
23
26
|
import { _backburner, join } from 'ember-debug/utils/ember/runloop';
|
24
27
|
import emberNames from './utils/ember-object-names';
|
25
28
|
import getObjectName from './utils/get-object-name';
|
26
29
|
|
27
|
-
const GlimmerComponent = (() => {
|
28
|
-
try {
|
29
|
-
return emberSafeRequire('@glimmer/component').default;
|
30
|
-
} catch {
|
31
|
-
// ignore, return undefined
|
32
|
-
}
|
33
|
-
})();
|
34
|
-
|
35
30
|
let tagValue, tagValidate, track, tagForProperty;
|
36
31
|
|
37
|
-
|
38
|
-
// Try to load the most recent library
|
39
|
-
let GlimmerValidator = emberSafeRequire('@glimmer/validator');
|
32
|
+
const GlimmerDebugComponent = (() => GlimmerComponent?.default)();
|
40
33
|
|
34
|
+
// Try to use the most recent library (GlimmerValidator), else
|
35
|
+
// fallback on the previous implementation (GlimmerReference).
|
36
|
+
if (GlimmerValidator) {
|
41
37
|
tagValue = GlimmerValidator.value || GlimmerValidator.valueForTag;
|
42
38
|
tagValidate = GlimmerValidator.validate || GlimmerValidator.validateTag;
|
43
39
|
track = GlimmerValidator.track;
|
@@ -70,26 +66,15 @@ try {
|
|
70
66
|
}
|
71
67
|
return r;
|
72
68
|
};
|
73
|
-
}
|
74
|
-
|
75
|
-
|
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;
|
83
72
|
}
|
84
73
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
tagForProperty = metal.tagForProperty;
|
74
|
+
if (InternalsMetal) {
|
75
|
+
tagForProperty = InternalsMetal.tagForProperty;
|
89
76
|
// If track was not already loaded, use metal's version (the previous version)
|
90
|
-
track = track ||
|
91
|
-
} catch {
|
92
|
-
// ignore
|
77
|
+
track = track || InternalsMetal.track;
|
93
78
|
}
|
94
79
|
|
95
80
|
const HAS_GLIMMER_TRACKING = tagValue && tagValidate && track && tagForProperty;
|
@@ -1285,7 +1270,7 @@ function getDebugInfo(object) {
|
|
1285
1270
|
'element',
|
1286
1271
|
'targetObject',
|
1287
1272
|
);
|
1288
|
-
} else if (
|
1273
|
+
} else if (GlimmerDebugComponent && object instanceof GlimmerDebugComponent) {
|
1289
1274
|
// These properties don't really exist on Glimmer Components, but
|
1290
1275
|
// reading their values trigger a development mode assertion. The
|
1291
1276
|
// more correct long term fix is to make getters lazy (shows "..."
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { compareVersion } from 'ember-debug/utils/version';
|
2
|
-
import { emberSafeRequire } from 'ember-debug/utils/ember';
|
3
2
|
import {
|
4
3
|
VERSION,
|
5
4
|
ActionHandler,
|
@@ -10,6 +9,8 @@ import {
|
|
10
9
|
MutableArray,
|
11
10
|
Component,
|
12
11
|
Evented,
|
12
|
+
InternalsRuntime,
|
13
|
+
InternalsViews,
|
13
14
|
PromiseProxyMixin,
|
14
15
|
EmberObject,
|
15
16
|
Observable,
|
@@ -33,14 +34,12 @@ const emberNames = new Map([
|
|
33
34
|
]);
|
34
35
|
|
35
36
|
if (compareVersion(VERSION, '3.27.0') === -1) {
|
36
|
-
const TargetActionSupport =
|
37
|
-
'@ember/-internals/runtime',
|
38
|
-
)?.TargetActionSupport;
|
37
|
+
const TargetActionSupport = InternalsRuntime?.TargetActionSupport;
|
39
38
|
emberNames.set(TargetActionSupport, 'TargetActionSupport Mixin');
|
40
39
|
}
|
41
40
|
|
42
41
|
try {
|
43
|
-
const Views =
|
42
|
+
const Views = InternalsViews || {};
|
44
43
|
emberNames.set(Views.ViewStateSupport, 'ViewStateSupport Mixin');
|
45
44
|
emberNames.set(Views.ViewMixin, 'View Mixin');
|
46
45
|
emberNames.set(Views.ActionSupport, 'ActionSupport Mixin');
|
@@ -56,11 +56,21 @@ let captureRenderTree = Ember._captureRenderTree;
|
|
56
56
|
let getEnv = () => Ember.ENV;
|
57
57
|
|
58
58
|
let Debug = emberSafeRequire('@ember/debug');
|
59
|
+
let InternalsMetal = emberSafeRequire('@ember/-internals/metal');
|
60
|
+
let InternalsRuntime = emberSafeRequire('@ember/-internals/runtime');
|
59
61
|
let InternalsUtils = emberSafeRequire('@ember/-internals/utils');
|
62
|
+
let InternalsViews = emberSafeRequire('@ember/-internals/views');
|
63
|
+
let EmberDestroyable = emberSafeRequire('@ember/destroyable');
|
60
64
|
let ObjectInternals = emberSafeRequire('@ember/object/internals');
|
61
65
|
let Instrumentation = emberSafeRequire('@ember/instrumentation');
|
62
66
|
let Runloop = emberSafeRequire('@ember/runloop');
|
63
67
|
let RSVP = emberSafeRequire('rsvp');
|
68
|
+
let GlimmerComponent = emberSafeRequire('@glimmer/component');
|
69
|
+
let GlimmerManager = emberSafeRequire('@glimmer/manager');
|
70
|
+
let GlimmerReference = emberSafeRequire('@glimmer/reference');
|
71
|
+
let GlimmerRuntime = emberSafeRequire('@glimmer/runtime');
|
72
|
+
let GlimmerUtil = emberSafeRequire('@glimmer/util');
|
73
|
+
let GlimmerValidator = emberSafeRequire('@glimmer/validator');
|
64
74
|
|
65
75
|
if (!Ember) {
|
66
76
|
captureRenderTree = emberSafeRequire('@ember/debug')?.captureRenderTree;
|
@@ -94,7 +104,10 @@ if (!Ember) {
|
|
94
104
|
export {
|
95
105
|
Runloop,
|
96
106
|
Debug,
|
107
|
+
InternalsMetal,
|
108
|
+
InternalsRuntime,
|
97
109
|
InternalsUtils,
|
110
|
+
InternalsViews,
|
98
111
|
ObjectInternals,
|
99
112
|
Instrumentation,
|
100
113
|
RSVP,
|
@@ -113,6 +126,7 @@ export {
|
|
113
126
|
Evented,
|
114
127
|
Service,
|
115
128
|
PromiseProxyMixin,
|
129
|
+
EmberDestroyable,
|
116
130
|
EmberObject,
|
117
131
|
VERSION,
|
118
132
|
ComputedProperty,
|
@@ -122,6 +136,12 @@ export {
|
|
122
136
|
set,
|
123
137
|
captureRenderTree,
|
124
138
|
getEnv,
|
139
|
+
GlimmerComponent,
|
140
|
+
GlimmerManager,
|
141
|
+
GlimmerReference,
|
142
|
+
GlimmerRuntime,
|
143
|
+
GlimmerUtil,
|
144
|
+
GlimmerValidator,
|
125
145
|
};
|
126
146
|
|
127
147
|
export default Ember;
|
@@ -3,7 +3,7 @@ import {
|
|
3
3
|
ComputedProperty,
|
4
4
|
EmberObject,
|
5
5
|
meta as emberMeta,
|
6
|
-
|
6
|
+
InternalsMetal,
|
7
7
|
} from 'ember-debug/utils/ember';
|
8
8
|
|
9
9
|
/**
|
@@ -41,7 +41,7 @@ export function getDescriptorFor(object, key) {
|
|
41
41
|
// exists longer than ember 3.10
|
42
42
|
if (Debug.isComputed) {
|
43
43
|
const { descriptorForDecorator, descriptorForProperty } =
|
44
|
-
|
44
|
+
InternalsMetal || {};
|
45
45
|
return (
|
46
46
|
descriptorForDecorator?.(object[key]) ||
|
47
47
|
descriptorForProperty?.(object, key)
|
@@ -103,6 +103,11 @@ export default class extends DebugPort {
|
|
103
103
|
onRightClick(event) {
|
104
104
|
if (event.button === 2) {
|
105
105
|
this.lastRightClicked = event.target;
|
106
|
+
if (event.target.shadowRoot) {
|
107
|
+
this.lastRightClicked =
|
108
|
+
event.target.shadowRoot.elementFromPoint(event.x, event.y) ||
|
109
|
+
event.target;
|
110
|
+
}
|
106
111
|
}
|
107
112
|
}
|
108
113
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "ember-inspector",
|
3
|
-
"version": "4.13.1-alpha.2025.6.
|
3
|
+
"version": "4.13.1-alpha.2025.6.21+8188179",
|
4
4
|
"description": "Extends developer tools to allow you to better inspect your Ember.js apps.",
|
5
5
|
"repository": "https://github.com/emberjs/ember-inspector",
|
6
6
|
"license": "MIT",
|
@@ -173,8 +173,9 @@
|
|
173
173
|
}
|
174
174
|
},
|
175
175
|
"scripts": {
|
176
|
-
"build": "ember build",
|
177
|
-
"build:
|
176
|
+
"build": "pnpm build:ember-debug && ember build",
|
177
|
+
"build:ember-debug": "pnpm --filter ember-debug build",
|
178
|
+
"build:production": "pnpm build:ember-debug && EMBER_ENV=production node scripts/download-panes.js && ember build --environment production && gulp compress:chrome && gulp compress:firefox && gulp clean-tmp",
|
178
179
|
"changelog": "github_changelog_generator -u emberjs -p ember-inspector --since-tag v3.8.0",
|
179
180
|
"compress:panes": "gulp compress:chrome-pane && gulp compress:firefox-pane && gulp compress:bookmarklet-pane",
|
180
181
|
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto",
|
@@ -190,7 +191,12 @@
|
|
190
191
|
"serve:bookmarklet": "ember serve --port 9191",
|
191
192
|
"start": "ember serve",
|
192
193
|
"test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\" --prefixColors auto",
|
193
|
-
"test:ember": "COVERAGE=true ember test",
|
194
|
-
"watch": "
|
194
|
+
"test:ember": "pnpm build:ember-debug && COVERAGE=true ember test",
|
195
|
+
"watch-test": "pnpm '/test-watch:/'",
|
196
|
+
"watch-test:ember-debug": "pnpm --filter ember-debug watch",
|
197
|
+
"watch-test:inspector-ui": "ember test --serv",
|
198
|
+
"watch": "pnpm '/watch:/'",
|
199
|
+
"watch:inspector-ui": "ember build --watch",
|
200
|
+
"watch:ember-debug": "pnpm --filter ember-debug watch"
|
195
201
|
}
|
196
202
|
}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
"manifest_version": 3,
|
3
3
|
"name": "Ember Inspector (Nightly)",
|
4
4
|
"description": "Tool for debugging Ember applications.",
|
5
|
-
"version": "2025.6.
|
5
|
+
"version": "2025.6.21",
|
6
6
|
"icons": {
|
7
7
|
"16": "{{PANE_ROOT}}/assets/images/icon16.png",
|
8
8
|
"38": "{{PANE_ROOT}}/assets/images/icon38.png",
|
@@ -74,5 +74,5 @@
|
|
74
74
|
]
|
75
75
|
}
|
76
76
|
],
|
77
|
-
"version_name": "4.13.1 (nightly build 2025.6.
|
77
|
+
"version_name": "4.13.1 (nightly build 2025.6.21 / 8188179)"
|
78
78
|
}
|