ember-inspector 4.13.1-alpha.2025.8.9 → 4.13.1-alpha.2025.9.2
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/app/components/object-inspector/properties-base.js +2 -0
- package/app/components/object-inspector/property.hbs +22 -20
- package/app/components/object-inspector/property.ts +8 -0
- package/app/components/object-inspector/toggle.hbs +9 -0
- package/app/components/object-inspector/toggle.js +6 -0
- package/app/controllers/application.js +5 -41
- package/app/controllers/component-tree.js +4 -4
- package/app/index.html +0 -18
- package/app/routes/application.js +2 -1
- package/app/services/layout.ts +36 -0
- package/app/styles/base.scss +6 -4
- package/app/styles/object_inspector.scss +8 -0
- package/app/styles/ui/_object-inspector-toggle.scss +1 -9
- package/app/styles/ui/_split.scss +9 -0
- package/app/templates/application.hbs +10 -10
- package/dist/bookmarklet/panes-3-16-0/assets/{chunk.524.46c2524da6c95db907ed.js → chunk.524.c1bfb56c055e7d0fc46c.js} +4 -4
- package/dist/{firefox/panes-3-16-0/assets/chunk.582.283a670cfc26725677e5.js → bookmarklet/panes-3-16-0/assets/chunk.582.5c3ead834de4d1a345b0.js} +5 -5
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +22 -11
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +46 -42
- package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +9 -7
- package/dist/bookmarklet/panes-3-16-0/ember.js +9 -2
- package/dist/bookmarklet/panes-3-16-0/index.html +2 -20
- package/dist/bookmarklet/panes-3-16-0/main.js +22 -1
- package/dist/chrome/manifest.json +2 -2
- package/dist/{firefox/panes-3-16-0/assets/chunk.524.46c2524da6c95db907ed.js → chrome/panes-3-16-0/assets/chunk.524.c1bfb56c055e7d0fc46c.js} +4 -4
- package/dist/{bookmarklet/panes-3-16-0/assets/chunk.582.283a670cfc26725677e5.js → chrome/panes-3-16-0/assets/chunk.582.5c3ead834de4d1a345b0.js} +5 -5
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +22 -11
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +46 -42
- package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/chrome/panes-3-16-0/assets/vendor.js +9 -7
- package/dist/chrome/panes-3-16-0/ember.js +9 -2
- package/dist/chrome/panes-3-16-0/index.html +2 -20
- package/dist/chrome/panes-3-16-0/main.js +22 -1
- package/dist/firefox/manifest.json +2 -2
- package/dist/{chrome/panes-3-16-0/assets/chunk.524.46c2524da6c95db907ed.js → firefox/panes-3-16-0/assets/chunk.524.c1bfb56c055e7d0fc46c.js} +4 -4
- package/dist/{websocket/assets/chunk.582.283a670cfc26725677e5.js → firefox/panes-3-16-0/assets/chunk.582.5c3ead834de4d1a345b0.js} +5 -5
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +22 -11
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +46 -42
- package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/firefox/panes-3-16-0/assets/vendor.js +9 -7
- package/dist/firefox/panes-3-16-0/ember.js +9 -2
- package/dist/firefox/panes-3-16-0/index.html +2 -20
- package/dist/firefox/panes-3-16-0/main.js +22 -1
- package/dist/websocket/assets/{chunk.524.46c2524da6c95db907ed.js → chunk.524.c1bfb56c055e7d0fc46c.js} +4 -4
- package/dist/{chrome/panes-3-16-0/assets/chunk.582.283a670cfc26725677e5.js → websocket/assets/chunk.582.5c3ead834de4d1a345b0.js} +5 -5
- package/dist/websocket/assets/ember-inspector.css +22 -11
- package/dist/websocket/assets/ember-inspector.js +46 -42
- package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/dist/websocket/assets/vendor.js +9 -7
- package/dist/websocket/ember.js +9 -2
- package/dist/websocket/index.html +2 -20
- package/dist/websocket/main.js +22 -1
- package/ember_debug/object-inspector.js +28 -0
- package/ember_debug/utils/ember.js +11 -1
- package/package.json +1 -1
- package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
- package/skeletons/web-extension/manifest.json +2 -2
- package/tests/ember_debug/object-inspector-test.js +54 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
- package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
- package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
- package/public/assets/fonts/Inter-Bold.woff +0 -0
- package/public/assets/fonts/Inter-Bold.woff2 +0 -0
- package/public/assets/fonts/Inter-Regular.woff +0 -0
- package/public/assets/fonts/Inter-Regular.woff2 +0 -0
|
@@ -5224,7 +5224,9 @@ define("ember-svg-jar/inlined/send-with-chevron",["exports"],(function(e){"use s
|
|
|
5224
5224
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5225
5225
|
e.default={content:'<path class="send-chevron" fill="#2C7FB3" d="M0 4l4-4 11.9 12L4.2 24 .1 20l8-8z"/>',attrs:{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"24",viewBox:"0 0 16 24"}}})),define("ember-svg-jar/inlined/send-with-text",["exports"],(function(e){"use strict"
|
|
5226
5226
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5227
|
-
e.default={content:'<g fill="none"><path class="send-chevron" fill="#2C7FB3" d="M0 7l4-4 11.9 12L4.2 27 .1 23l8-8z"/><path class="send-text" fill="#555" d="M36.5 13.7c4.8 1.2 6.8 3.1 6.8 6.7 0 4-2.9 6.7-7.4 7.1v1.9h-2v-1.8c-4.5-.3-7.5-2.9-7.7-6.9h3c.2 2.3 2 3.8 4.7 4.1v-8.6l-.7-.2c-4.5-1.1-6.6-3.2-6.6-6.7 0-3.8 2.8-6.4 7.1-6.8V.7h2v1.9c4.1.4 6.8 2.9 7 6.6h-3c-.3-2.1-1.8-3.5-4-3.9v8.2l.8.2zm-2.8-8.4c-2.5.3-4 1.7-4 3.9 0 1.9 1.1 3 4 3.8V5.3zm2.1 19.4c2.6-.3 4.3-1.9 4.3-4.1 0-2-1.3-3.2-4.3-4v8.1zM63.1 27H48.7V3h14.4v3.1H52.2v7.3h10.3v2.9H52.2V24h10.9z"/></g>',attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 30",width:"64",height:"30"}}})),define("ember-svg-jar/inlined/sidebar-toggle",["exports"],(function(e){"use strict"
|
|
5227
|
+
e.default={content:'<g fill="none"><path class="send-chevron" fill="#2C7FB3" d="M0 7l4-4 11.9 12L4.2 27 .1 23l8-8z"/><path class="send-text" fill="#555" d="M36.5 13.7c4.8 1.2 6.8 3.1 6.8 6.7 0 4-2.9 6.7-7.4 7.1v1.9h-2v-1.8c-4.5-.3-7.5-2.9-7.7-6.9h3c.2 2.3 2 3.8 4.7 4.1v-8.6l-.7-.2c-4.5-1.1-6.6-3.2-6.6-6.7 0-3.8 2.8-6.4 7.1-6.8V.7h2v1.9c4.1.4 6.8 2.9 7 6.6h-3c-.3-2.1-1.8-3.5-4-3.9v8.2l.8.2zm-2.8-8.4c-2.5.3-4 1.7-4 3.9 0 1.9 1.1 3 4 3.8V5.3zm2.1 19.4c2.6-.3 4.3-1.9 4.3-4.1 0-2-1.3-3.2-4.3-4v8.1zM63.1 27H48.7V3h14.4v3.1H52.2v7.3h10.3v2.9H52.2V24h10.9z"/></g>',attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 30",width:"64",height:"30"}}})),define("ember-svg-jar/inlined/sidebar-toggle-trailing",["exports"],(function(e){"use strict"
|
|
5228
|
+
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5229
|
+
e.default={content:'<path class="svg-stroke" d="M14.5 1.5h-13a1 1 0 00-1 1v11a1 1 0 001 1h13a1 1 0 001-1v-11a1 1 0 00-1-1zM9.5 2v12M11 4h3M11 6h3M11 8h3"/>',attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"}}})),define("ember-svg-jar/inlined/sidebar-toggle",["exports"],(function(e){"use strict"
|
|
5228
5230
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5229
5231
|
e.default={content:'<path class="svg-stroke" d="M14.5 1.5h-13a1 1 0 00-1 1v11a1 1 0 001 1h13a1 1 0 001-1v-11a1 1 0 00-1-1zM6.5 2v12M5 4H2M5 6H2M5 8H2"/>',attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"}}})),define("ember-svg-jar/inlined/warning",["exports"],(function(e){"use strict"
|
|
5230
5232
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -5559,10 +5561,10 @@ e.default=(0,t.createTemplateFactory)({id:"6zi+CHFZ",block:'[[[41,[30,0,["isFirs
|
|
|
5559
5561
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5560
5562
|
e.default=t.default.extend({layout:i.default,tagName:"tfoot",wrappedRowArray:(0,n.computed)("wrappedRows.[]",(function(){let e=this.get("wrappedRows"),t=e.get("length"),n=[]
|
|
5561
5563
|
for(let r=0;r<t;r++)n.push(e.objectAt(r))
|
|
5562
|
-
return(0,r.A)(n)}))})}))
|
|
5564
|
+
return(0,r.A)(n)}))})}))
|
|
5565
|
+
define("ember-table/components/ember-tfoot/template",["exports","@ember/template-factory"],(function(e,t){"use strict"
|
|
5563
5566
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5564
|
-
e.default=(0,t.createTemplateFactory)({id:"/IEu90BH",block:'[[[42,[28,[37,1],[[28,[37,1],[[30,0,["wrappedRowArray"]]],null]],null],null,[[[1," "],[8,[39,2],null,[["@rowValue","@columns","@columnMetaCache","@rowMetaCache","@canSelect","@rowSelectionMode","@checkboxSelectionMode","@rowsCount"],[[30,1],[30,0,["columns"]],[30,0,["columnMetaCache"]],[30,0,["rowMetaCache"]],[30,0,["canSelect"]],[30,0,["rowSelectionMode"]],[30,0,["checkboxSelectionMode"]],[30,0,["wrappedRowArray","length"]]]],[["default"],[[[[1,"\\n"],[41,[48,[30,3]],[[[1," "],[18,3,[[28,[37,6],null,[["rowValue","rowMeta","cells","rowSelectionMode","rowsCount","row"],[[30,2,["rowValue"]],[30,2,["rowMeta"]],[30,2,["cells"]],[30,2,["rowSelectionMode"]],[30,2,["rowsCount"]],[50,"ember-tr",0,null,[["api"],[[30,2]]]]]]]]],[1,"\\n"]],[]],[[[1," "],[8,[39,8],null,[["@api"],[[30,2]]],null],[1,"\\n"]],[]]],[1," "]],[2]]]]],[1,"\\n"]],[1]],null]],["rowValue","api","&default"],false,["each","-track-array","ember-table-private/row-wrapper","if","has-block","yield","hash","component","ember-tr"]]',moduleName:"ember-table/components/ember-tfoot/template.hbs",isStrictMode:!1})}))
|
|
5565
|
-
define("ember-table/components/ember-th/component",["exports","ember-table/components/-private/base-table-cell","@ember/runloop","@ember/object/computed","ember-table/-private/utils/element","ember-table/components/ember-th/template","@ember/object"],(function(e,t,r,n,i,o,s){"use strict"
|
|
5567
|
+
e.default=(0,t.createTemplateFactory)({id:"/IEu90BH",block:'[[[42,[28,[37,1],[[28,[37,1],[[30,0,["wrappedRowArray"]]],null]],null],null,[[[1," "],[8,[39,2],null,[["@rowValue","@columns","@columnMetaCache","@rowMetaCache","@canSelect","@rowSelectionMode","@checkboxSelectionMode","@rowsCount"],[[30,1],[30,0,["columns"]],[30,0,["columnMetaCache"]],[30,0,["rowMetaCache"]],[30,0,["canSelect"]],[30,0,["rowSelectionMode"]],[30,0,["checkboxSelectionMode"]],[30,0,["wrappedRowArray","length"]]]],[["default"],[[[[1,"\\n"],[41,[48,[30,3]],[[[1," "],[18,3,[[28,[37,6],null,[["rowValue","rowMeta","cells","rowSelectionMode","rowsCount","row"],[[30,2,["rowValue"]],[30,2,["rowMeta"]],[30,2,["cells"]],[30,2,["rowSelectionMode"]],[30,2,["rowsCount"]],[50,"ember-tr",0,null,[["api"],[[30,2]]]]]]]]],[1,"\\n"]],[]],[[[1," "],[8,[39,8],null,[["@api"],[[30,2]]],null],[1,"\\n"]],[]]],[1," "]],[2]]]]],[1,"\\n"]],[1]],null]],["rowValue","api","&default"],false,["each","-track-array","ember-table-private/row-wrapper","if","has-block","yield","hash","component","ember-tr"]]',moduleName:"ember-table/components/ember-tfoot/template.hbs",isStrictMode:!1})})),define("ember-table/components/ember-th/component",["exports","ember-table/components/-private/base-table-cell","@ember/runloop","@ember/object/computed","ember-table/-private/utils/element","ember-table/components/ember-th/template","@ember/object"],(function(e,t,r,n,i,o,s){"use strict"
|
|
5566
5568
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5567
5569
|
e.default=t.default.extend({layout:o.default,tagName:"th",attributeBindings:["columnSpan:colspan","rowSpan:rowspan"],classNameBindings:["isSortable","isResizable","isReorderable"],api:null,onContextMenu:null,columnValue:(0,n.readOnly)("api.columnValue"),columnMeta:(0,n.readOnly)("api.columnMeta"),rowMeta:(0,n.readOnly)("api.rowMeta"),sorts:(0,n.readOnly)("api.sorts"),isSortable:(0,n.readOnly)("columnMeta.isSortable"),isResizable:(0,n.readOnly)("columnMeta.isResizable"),isReorderable:(0,n.readOnly)("columnMeta.isReorderable"),columnSpan:(0,n.readOnly)("columnMeta.columnSpan"),rowSpan:(0,n.readOnly)("columnMeta.rowSpan"),_columnState:0,_hammer:null,didInsertElement(){this._super(...arguments),this.get("columnMeta").registerElement(this.element)
|
|
5568
5570
|
let e=new Hammer(this.element)
|
|
@@ -5672,10 +5674,10 @@ let n=(0,s.getActiveElement)()
|
|
|
5672
5674
|
r&&n!==r&&r.focus()},_appendRange(e,t,r){for(;t;)e.insertBefore(t,null),t=t!==r?r.parentNode.firstChild:null},_removeRange(e,t){var r=t
|
|
5673
5675
|
do{var n=r.previousSibling
|
|
5674
5676
|
if(r.parentNode&&(r.parentNode.removeChild(r),r===e))break
|
|
5675
|
-
r=n}while(r)}})}))
|
|
5677
|
+
r=n}while(r)}})}))
|
|
5678
|
+
define("ember-wormhole/templates/components/ember-wormhole",["exports","@ember/template-factory"],(function(e,t){"use strict"
|
|
5676
5679
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
5677
|
-
e.default=(0,t.createTemplateFactory)({id:"AZTawDXE",block:'[[[1,[28,[35,0],[[30,0,["_wormholeHeadNode"]]],null]],[18,1,null],[1,[28,[35,0],[[30,0,["_wormholeTailNode"]]],null]]],["&default"],false,["unbound","yield"]]',moduleName:"ember-wormhole/templates/components/ember-wormhole.hbs",isStrictMode:!1})}))
|
|
5678
|
-
define("ember-wormhole/utils/dom",["exports","@ember/application"],(function(e,t){"use strict"
|
|
5680
|
+
e.default=(0,t.createTemplateFactory)({id:"AZTawDXE",block:'[[[1,[28,[35,0],[[30,0,["_wormholeHeadNode"]]],null]],[18,1,null],[1,[28,[35,0],[[30,0,["_wormholeTailNode"]]],null]]],["&default"],false,["unbound","yield"]]',moduleName:"ember-wormhole/templates/components/ember-wormhole.hbs",isStrictMode:!1})})),define("ember-wormhole/utils/dom",["exports","@ember/application"],(function(e,t){"use strict"
|
|
5679
5681
|
function r(e){let t=[],r=e.firstChild
|
|
5680
5682
|
for(;r;)t.push(r),r=r.nextSibling
|
|
5681
5683
|
return t}Object.defineProperty(e,"__esModule",{value:!0}),e.findElementById=function(e,t){if(e.getElementById)return e.getElementById(t)
|
package/dist/websocket/ember.js
CHANGED
|
@@ -24,7 +24,7 @@ function emberSafeRequire(id) {
|
|
|
24
24
|
return undefined;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
let ArrayProxy, Namespace, ActionHandler, ControllerMixin, CoreObject, Application, MutableArray, MutableEnumerable, NativeArray, Component, Observable, Evented, PromiseProxyMixin, Service, ObjectProxy, VERSION, ComputedProperty, meta, get, set, computed, EmberObject, captureRenderTree, getEnv;
|
|
27
|
+
let ArrayProxy, Namespace, ActionHandler, ControllerMixin, CoreObject, Application, MutableArray, MutableEnumerable, NativeArray, Component, Observable, Evented, PromiseProxyMixin, Service, ObjectProxy, VERSION, ComputedProperty, meta, get, set, computed, EmberObject, captureRenderTree, getEnv, getOwner;
|
|
28
28
|
let Debug = emberSafeRequire('@ember/debug');
|
|
29
29
|
let InternalsMetal = emberSafeRequire('@ember/-internals/metal');
|
|
30
30
|
let InternalsRuntime = emberSafeRequire('@ember/-internals/runtime');
|
|
@@ -41,6 +41,8 @@ let GlimmerReference = emberSafeRequire('@glimmer/reference');
|
|
|
41
41
|
let GlimmerRuntime = emberSafeRequire('@glimmer/runtime');
|
|
42
42
|
let GlimmerUtil = emberSafeRequire('@glimmer/util');
|
|
43
43
|
let GlimmerValidator = emberSafeRequire('@glimmer/validator');
|
|
44
|
+
let EmberOwner = emberSafeRequire('@ember/owner');
|
|
45
|
+
let EmberApplication = emberSafeRequire('@ember/application');
|
|
44
46
|
let inspect = Debug?.inspect || InternalsUtils?.inspect;
|
|
45
47
|
let subscribe = Instrumentation?.subscribe;
|
|
46
48
|
let cacheFor = ObjectInternals?.cacheFor;
|
|
@@ -104,5 +106,10 @@ if (Ember) {
|
|
|
104
106
|
set = emberSafeRequire('@ember/object')?.set;
|
|
105
107
|
get = emberSafeRequire('@ember/object')?.get;
|
|
106
108
|
}
|
|
109
|
+
if (EmberOwner) {
|
|
110
|
+
getOwner = EmberOwner.getOwner;
|
|
111
|
+
} else {
|
|
112
|
+
getOwner = EmberApplication.getOwner;
|
|
113
|
+
}
|
|
107
114
|
|
|
108
|
-
export { ActionHandler, Application, ArrayProxy, Component, ComputedProperty, ControllerMixin, CoreObject, Debug, EmberDestroyable, EmberObject, Evented, GlimmerComponent, GlimmerManager, GlimmerReference, GlimmerRuntime, GlimmerUtil, GlimmerValidator, Instrumentation, InternalsMetal, InternalsRuntime, InternalsUtils, InternalsViews, MutableArray, MutableEnumerable, Namespace, NativeArray, ObjectInternals, ObjectProxy, Observable, PromiseProxyMixin, RSVP, Runloop, Service, VERSION, cacheFor, captureRenderTree, computed, emberSafeRequire, get, getEnv, guidFor, inspect, libraries, meta, set, subscribe };
|
|
115
|
+
export { ActionHandler, Application, ArrayProxy, Component, ComputedProperty, ControllerMixin, CoreObject, Debug, EmberDestroyable, EmberObject, Evented, GlimmerComponent, GlimmerManager, GlimmerReference, GlimmerRuntime, GlimmerUtil, GlimmerValidator, Instrumentation, InternalsMetal, InternalsRuntime, InternalsUtils, InternalsViews, MutableArray, MutableEnumerable, Namespace, NativeArray, ObjectInternals, ObjectProxy, Observable, PromiseProxyMixin, RSVP, Runloop, Service, VERSION, cacheFor, captureRenderTree, computed, emberSafeRequire, get, getEnv, getOwner, guidFor, inspect, libraries, meta, set, subscribe };
|
|
@@ -8,25 +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.
|
|
12
|
-
|
|
13
|
-
<style type="text/css">
|
|
14
|
-
@font-face {
|
|
15
|
-
font-display: swap;
|
|
16
|
-
font-family: 'Inter';
|
|
17
|
-
font-style: normal;
|
|
18
|
-
font-weight: 400;
|
|
19
|
-
src: url("assets/fonts/Inter-Regular.woff2?v=3.12") format("woff2"), url("assets/fonts/Inter-Regular.woff?v=3.12") format("woff");
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
@font-face {
|
|
23
|
-
font-display: swap;
|
|
24
|
-
font-family: 'Inter';
|
|
25
|
-
font-style: normal;
|
|
26
|
-
font-weight: 700;
|
|
27
|
-
src: url("assets/fonts/Inter-Bold.woff2?v=3.12") format("woff2"), url("assets/fonts/Inter-Bold.woff?v=3.12") format("woff");
|
|
28
|
-
}
|
|
29
|
-
</style>
|
|
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.9.2%2B81c8dfd%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.9.2%2B81c8dfd%2B81c8dfd1%22%7D%7D" />
|
|
30
12
|
|
|
31
13
|
<link integrity="" rel="stylesheet" href="assets/vendor.css">
|
|
32
14
|
<link integrity="" rel="stylesheet" href="assets/ember-inspector.css">
|
|
@@ -38,7 +20,7 @@
|
|
|
38
20
|
|
|
39
21
|
<script src="assets/vendor.js"></script>
|
|
40
22
|
<script src="assets/chunk.443.86a005e528b587663b78.js"></script>
|
|
41
|
-
<script src="assets/chunk.524.
|
|
23
|
+
<script src="assets/chunk.524.c1bfb56c055e7d0fc46c.js"></script>
|
|
42
24
|
<script src="assets/ember-inspector.js"></script>
|
|
43
25
|
|
|
44
26
|
|
package/dist/websocket/main.js
CHANGED
|
@@ -3,7 +3,7 @@ import { B as BasicAdapter } from './basic-DfbgtngO.js';
|
|
|
3
3
|
import Port from './port.js';
|
|
4
4
|
import { inspect, typeOf, isComputed, getDescriptorFor } from './type-check.js';
|
|
5
5
|
import { compareVersion, isInVersionSpecifier } from './version.js';
|
|
6
|
-
import { InternalsRuntime, InternalsViews, Evented, PromiseProxyMixin, MutableArray, MutableEnumerable, NativeArray, Observable, ControllerMixin, ActionHandler, CoreObject, EmberObject, Component, VERSION, GlimmerComponent, GlimmerValidator, GlimmerReference, InternalsMetal, cacheFor, meta, ObjectProxy, ArrayProxy, Service, libraries, subscribe, captureRenderTree as captureRenderTree$1, getEnv, GlimmerRuntime, GlimmerManager, GlimmerUtil, EmberDestroyable, RSVP, Debug, Namespace, Application } from './ember.js';
|
|
6
|
+
import { InternalsRuntime, InternalsViews, Evented, PromiseProxyMixin, MutableArray, MutableEnumerable, NativeArray, Observable, ControllerMixin, ActionHandler, CoreObject, EmberObject, Component, VERSION, GlimmerComponent, GlimmerValidator, GlimmerReference, InternalsMetal, cacheFor, getOwner as getOwner$1, meta, ObjectProxy, ArrayProxy, Service, libraries, subscribe, captureRenderTree as captureRenderTree$1, getEnv, GlimmerRuntime, GlimmerManager, GlimmerUtil, EmberDestroyable, RSVP, Debug, Namespace, Application } from './ember.js';
|
|
7
7
|
import { g as guidFor, s as setGuidPrefix } from './internals-CRmXMEzb.js';
|
|
8
8
|
import { _ as _backburner, j as join, s as scheduleOnce, l as later, c as cancel, d as debounce, r as run } from './runloop-CF-Qpqgy.js';
|
|
9
9
|
import ProfileNode from './profile-node.js';
|
|
@@ -157,6 +157,7 @@ function getObjectName(object) {
|
|
|
157
157
|
|
|
158
158
|
let tagValue, tagValidate, track, tagForProperty;
|
|
159
159
|
const GlimmerDebugComponent = (() => GlimmerComponent?.default)();
|
|
160
|
+
const OWNER_SYMBOL = '__owner__'; // can't use actual symbol because it can't be cloned
|
|
160
161
|
|
|
161
162
|
// Try to use the most recent library (GlimmerValidator), else
|
|
162
163
|
// fallback on the previous implementation (GlimmerReference).
|
|
@@ -492,6 +493,8 @@ let _Class$7 = class _Class extends DebugPort {
|
|
|
492
493
|
let value;
|
|
493
494
|
if (prop === null || prop === undefined) {
|
|
494
495
|
value = this.sentObjects[objectId];
|
|
496
|
+
} else if (prop === OWNER_SYMBOL) {
|
|
497
|
+
value = getOwner$1(this.sentObjects[objectId]);
|
|
495
498
|
} else {
|
|
496
499
|
value = calculateCP(object, {
|
|
497
500
|
name: prop
|
|
@@ -604,6 +607,7 @@ let _Class$7 = class _Class extends DebugPort {
|
|
|
604
607
|
* - Bar
|
|
605
608
|
* - Foo
|
|
606
609
|
* - EmberObject
|
|
610
|
+
* - Owner (Container)
|
|
607
611
|
* ```
|
|
608
612
|
*
|
|
609
613
|
* The "mixins" returned by this function directly represent these things too.
|
|
@@ -683,6 +687,23 @@ let _Class$7 = class _Class extends DebugPort {
|
|
|
683
687
|
let errorsForObject = this._errorsFor[objectId] = {};
|
|
684
688
|
const tracked = this.trackedTags[objectId] = this.trackedTags[objectId] || {};
|
|
685
689
|
calculateCPs(object, mixinDetails, errorsForObject, expensiveProperties, tracked);
|
|
690
|
+
const owner = getOwner$1(object);
|
|
691
|
+
const ownerId = guidFor(owner);
|
|
692
|
+
if (owner && !mixinDetails.find(mixin => mixin.id === ownerId)) {
|
|
693
|
+
mixinDetails.push({
|
|
694
|
+
name: 'Container',
|
|
695
|
+
id: ownerId,
|
|
696
|
+
expand: false,
|
|
697
|
+
properties: [{
|
|
698
|
+
name: OWNER_SYMBOL,
|
|
699
|
+
value: {
|
|
700
|
+
inspect: `<Owner:${ownerId}>`,
|
|
701
|
+
type: 'type-owner',
|
|
702
|
+
objectId: ownerId
|
|
703
|
+
}
|
|
704
|
+
}]
|
|
705
|
+
});
|
|
706
|
+
}
|
|
686
707
|
this.currentObject = {
|
|
687
708
|
object,
|
|
688
709
|
mixinDetails,
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
GlimmerComponent,
|
|
22
22
|
GlimmerReference,
|
|
23
23
|
GlimmerValidator,
|
|
24
|
+
getOwner,
|
|
24
25
|
} from './utils/ember';
|
|
25
26
|
import { cacheFor, guidFor } from './utils/ember/object/internals';
|
|
26
27
|
import { _backburner, join } from './utils/ember/runloop';
|
|
@@ -31,6 +32,8 @@ let tagValue, tagValidate, track, tagForProperty;
|
|
|
31
32
|
|
|
32
33
|
const GlimmerDebugComponent = (() => GlimmerComponent?.default)();
|
|
33
34
|
|
|
35
|
+
const OWNER_SYMBOL = '__owner__'; // can't use actual symbol because it can't be cloned
|
|
36
|
+
|
|
34
37
|
// Try to use the most recent library (GlimmerValidator), else
|
|
35
38
|
// fallback on the previous implementation (GlimmerReference).
|
|
36
39
|
if (GlimmerValidator) {
|
|
@@ -491,6 +494,8 @@ export default class extends DebugPort {
|
|
|
491
494
|
|
|
492
495
|
if (prop === null || prop === undefined) {
|
|
493
496
|
value = this.sentObjects[objectId];
|
|
497
|
+
} else if (prop === OWNER_SYMBOL) {
|
|
498
|
+
value = getOwner(this.sentObjects[objectId]);
|
|
494
499
|
} else {
|
|
495
500
|
value = calculateCP(object, { name: prop }, {});
|
|
496
501
|
}
|
|
@@ -615,6 +620,7 @@ export default class extends DebugPort {
|
|
|
615
620
|
* - Bar
|
|
616
621
|
* - Foo
|
|
617
622
|
* - EmberObject
|
|
623
|
+
* - Owner (Container)
|
|
618
624
|
* ```
|
|
619
625
|
*
|
|
620
626
|
* The "mixins" returned by this function directly represent these things too.
|
|
@@ -734,6 +740,27 @@ export default class extends DebugPort {
|
|
|
734
740
|
tracked,
|
|
735
741
|
);
|
|
736
742
|
|
|
743
|
+
const owner = getOwner(object);
|
|
744
|
+
const ownerId = guidFor(owner);
|
|
745
|
+
|
|
746
|
+
if (owner && !mixinDetails.find((mixin) => mixin.id === ownerId)) {
|
|
747
|
+
mixinDetails.push({
|
|
748
|
+
name: 'Container',
|
|
749
|
+
id: ownerId,
|
|
750
|
+
expand: false,
|
|
751
|
+
properties: [
|
|
752
|
+
{
|
|
753
|
+
name: OWNER_SYMBOL,
|
|
754
|
+
value: {
|
|
755
|
+
inspect: `<Owner:${ownerId}>`,
|
|
756
|
+
type: 'type-owner',
|
|
757
|
+
objectId: ownerId,
|
|
758
|
+
},
|
|
759
|
+
},
|
|
760
|
+
],
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
|
|
737
764
|
this.currentObject = { object, mixinDetails, objectId };
|
|
738
765
|
|
|
739
766
|
let errors = errorsToSend(errorsForObject);
|
|
@@ -1284,6 +1311,7 @@ function calculateCP(object, item, errorsForObject) {
|
|
|
1284
1311
|
if (object instanceof ArrayProxy && property == parseInt(property)) {
|
|
1285
1312
|
return object.at(property);
|
|
1286
1313
|
}
|
|
1314
|
+
|
|
1287
1315
|
return item.isGetter || property.includes?.('.')
|
|
1288
1316
|
? object[property]
|
|
1289
1317
|
: object.get?.(property) || object[property]; // need to use `get` to be able to detect tracked props
|
|
@@ -52,7 +52,8 @@ let ArrayProxy,
|
|
|
52
52
|
computed,
|
|
53
53
|
EmberObject,
|
|
54
54
|
captureRenderTree,
|
|
55
|
-
getEnv
|
|
55
|
+
getEnv,
|
|
56
|
+
getOwner;
|
|
56
57
|
|
|
57
58
|
let Debug = emberSafeRequire('@ember/debug');
|
|
58
59
|
let InternalsMetal = emberSafeRequire('@ember/-internals/metal');
|
|
@@ -72,6 +73,8 @@ let GlimmerReference = emberSafeRequire('@glimmer/reference');
|
|
|
72
73
|
let GlimmerRuntime = emberSafeRequire('@glimmer/runtime');
|
|
73
74
|
let GlimmerUtil = emberSafeRequire('@glimmer/util');
|
|
74
75
|
let GlimmerValidator = emberSafeRequire('@glimmer/validator');
|
|
76
|
+
let EmberOwner = emberSafeRequire('@ember/owner');
|
|
77
|
+
let EmberApplication = emberSafeRequire('@ember/application');
|
|
75
78
|
|
|
76
79
|
let inspect = Debug?.inspect || InternalsUtils?.inspect;
|
|
77
80
|
let subscribe = Instrumentation?.subscribe;
|
|
@@ -142,6 +145,12 @@ if (Ember) {
|
|
|
142
145
|
get = emberSafeRequire('@ember/object')?.get;
|
|
143
146
|
}
|
|
144
147
|
|
|
148
|
+
if (EmberOwner) {
|
|
149
|
+
getOwner = EmberOwner.getOwner;
|
|
150
|
+
} else {
|
|
151
|
+
getOwner = EmberApplication.getOwner;
|
|
152
|
+
}
|
|
153
|
+
|
|
145
154
|
export {
|
|
146
155
|
Runloop,
|
|
147
156
|
Debug,
|
|
@@ -188,4 +197,5 @@ export {
|
|
|
188
197
|
GlimmerRuntime,
|
|
189
198
|
GlimmerUtil,
|
|
190
199
|
GlimmerValidator,
|
|
200
|
+
getOwner,
|
|
191
201
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ember-inspector",
|
|
3
|
-
"version": "4.13.1-alpha.2025.
|
|
3
|
+
"version": "4.13.1-alpha.2025.9.2+81c8dfd",
|
|
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",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path class="svg-stroke" d="M14.5 1.5H1.5C0.947715 1.5 0.5 1.94772 0.5 2.5V13.5C0.5 14.0523 0.947715 14.5 1.5 14.5H14.5C15.0523 14.5 15.5 14.0523 15.5 13.5V2.5C15.5 1.94772 15.0523 1.5 14.5 1.5Z" />
|
|
3
|
+
<g transform="matrix(-1,0,0,1,16,0)">
|
|
4
|
+
<path class="svg-stroke" d="M6.5 2V14" />
|
|
5
|
+
<path class="svg-stroke" d="M5 4L2 4" />
|
|
6
|
+
<path class="svg-stroke" d="M5 6L2 6" />
|
|
7
|
+
<path class="svg-stroke" d="M5 8L2 8" />
|
|
8
|
+
</g>
|
|
9
|
+
</svg>
|
|
@@ -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.
|
|
5
|
+
"version": "2025.9.2",
|
|
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.
|
|
77
|
+
"version_name": "4.13.1 (nightly build 2025.9.2 / 81c8dfd)"
|
|
78
78
|
}
|
|
@@ -23,6 +23,7 @@ import EmberDebug from 'ember-debug/main';
|
|
|
23
23
|
import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
|
|
24
24
|
import EmberRoute from '@ember/routing/route';
|
|
25
25
|
import Controller from '@ember/controller';
|
|
26
|
+
import { setOwner } from '@ember/application';
|
|
26
27
|
|
|
27
28
|
const GlimmerComponent = (function () {
|
|
28
29
|
try {
|
|
@@ -1224,6 +1225,59 @@ module('Ember Debug - Object Inspector', function (hooks) {
|
|
|
1224
1225
|
'inspector: updateProperty',
|
|
1225
1226
|
]);
|
|
1226
1227
|
});
|
|
1228
|
+
|
|
1229
|
+
test('Inspected objects pass along their owner they have one', async function (assert) {
|
|
1230
|
+
class Owner {}
|
|
1231
|
+
class Foo {
|
|
1232
|
+
bar = 'baz';
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
let owner = new Owner();
|
|
1236
|
+
let inspected = new Foo();
|
|
1237
|
+
let message = await inspectObject(inspected);
|
|
1238
|
+
let ownerId = guidFor(owner);
|
|
1239
|
+
|
|
1240
|
+
assert.false(
|
|
1241
|
+
message.details.some(({ name }) => name === 'Container'),
|
|
1242
|
+
"Objects without an owner don't report an undefined owner in their last details object",
|
|
1243
|
+
);
|
|
1244
|
+
assert.strictEqual(message.details.length, 2);
|
|
1245
|
+
|
|
1246
|
+
setOwner(inspected, owner);
|
|
1247
|
+
|
|
1248
|
+
message = await inspectObject(inspected);
|
|
1249
|
+
|
|
1250
|
+
assert.strictEqual(
|
|
1251
|
+
message.details.length,
|
|
1252
|
+
3,
|
|
1253
|
+
'Object with owner have an additional details object',
|
|
1254
|
+
);
|
|
1255
|
+
|
|
1256
|
+
assert.strictEqual(
|
|
1257
|
+
message.details.filter(({ name }) => name === 'Container').length,
|
|
1258
|
+
1,
|
|
1259
|
+
'Objects with an owner have exactly one container item in their details',
|
|
1260
|
+
);
|
|
1261
|
+
assert.deepEqual(
|
|
1262
|
+
message.details.at(-1),
|
|
1263
|
+
{
|
|
1264
|
+
id: ownerId,
|
|
1265
|
+
name: 'Container',
|
|
1266
|
+
expand: false,
|
|
1267
|
+
properties: [
|
|
1268
|
+
{
|
|
1269
|
+
name: '__owner__',
|
|
1270
|
+
value: {
|
|
1271
|
+
inspect: `<Owner:${ownerId}>`,
|
|
1272
|
+
objectId: ownerId,
|
|
1273
|
+
type: 'type-owner',
|
|
1274
|
+
},
|
|
1275
|
+
},
|
|
1276
|
+
],
|
|
1277
|
+
},
|
|
1278
|
+
'the container is the last mixin in the list',
|
|
1279
|
+
);
|
|
1280
|
+
});
|
|
1227
1281
|
}
|
|
1228
1282
|
|
|
1229
1283
|
// @glimmer/component 1.0 doesn't seem to support 3.4, even though it has the manager API
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|