ember-inspector 4.13.1-alpha.2024.8.9 → 4.13.1-alpha.2025.10.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.
Files changed (548) hide show
  1. package/PRIVACY.md +3 -0
  2. package/README.md +10 -2
  3. package/app/components/app-picker.hbs +2 -2
  4. package/app/components/component-tree-item.hbs +14 -14
  5. package/app/components/component-tree-toolbar.hbs +17 -3
  6. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  7. package/app/components/deprecation-item-source.hbs +1 -1
  8. package/app/components/deprecation-item.hbs +1 -1
  9. package/app/components/deprecations-toolbar.hbs +1 -1
  10. package/app/components/item-types.hbs +7 -7
  11. package/app/components/list-cell.hbs +3 -3
  12. package/app/components/list-content.hbs +4 -3
  13. package/app/components/list-content.ts +96 -0
  14. package/app/components/list.hbs +3 -3
  15. package/app/components/list.js +7 -7
  16. package/app/components/model-types-toolbar.hbs +3 -3
  17. package/app/components/object-inspector/component-parents.hbs +33 -0
  18. package/app/components/object-inspector/component-parents.js +43 -0
  19. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  20. package/app/components/object-inspector/errors.hbs +4 -4
  21. package/app/components/object-inspector/properties-all.hbs +1 -1
  22. package/app/components/object-inspector/properties-base.js +2 -0
  23. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  24. package/app/components/object-inspector/property.hbs +36 -34
  25. package/app/components/object-inspector/property.ts +34 -17
  26. package/app/components/object-inspector/sort-properties.js +12 -4
  27. package/app/components/object-inspector/toggle.hbs +9 -0
  28. package/app/components/object-inspector/toggle.js +6 -0
  29. package/app/components/object-inspector.hbs +11 -9
  30. package/app/components/object-inspector.js +1 -1
  31. package/app/components/promise-item.hbs +11 -11
  32. package/app/components/promise-item.js +8 -6
  33. package/app/components/promise-tree-toolbar.hbs +5 -5
  34. package/app/components/records-toolbar.hbs +2 -2
  35. package/app/components/render-item.hbs +4 -4
  36. package/app/components/render-item.ts +12 -9
  37. package/app/components/render-tree-toolbar.hbs +1 -1
  38. package/app/components/route-cell-name.hbs +1 -1
  39. package/app/components/route-cell-name.js +3 -2
  40. package/app/components/route-tree-toolbar.hbs +2 -2
  41. package/app/components/scroll-container.js +2 -0
  42. package/app/components/side-nav.hbs +5 -5
  43. package/app/components/side-nav.js +1 -1
  44. package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +4 -4
  45. package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +3 -1
  46. package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +1 -1
  47. package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +3 -3
  48. package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +1 -1
  49. package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +1 -1
  50. package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +1 -1
  51. package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +2 -2
  52. package/app/computed/{debounce.js → debounce.ts} +7 -5
  53. package/app/config/environment.d.ts +5 -2
  54. package/app/controllers/app-config.js +1 -0
  55. package/app/controllers/application.js +36 -71
  56. package/app/controllers/component-tree.js +26 -7
  57. package/app/controllers/container-type.js +2 -1
  58. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  59. package/app/controllers/container-types.js +3 -6
  60. package/app/controllers/deprecations.js +16 -11
  61. package/app/controllers/libraries.js +1 -0
  62. package/app/controllers/model-types.js +1 -0
  63. package/app/controllers/promise-tree.ts +149 -0
  64. package/app/controllers/records.js +18 -26
  65. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  66. package/app/controllers/route-tree.js +7 -5
  67. package/app/helpers/build-style.js +1 -1
  68. package/app/index.html +1 -19
  69. package/app/initializers/setup.js +1 -1
  70. package/app/libs/promise-assembler.ts +249 -0
  71. package/app/libs/resizable-columns.js +10 -10
  72. package/app/models/{promise.js → promise.ts} +72 -69
  73. package/app/{router.js → router.ts} +1 -1
  74. package/app/routes/app-detected.js +3 -5
  75. package/app/routes/application.js +9 -13
  76. package/app/routes/deprecations.js +7 -16
  77. package/app/routes/launch.js +2 -1
  78. package/app/routes/libraries.js +2 -1
  79. package/app/routes/model-type.js +2 -3
  80. package/app/routes/model-types.ts +57 -0
  81. package/app/routes/promise-tree.ts +63 -0
  82. package/app/routes/records.ts +78 -0
  83. package/app/routes/render-tree.ts +93 -0
  84. package/app/routes/route-tree.js +0 -1
  85. package/app/routes/{tab.js → tab.ts} +9 -2
  86. package/app/routes/whats-new.js +2 -2
  87. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  88. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  89. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  90. package/app/services/adapters/{web-extension.js → web-extension.ts} +46 -46
  91. package/app/services/adapters/websocket.ts +40 -0
  92. package/app/services/layout.ts +124 -0
  93. package/app/services/port.ts +195 -0
  94. package/app/services/storage/{local.js → local.ts} +7 -20
  95. package/app/services/storage/{memory.js → memory.ts} +6 -21
  96. package/app/services/{storage.js → storage.ts} +9 -20
  97. package/app/styles/app.scss +1 -0
  98. package/app/styles/base.scss +6 -2
  99. package/app/styles/colors.scss +33 -31
  100. package/app/styles/component_tree.scss +56 -51
  101. package/app/styles/dropdown.scss +2 -2
  102. package/app/styles/ember-table.scss +3 -3
  103. package/app/styles/mixin.scss +26 -26
  104. package/app/styles/object_inspector.scss +30 -21
  105. package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +3 -1
  106. package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +7 -7
  107. package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +1 -1
  108. package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +8 -7
  109. package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +46 -45
  110. package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +29 -27
  111. package/app/styles/ui/_object-inspector-toggle.scss +4 -0
  112. package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +4 -4
  113. package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +1 -1
  114. package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +26 -20
  115. package/app/styles/ui/_ui.scss +13 -0
  116. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +5 -5
  117. package/app/styles/ui/toolbar/_icon-button.scss +80 -0
  118. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +6 -5
  119. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +10 -10
  120. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +5 -3
  121. package/app/styles/utils.scss +408 -122
  122. package/app/templates/application.hbs +21 -19
  123. package/app/templates/component-tree.hbs +4 -1
  124. package/app/templates/deprecations.hbs +2 -3
  125. package/app/templates/info.hbs +10 -10
  126. package/app/templates/promise-tree.hbs +1 -1
  127. package/app/templates/render-tree.hbs +1 -1
  128. package/app/templates/route-tree.hbs +1 -1
  129. package/app/utils/escape-reg-exp.ts +3 -2
  130. package/app/utils/nullish.ts +7 -0
  131. package/app/utils/parse-text.ts +4 -5
  132. package/app/utils/truncate.js +0 -1
  133. package/config/ember-cli-update.json +5 -3
  134. package/config/ember-try.js +117 -72
  135. package/config/environment.js +1 -1
  136. package/config/optional-features.json +2 -1
  137. package/dist/bookmarklet/load_inspector.js +31 -11
  138. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  139. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  140. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.25304d5512b5af001d54.js +40 -0
  141. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.8b244c3850a8429bac52.js +42 -0
  142. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +997 -156
  143. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +557 -609
  144. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  145. package/dist/bookmarklet/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  146. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  147. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  148. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  149. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  150. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  151. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  152. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  153. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  154. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  155. package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  156. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +4 -841
  157. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +4277 -5152
  158. package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  159. package/dist/bookmarklet/panes-3-16-0/basic-DfbgtngO.js +144 -0
  160. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +6 -0
  161. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +34 -0
  162. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +12 -0
  163. package/dist/bookmarklet/panes-3-16-0/ember.js +115 -0
  164. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +24 -11011
  165. package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
  166. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +32 -0
  167. package/dist/bookmarklet/panes-3-16-0/index.html +4 -23
  168. package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  169. package/dist/bookmarklet/panes-3-16-0/main.js +7663 -0
  170. package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
  171. package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
  172. package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
  173. package/dist/bookmarklet/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  174. package/dist/bookmarklet/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  175. package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
  176. package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
  177. package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
  178. package/dist/bookmarklet/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  179. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +60 -0
  180. package/dist/chrome/background.js +26 -21
  181. package/dist/chrome/boot.js +1 -1
  182. package/dist/chrome/content-script.js +12 -11
  183. package/dist/chrome/devtools.js +12 -3
  184. package/dist/chrome/manifest.json +3 -3
  185. package/dist/chrome/options.js +17 -12
  186. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  187. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  188. package/dist/chrome/panes-3-16-0/assets/chunk.524.25304d5512b5af001d54.js +40 -0
  189. package/dist/chrome/panes-3-16-0/assets/chunk.582.8b244c3850a8429bac52.js +42 -0
  190. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +997 -156
  191. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +557 -609
  192. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  193. package/dist/chrome/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  194. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  195. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  196. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  197. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  198. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  199. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  200. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  201. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  202. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  203. package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  204. package/dist/chrome/panes-3-16-0/assets/vendor.css +4 -841
  205. package/dist/chrome/panes-3-16-0/assets/vendor.js +4277 -5152
  206. package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  207. package/dist/chrome/panes-3-16-0/basic-DfbgtngO.js +144 -0
  208. package/dist/chrome/panes-3-16-0/basic-debug.js +6 -0
  209. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +34 -0
  210. package/dist/chrome/panes-3-16-0/chrome-debug.js +12 -0
  211. package/dist/chrome/panes-3-16-0/ember.js +115 -0
  212. package/dist/chrome/panes-3-16-0/ember_debug.js +12 -11021
  213. package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
  214. package/dist/chrome/panes-3-16-0/firefox-debug.js +32 -0
  215. package/dist/chrome/panes-3-16-0/index.html +4 -23
  216. package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  217. package/dist/chrome/panes-3-16-0/main.js +7663 -0
  218. package/dist/chrome/panes-3-16-0/port.js +108 -0
  219. package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
  220. package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
  221. package/dist/chrome/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  222. package/dist/chrome/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  223. package/dist/chrome/panes-3-16-0/type-check.js +119 -0
  224. package/dist/chrome/panes-3-16-0/version.js +90 -0
  225. package/dist/chrome/panes-3-16-0/versions.js +4 -0
  226. package/dist/chrome/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  227. package/dist/chrome/panes-3-16-0/websocket-debug.js +60 -0
  228. package/dist/chrome/scripts/in-page-script.js +19 -13
  229. package/dist/firefox/background.js +26 -21
  230. package/dist/firefox/boot.js +1 -1
  231. package/dist/firefox/content-script.js +12 -11
  232. package/dist/firefox/devtools.js +12 -3
  233. package/dist/firefox/manifest.json +3 -3
  234. package/dist/firefox/options.js +17 -12
  235. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  236. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  237. package/dist/firefox/panes-3-16-0/assets/chunk.524.25304d5512b5af001d54.js +40 -0
  238. package/dist/firefox/panes-3-16-0/assets/chunk.582.8b244c3850a8429bac52.js +42 -0
  239. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +997 -156
  240. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +557 -609
  241. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  242. package/dist/firefox/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  243. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  244. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  245. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  246. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  247. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  248. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  249. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  250. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  251. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  252. package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  253. package/dist/firefox/panes-3-16-0/assets/vendor.css +4 -841
  254. package/dist/firefox/panes-3-16-0/assets/vendor.js +4277 -5152
  255. package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  256. package/dist/firefox/panes-3-16-0/basic-DfbgtngO.js +144 -0
  257. package/dist/firefox/panes-3-16-0/basic-debug.js +6 -0
  258. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +34 -0
  259. package/dist/firefox/panes-3-16-0/chrome-debug.js +12 -0
  260. package/dist/firefox/panes-3-16-0/ember.js +115 -0
  261. package/dist/firefox/panes-3-16-0/ember_debug.js +27 -11016
  262. package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
  263. package/dist/firefox/panes-3-16-0/firefox-debug.js +32 -0
  264. package/dist/firefox/panes-3-16-0/index.html +4 -23
  265. package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  266. package/dist/firefox/panes-3-16-0/main.js +7663 -0
  267. package/dist/firefox/panes-3-16-0/port.js +108 -0
  268. package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
  269. package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
  270. package/dist/firefox/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  271. package/dist/firefox/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  272. package/dist/firefox/panes-3-16-0/type-check.js +119 -0
  273. package/dist/firefox/panes-3-16-0/version.js +90 -0
  274. package/dist/firefox/panes-3-16-0/versions.js +4 -0
  275. package/dist/firefox/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  276. package/dist/firefox/panes-3-16-0/websocket-debug.js +60 -0
  277. package/dist/firefox/scripts/in-page-script.js +19 -13
  278. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  279. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  280. package/dist/websocket/assets/chunk.524.25304d5512b5af001d54.js +40 -0
  281. package/dist/websocket/assets/chunk.582.8b244c3850a8429bac52.js +42 -0
  282. package/dist/websocket/assets/ember-inspector.css +997 -156
  283. package/dist/websocket/assets/ember-inspector.js +557 -609
  284. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  285. package/dist/websocket/assets/svg/focus-point-round.svg +9 -0
  286. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  287. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  288. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  289. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  290. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  291. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  292. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  293. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  294. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  295. package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
  296. package/dist/websocket/assets/vendor.css +4 -841
  297. package/dist/websocket/assets/vendor.js +4277 -5152
  298. package/dist/websocket/base-object-HAEdWjmg.js +59 -0
  299. package/dist/websocket/basic-DfbgtngO.js +144 -0
  300. package/dist/websocket/basic-debug.js +6 -0
  301. package/dist/websocket/bookmarklet-debug.js +34 -0
  302. package/dist/websocket/chrome-debug.js +12 -0
  303. package/dist/websocket/ember.js +115 -0
  304. package/dist/websocket/ember_debug.js +48 -11009
  305. package/dist/websocket/evented-BCTya3yE.js +62 -0
  306. package/dist/websocket/firefox-debug.js +32 -0
  307. package/dist/websocket/index.html +4 -23
  308. package/dist/websocket/internals-CRmXMEzb.js +12 -0
  309. package/dist/websocket/main.js +7663 -0
  310. package/dist/websocket/port.js +108 -0
  311. package/dist/websocket/profile-node.js +60 -0
  312. package/dist/websocket/promise-assembler.js +218 -0
  313. package/dist/websocket/runloop-CF-Qpqgy.js +1138 -0
  314. package/dist/websocket/start-inspector-BPAW_WLv.js +376 -0
  315. package/dist/websocket/type-check.js +119 -0
  316. package/dist/websocket/version.js +90 -0
  317. package/dist/websocket/versions.js +4 -0
  318. package/dist/websocket/web-extension-C3pMNVSY.js +144 -0
  319. package/dist/websocket/websocket-debug.js +60 -0
  320. package/ember-cli-build.js +31 -140
  321. package/ember_debug/adapters/basic.js +10 -29
  322. package/ember_debug/adapters/bookmarklet.js +1 -0
  323. package/ember_debug/adapters/firefox.js +3 -3
  324. package/ember_debug/adapters/web-extension.js +6 -5
  325. package/ember_debug/adapters/websocket.js +2 -2
  326. package/ember_debug/babel.config.cjs +11 -0
  327. package/ember_debug/container-debug.js +1 -1
  328. package/ember_debug/data-debug.js +7 -8
  329. package/ember_debug/debug-port.js +1 -1
  330. package/ember_debug/deprecation-debug.js +14 -14
  331. package/ember_debug/entrypoints/basic-debug.js +6 -0
  332. package/ember_debug/entrypoints/bookmarklet-debug.js +6 -0
  333. package/ember_debug/entrypoints/chrome-debug.js +6 -0
  334. package/ember_debug/entrypoints/firefox-debug.js +6 -0
  335. package/ember_debug/entrypoints/websocket-debug.js +6 -0
  336. package/ember_debug/general-debug.js +4 -4
  337. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  338. package/ember_debug/lib/get-applications.js +27 -0
  339. package/ember_debug/lib/load-ember-debug-in-webpage.js +30 -0
  340. package/ember_debug/lib/send-apps.js +14 -0
  341. package/ember_debug/lib/send-version-miss.js +39 -0
  342. package/ember_debug/lib/setup-instance-initializer.js +16 -0
  343. package/ember_debug/lib/start-inspector.js +211 -0
  344. package/ember_debug/lib/version-test.js +73 -0
  345. package/ember_debug/lib/versions.js +3 -0
  346. package/ember_debug/libs/capture-render-tree.js +1 -2
  347. package/ember_debug/libs/promise-assembler.js +5 -4
  348. package/ember_debug/libs/render-tree.js +37 -44
  349. package/ember_debug/libs/source-map.js +7 -6
  350. package/ember_debug/libs/view-inspection.js +25 -17
  351. package/ember_debug/main.js +18 -21
  352. package/ember_debug/models/profile-manager.js +6 -6
  353. package/ember_debug/models/profile-node.js +1 -1
  354. package/ember_debug/models/promise.js +2 -2
  355. package/ember_debug/object-inspector.js +71 -65
  356. package/ember_debug/package.json +27 -0
  357. package/ember_debug/port.js +5 -4
  358. package/ember_debug/promise-debug.js +5 -5
  359. package/ember_debug/render-debug.js +5 -5
  360. package/ember_debug/rollup.config.js +24 -0
  361. package/ember_debug/route-debug.js +10 -9
  362. package/ember_debug/services/session.js +2 -2
  363. package/ember_debug/utils/classify.js +1 -1
  364. package/ember_debug/utils/ember/object/internals.js +1 -11
  365. package/ember_debug/utils/ember/own-runloop.js +1 -1
  366. package/ember_debug/utils/ember/runloop.js +7 -10
  367. package/ember_debug/utils/ember-object-names.js +7 -8
  368. package/ember_debug/utils/ember.js +120 -14
  369. package/ember_debug/utils/evented.js +1 -1
  370. package/ember_debug/utils/get-object-name.js +3 -3
  371. package/ember_debug/utils/type-check.js +9 -5
  372. package/ember_debug/view-debug.js +12 -6
  373. package/eslint.config.mjs +173 -0
  374. package/gulpfile.js +1 -1
  375. package/package.json +97 -95
  376. package/pnpm-workspace.yaml +3 -0
  377. package/public/assets/svg/ellipsis.svg +3 -3
  378. package/public/assets/svg/focus-point-round.svg +9 -0
  379. package/public/assets/svg/nav-bug.svg +1 -1
  380. package/public/assets/svg/nav-components.svg +2 -2
  381. package/public/assets/svg/nav-container.svg +1 -1
  382. package/public/assets/svg/nav-data.svg +1 -1
  383. package/public/assets/svg/nav-deprecations.svg +3 -3
  384. package/public/assets/svg/nav-info.svg +3 -3
  385. package/public/assets/svg/nav-promises.svg +2 -2
  386. package/public/assets/svg/nav-render-performance.svg +2 -2
  387. package/public/assets/svg/nav-route-tree.svg +7 -7
  388. package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
  389. package/scripts/download-panes.js +1 -1
  390. package/skeletons/bookmarklet/load_inspector.js +31 -11
  391. package/skeletons/web-extension/background.js +26 -21
  392. package/skeletons/web-extension/boot.js +1 -1
  393. package/skeletons/web-extension/content-script.js +12 -11
  394. package/skeletons/web-extension/devtools.js +12 -3
  395. package/skeletons/web-extension/manifest.json +3 -3
  396. package/skeletons/web-extension/options.js +17 -12
  397. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  398. package/testem.js +0 -1
  399. package/tests/acceptance/app-picker-test.js +4 -4
  400. package/tests/acceptance/component-tree-test.js +96 -57
  401. package/tests/acceptance/container-test.js +0 -2
  402. package/tests/acceptance/data-test.js +8 -10
  403. package/tests/acceptance/deprecation-test.js +8 -12
  404. package/tests/acceptance/info-test.js +2 -2
  405. package/tests/acceptance/object-inspector-test.js +62 -110
  406. package/tests/acceptance/promise-test.js +1 -11
  407. package/tests/acceptance/render-tree-test.js +2 -2
  408. package/tests/acceptance/route-tree-test.js +12 -14
  409. package/tests/acceptance/whats-new-test.js +4 -4
  410. package/tests/ember_debug/container-debug-test.js +4 -4
  411. package/tests/ember_debug/deprecation-debug-test.js +8 -5
  412. package/tests/ember_debug/ember-debug-test.js +1 -4
  413. package/tests/ember_debug/object-inspector-test.js +108 -49
  414. package/tests/ember_debug/profile-manager-test.js +142 -169
  415. package/tests/ember_debug/profile-node-test.js +4 -4
  416. package/tests/ember_debug/promise-assembler-test.js +13 -10
  417. package/tests/ember_debug/promise-debug-test.js +5 -6
  418. package/tests/ember_debug/route-debug-test.js +8 -7
  419. package/tests/ember_debug/view-debug-test.js +257 -182
  420. package/tests/helpers/{index.js → index.ts} +6 -5
  421. package/tests/helpers/setup-ember-debug-test.js +14 -0
  422. package/tests/index.html +1 -2
  423. package/tests/integration/injection-test.js +14 -15
  424. package/tests/test-adapter.js +15 -15
  425. package/tests/test-helper.js +6 -4
  426. package/tests/unit/check-current-route-test.js +0 -4
  427. package/tests/unit/resizable-columns-test.js +53 -51
  428. package/tests/unit/utils/parse-text-test.js +3 -3
  429. package/tests/unit/utils/search-match-test.js +5 -5
  430. package/tests/unit/utils/type-check-test.js +22 -0
  431. package/tsconfig.json +3 -1
  432. package/types/ember-inspector/index.d.ts +2 -1
  433. package/types/global.d.ts +1 -7
  434. package/.editorconfig +0 -19
  435. package/.ember-cli +0 -15
  436. package/.eslintignore +0 -33
  437. package/.eslintrc.js +0 -86
  438. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  439. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  440. package/.github/dependabot.yml +0 -14
  441. package/.github/pull_request_template.md +0 -4
  442. package/.github/workflows/build.yml +0 -339
  443. package/.github/workflows/plan-release.yml +0 -83
  444. package/.github/workflows/publish.yml +0 -60
  445. package/.prettierignore +0 -25
  446. package/.prettierrc.js +0 -14
  447. package/.release-plan.json +0 -17
  448. package/.stylelintrc.js +0 -3
  449. package/.template-lintrc.js +0 -12
  450. package/.tool-versions +0 -2
  451. package/.watchmanconfig +0 -3
  452. package/app/components/.gitkeep +0 -0
  453. package/app/components/list-content.js +0 -130
  454. package/app/controllers/.gitkeep +0 -0
  455. package/app/controllers/promise-tree.js +0 -130
  456. package/app/helpers/.gitkeep +0 -0
  457. package/app/libs/promise-assembler.js +0 -169
  458. package/app/models/.gitkeep +0 -0
  459. package/app/routes/.gitkeep +0 -0
  460. package/app/routes/model-types.js +0 -47
  461. package/app/routes/promise-tree.js +0 -48
  462. package/app/routes/records.js +0 -55
  463. package/app/routes/render-tree.js +0 -66
  464. package/app/services/adapters/websocket.js +0 -31
  465. package/app/services/layout.js +0 -39
  466. package/app/services/port.js +0 -90
  467. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  468. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  469. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  470. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  471. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  472. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  473. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  474. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  475. package/dist/chrome/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  476. package/dist/chrome/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  477. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  478. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  479. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  480. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  481. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  482. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  483. package/dist/firefox/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  484. package/dist/firefox/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  485. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  486. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  487. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  488. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  489. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  490. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  491. package/dist/websocket/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  492. package/dist/websocket/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  493. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  494. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  495. package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
  496. package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
  497. package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
  498. package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
  499. package/ember_debug/.eslintrc.js +0 -13
  500. package/ember_debug/utils/ember/debug.js +0 -20
  501. package/ember_debug/utils/ember/instrumentation.js +0 -11
  502. package/ember_debug/utils/ember/loader.js +0 -22
  503. package/ember_debug/utils/rsvp.js +0 -20
  504. package/ember_debug/vendor/loader.js +0 -54
  505. package/ember_debug/vendor/startup-wrapper.js +0 -399
  506. package/lib/ui/addon/styles/_object-inspector-toggle.scss +0 -12
  507. package/lib/ui/addon/styles/addon.scss +0 -13
  508. package/lib/ui/addon/styles/toolbar/_icon-button.scss +0 -61
  509. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  510. package/lib/ui/app/components/ui/disclosure.js +0 -1
  511. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  512. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  513. package/lib/ui/app/components/ui/empty-message.js +0 -1
  514. package/lib/ui/app/components/ui/error-page.js +0 -1
  515. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  516. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  517. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  518. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  519. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  520. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  521. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  522. package/lib/ui/app/components/ui/warning-message.js +0 -1
  523. package/lib/ui/index.js +0 -34
  524. package/lib/ui/package.json +0 -13
  525. package/public/assets/fonts/Inter-Bold.woff +0 -0
  526. package/public/assets/fonts/Inter-Bold.woff2 +0 -0
  527. package/public/assets/fonts/Inter-Regular.woff +0 -0
  528. package/public/assets/fonts/Inter-Regular.woff2 +0 -0
  529. package/tests/helpers/trigger-port.js +0 -6
  530. package/tests/unit/.gitkeep +0 -0
  531. /package/app/{app.js → app.ts} +0 -0
  532. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  533. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  534. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  535. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  536. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  537. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  538. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  539. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  540. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  541. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  542. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  543. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  544. /package/app/controllers/{info.js → info.ts} +0 -0
  545. /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
  546. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  547. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  548. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
@@ -35,6 +35,7 @@ module('Ember Debug - Deprecation', function (hooks) {
35
35
 
36
36
  this.owner.register(
37
37
  'route:application',
38
+ // eslint-disable-next-line ember/no-classic-classes
38
39
  Route.extend({
39
40
  setupController() {
40
41
  EmberDebug.IGNORE_DEPRECATIONS = false;
@@ -59,9 +60,10 @@ module('Ember Debug - Deprecation', function (hooks) {
59
60
  });
60
61
  EmberDebug.IGNORE_DEPRECATIONS = true;
61
62
  },
62
- })
63
+ }),
63
64
  );
64
65
 
66
+ // eslint-disable-next-line ember/no-runloop
65
67
  run(EmberDebug.port, 'trigger', 'deprecation:watch');
66
68
 
67
69
  await visit('/');
@@ -74,7 +76,7 @@ module('Ember Debug - Deprecation', function (hooks) {
74
76
  assert.strictEqual(
75
77
  deprecation.sources.length,
76
78
  2,
77
- 'Correctly separated by source'
79
+ 'Correctly separated by source',
78
80
  );
79
81
 
80
82
  deprecation = deprecations[1];
@@ -87,14 +89,14 @@ module('Ember Debug - Deprecation', function (hooks) {
87
89
  });
88
90
 
89
91
  test('Warns once about deprecations', async function t(assert) {
90
- assert.expect(2);
91
92
  let count = 0;
93
+ // eslint-disable-next-line ember/no-runloop
92
94
  run(EmberDebug.port, 'trigger', 'deprecation:watch');
93
95
  EmberDebug.port.adapter.reopen({
94
96
  warn(message) {
95
97
  assert.strictEqual(
96
98
  message,
97
- 'Deprecations were detected, see the Ember Inspector deprecations tab for more details.'
99
+ 'Deprecations were detected, see the Ember Inspector deprecations tab for more details.',
98
100
  );
99
101
  assert.strictEqual(++count, 1, 'Warns once');
100
102
  },
@@ -102,6 +104,7 @@ module('Ember Debug - Deprecation', function (hooks) {
102
104
 
103
105
  this.owner.register(
104
106
  'route:application',
107
+ // eslint-disable-next-line ember/no-classic-classes
105
108
  Route.extend({
106
109
  setupController() {
107
110
  EmberDebug.IGNORE_DEPRECATIONS = false;
@@ -119,7 +122,7 @@ module('Ember Debug - Deprecation', function (hooks) {
119
122
  });
120
123
  EmberDebug.IGNORE_DEPRECATIONS = true;
121
124
  },
122
- })
125
+ }),
123
126
  );
124
127
 
125
128
  await visit('/');
@@ -25,14 +25,12 @@ module('Ember Debug', function (hooks) {
25
25
  try {
26
26
  EmberDebug.inspect(obj);
27
27
  assert.ok(false);
28
- } catch (e) {
28
+ } catch {
29
29
  // Intentionally empty
30
30
  }
31
31
  }
32
32
 
33
33
  test('EmberDebug#inspect sends inspectable objects', function (assert) {
34
- assert.expect(2);
35
-
36
34
  let obj = EmberObject.create();
37
35
  EmberDebug.inspect(obj);
38
36
  assert.strictEqual(name, 'objectInspector:updateObject');
@@ -46,7 +44,6 @@ module('Ember Debug', function (hooks) {
46
44
  });
47
45
 
48
46
  test('Errors are caught and handled by EmberDebug', async function t(assert) {
49
- assert.expect(1);
50
47
  const error = new Error('test error');
51
48
  EmberDebug.port.on('test:errors', () => {
52
49
  throw error;
@@ -1,31 +1,34 @@
1
- /* eslint-disable ember/avoid-leaking-state-in-ember-objects, ember/no-new-mixins */
1
+ /* eslint-disable ember/avoid-leaking-state-in-ember-objects, ember/no-classic-classes, ember/no-new-mixins, ember/no-runloop */
2
2
  import { find, visit } from '@ember/test-helpers';
3
3
  import Mixin from '@ember/object/mixin';
4
+ // eslint-disable-next-line ember/no-classic-components
4
5
  import Component from '@ember/component';
5
6
  import { inspect } from '@ember/debug';
6
7
  import { run } from '@ember/runloop';
7
8
  import { guidFor } from '@ember/object/internals';
9
+ // eslint-disable-next-line ember/no-computed-properties-in-native-classes
8
10
  import EmberObject, { computed } from '@ember/object';
9
11
  import MutableArray from '@ember/array/mutable';
10
12
  import ArrayProxy from '@ember/array/proxy';
11
13
  import ObjectProxy from '@ember/object/proxy';
12
- import Service from '@ember/service';
14
+ import Service, { inject as service } from '@ember/service';
13
15
  import { VERSION } from '@ember/version';
14
16
  import { tracked } from '@glimmer/tracking';
15
17
  import { module, skip, test } from 'qunit';
16
18
  import { hbs } from 'ember-cli-htmlbars';
17
19
  import require from 'require';
18
20
  import hasEmberVersion from '@ember/test-helpers/has-ember-version';
19
- import { compareVersion } from 'ember-debug/utils/version';
21
+ import { compareVersion } from 'ember-debug/version';
20
22
  import EmberDebug from 'ember-debug/main';
21
23
  import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
22
24
  import EmberRoute from '@ember/routing/route';
23
25
  import Controller from '@ember/controller';
26
+ import { setOwner } from '@ember/application';
24
27
 
25
28
  const GlimmerComponent = (function () {
26
29
  try {
27
30
  return require('@glimmer/component').default;
28
- } catch (e) {
31
+ } catch {
29
32
  // ignore, return undefined
30
33
  }
31
34
  })();
@@ -89,8 +92,8 @@ module('Ember Debug - Object Inspector', function (hooks) {
89
92
  'template:application',
90
93
  hbs(
91
94
  '<div class="application" style="line-height: normal;">{{outlet}}</div>',
92
- { moduleName: 'my-app/templates/application.hbs' }
93
- )
95
+ { moduleName: 'my-app/templates/application.hbs' },
96
+ ),
94
97
  );
95
98
  this.owner.register('route:simple', EmberRoute);
96
99
  this.owner.register('component:x-simple', Component);
@@ -99,7 +102,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
99
102
  hbs`
100
103
  {{! template-lint-disable}}
101
104
  Simple <Input class="simple-input"/> {{x-simple class="simple-view"}}
102
- `
105
+ `,
103
106
  );
104
107
 
105
108
  objectInspector = EmberDebug.objectInspector;
@@ -138,7 +141,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
138
141
  assert.strictEqual(
139
142
  firstDetail.properties.length,
140
143
  4,
141
- 'methods are included'
144
+ 'methods are included',
142
145
  );
143
146
 
144
147
  let idProperty = firstDetail.properties[0];
@@ -185,7 +188,6 @@ module('Ember Debug - Object Inspector', function (hooks) {
185
188
  }
186
189
 
187
190
  class Parent {
188
- // eslint-disable-next-line constructor-super
189
191
  constructor(param) {
190
192
  Object.assign(this, param);
191
193
  }
@@ -236,7 +238,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
236
238
  assert.strictEqual(
237
239
  firstDetail.properties.length,
238
240
  6,
239
- 'methods are included'
241
+ 'methods are included',
240
242
  );
241
243
 
242
244
  let objectWithTrackedProperty = firstDetail.properties[0];
@@ -370,7 +372,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
370
372
  expectedMixinNames.forEach((expectedMixinName, i) => {
371
373
  assert.ok(
372
374
  mixinNames[i].includes(expectedMixinName),
373
- `${mixinNames[i]} : ${expectedMixinName}`
375
+ `${mixinNames[i]} : ${expectedMixinName}`,
374
376
  );
375
377
  });
376
378
  });
@@ -463,7 +465,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
463
465
  assert.strictEqual(
464
466
  details[0].properties.length,
465
467
  1,
466
- 'should not show mixin properties'
468
+ 'should not show mixin properties',
467
469
  );
468
470
  assert.strictEqual(details[0].properties[0].name, 'ownProp');
469
471
 
@@ -471,22 +473,22 @@ module('Ember Debug - Object Inspector', function (hooks) {
471
473
  assert.strictEqual(
472
474
  details[2].properties.length,
473
475
  1,
474
- 'should only show own mixin properties'
476
+ 'should only show own mixin properties',
475
477
  );
476
478
  assert.strictEqual(
477
479
  details[2].properties[0].value.inspect,
478
- inspect('custom1')
480
+ inspect('custom1'),
479
481
  );
480
482
 
481
483
  assert.strictEqual(details[3].name, 'MyMixin2');
482
484
  assert.strictEqual(
483
485
  details[3].properties.length,
484
486
  1,
485
- 'should only show own mixin properties'
487
+ 'should only show own mixin properties',
486
488
  );
487
489
  assert.strictEqual(
488
490
  details[3].properties[0].value.inspect,
489
- inspect('custom2')
491
+ inspect('custom2'),
490
492
  );
491
493
  });
492
494
 
@@ -648,7 +650,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
648
650
  });
649
651
  });
650
652
 
651
- assert.strictEqual(inspected.get('name'), 'Alex');
653
+ assert.strictEqual(inspected.name, 'Alex');
652
654
 
653
655
  assert.strictEqual(message.property, 'name');
654
656
  assert.strictEqual(message.value.inspect, inspect('Alex'));
@@ -674,9 +676,9 @@ module('Ember Debug - Object Inspector', function (hooks) {
674
676
  });
675
677
  });
676
678
 
677
- assert.strictEqual(inspected.get('date').getFullYear(), 2015);
678
- assert.strictEqual(inspected.get('date').getMonth(), 0);
679
- assert.strictEqual(inspected.get('date').getDate(), 1);
679
+ assert.strictEqual(inspected.date.getFullYear(), 2015);
680
+ assert.strictEqual(inspected.date.getMonth(), 0);
681
+ assert.strictEqual(inspected.date.getDate(), 1);
680
682
 
681
683
  assert.strictEqual(message.property, 'date');
682
684
  assert.strictEqual(message.value.inspect, inspect(newDate));
@@ -746,42 +748,42 @@ module('Ember Debug - Object Inspector', function (hooks) {
746
748
  assert.strictEqual(
747
749
  message.details[2].properties.length,
748
750
  0,
749
- 'Correctly skips properties'
751
+ 'Correctly skips properties',
750
752
  );
751
753
 
752
754
  assert.strictEqual(message.details[3].name, 'TestObject');
753
755
  assert.strictEqual(
754
756
  message.details[3].properties.length,
755
757
  3,
756
- 'Correctly merges properties'
758
+ 'Correctly merges properties',
757
759
  );
758
760
 
759
761
  const toString = message.details[3].properties.find(
760
- (p) => p.name === 'toString'
762
+ (p) => p.name === 'toString',
761
763
  );
762
764
  const hasChildren = message.details[3].properties.find(
763
- (p) => p.name === 'hasChildren'
765
+ (p) => p.name === 'hasChildren',
764
766
  );
765
767
  const expensiveProperty = message.details[3].properties.find(
766
- (p) => p.name === 'expensiveProperty'
768
+ (p) => p.name === 'expensiveProperty',
767
769
  );
768
770
  assert.ok(toString, 'has toString');
769
771
  assert.ok(hasChildren, 'has hasChildren');
770
772
  assert.strictEqual(
771
773
  expensiveProperty.name,
772
774
  'expensiveProperty',
773
- 'property name is correct'
775
+ 'property name is correct',
774
776
  );
775
777
  assert.strictEqual(
776
778
  expensiveProperty.value.isCalculated,
777
779
  undefined,
778
- 'Does not calculate expensive properties'
780
+ 'Does not calculate expensive properties',
779
781
  );
780
782
 
781
783
  assert.notStrictEqual(
782
784
  message.details[3].name,
783
785
  'MixinToSkip',
784
- 'Correctly skips mixins'
786
+ 'Correctly skips mixins',
785
787
  );
786
788
  });
787
789
 
@@ -846,7 +848,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
846
848
 
847
849
  assert.ok(
848
850
  message.name.includes('ObjectProxy'),
849
- 'object name should start with <ObjectProxy:'
851
+ 'object name should start with <ObjectProxy:',
850
852
  );
851
853
 
852
854
  assert.strictEqual(message.details[0].name, 'Basic Info');
@@ -861,38 +863,38 @@ module('Ember Debug - Object Inspector', function (hooks) {
861
863
  assert.strictEqual(
862
864
  message.details[2].properties.length,
863
865
  0,
864
- 'Correctly skips properties'
866
+ 'Correctly skips properties',
865
867
  );
866
868
 
867
869
  assert.strictEqual(message.details[3].name, 'TestObject');
868
870
  assert.strictEqual(
869
871
  message.details[3].properties.length,
870
872
  3,
871
- 'Correctly merges properties'
873
+ 'Correctly merges properties',
872
874
  );
873
875
 
874
876
  const hasChildren = message.details[3].properties.find(
875
- (p) => p.name === 'hasChildren'
877
+ (p) => p.name === 'hasChildren',
876
878
  );
877
879
  const expensiveProperty = message.details[3].properties.find(
878
- (p) => p.name === 'expensiveProperty'
880
+ (p) => p.name === 'expensiveProperty',
879
881
  );
880
882
  assert.strictEqual(hasChildren.name, 'hasChildren');
881
883
  assert.strictEqual(
882
884
  expensiveProperty.name,
883
885
  'expensiveProperty',
884
- 'property name is correct'
886
+ 'property name is correct',
885
887
  );
886
888
  assert.strictEqual(
887
889
  expensiveProperty.value.isCalculated,
888
890
  undefined,
889
- 'Does not calculate expensive properties'
891
+ 'Does not calculate expensive properties',
890
892
  );
891
893
 
892
894
  assert.notStrictEqual(
893
895
  message.details[3].name,
894
896
  'MixinToSkip',
895
- 'Correctly skips mixins'
897
+ 'Correctly skips mixins',
896
898
  );
897
899
  });
898
900
 
@@ -901,17 +903,22 @@ module('Ember Debug - Object Inspector', function (hooks) {
901
903
  fooBoo() {
902
904
  return true;
903
905
  },
904
- }).create();
906
+ });
907
+
908
+ this.owner.register('service:test-inspect-service', inspectedService);
905
909
 
906
910
  let inspected = EmberObject.extend({
907
- service: inspectedService,
908
- }).create();
911
+ service: inspectedService.create(),
912
+ service2: service('test-inspect-service'),
913
+ }).create(this);
909
914
 
910
915
  let message = await inspectObject(inspected);
911
916
 
912
917
  let serializedServiceProperty = message.details[1].properties[0];
918
+ let serializedService2Property = message.details[1].properties[1];
913
919
 
914
920
  assert.true(serializedServiceProperty.isService);
921
+ assert.true(serializedService2Property.isService);
915
922
  });
916
923
 
917
924
  test('Proxy Service should be successfully tagged as service on serialization', async function (assert) {
@@ -962,7 +969,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
962
969
 
963
970
  assert.ok(
964
971
  objectInspector.sentObjects[objectId],
965
- 'Object successfully retained.'
972
+ 'Object successfully retained.',
966
973
  );
967
974
 
968
975
  await visit('/');
@@ -985,7 +992,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
985
992
 
986
993
  assert.ok(
987
994
  objectInspector.sentObjects[objectId],
988
- 'Object successfully retained.'
995
+ 'Object successfully retained.',
989
996
  );
990
997
 
991
998
  message = await captureMessage('objectInspector:droppedObject', () => {
@@ -997,7 +1004,6 @@ module('Ember Debug - Object Inspector', function (hooks) {
997
1004
  assert.deepEqual(message, { objectId });
998
1005
  });
999
1006
 
1000
- // eslint-disable-next-line qunit/require-expect
1001
1007
  test('Properties ending with `Binding` are skipped', async function (assert) {
1002
1008
  let object = EmberObject.create({
1003
1009
  bar: 'test',
@@ -1011,14 +1017,14 @@ module('Ember Debug - Object Inspector', function (hooks) {
1011
1017
  assert.strictEqual(
1012
1018
  props.length,
1013
1019
  2,
1014
- 'Props should be foo and bar without fooBinding'
1020
+ 'Props should be foo and bar without fooBinding',
1015
1021
  );
1016
1022
  assert.strictEqual(props[1].name, 'foo');
1017
1023
  } else {
1018
1024
  assert.strictEqual(
1019
1025
  props.length,
1020
1026
  1,
1021
- 'Props should be only bar without fooBinding, in Ember 3.0+'
1027
+ 'Props should be only bar without fooBinding, in Ember 3.0+',
1022
1028
  );
1023
1029
  }
1024
1030
  assert.strictEqual(props[0].name, 'bar');
@@ -1058,7 +1064,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
1058
1064
  }
1059
1065
  return 'bar';
1060
1066
  }),
1061
- }).create()
1067
+ }).create(),
1062
1068
  );
1063
1069
 
1064
1070
  let message = await inspectObject(object);
@@ -1219,6 +1225,59 @@ module('Ember Debug - Object Inspector', function (hooks) {
1219
1225
  'inspector: updateProperty',
1220
1226
  ]);
1221
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
+ });
1222
1281
  }
1223
1282
 
1224
1283
  // @glimmer/component 1.0 doesn't seem to support 3.4, even though it has the manager API
@@ -1253,7 +1312,7 @@ module('Ember Debug - Object Inspector', function (hooks) {
1253
1312
  `template:components/foo`,
1254
1313
  hbs('text only', {
1255
1314
  moduleName: 'my-app/templates/components/foo.hbs',
1256
- })
1315
+ }),
1257
1316
  );
1258
1317
  await visit('/simple');
1259
1318
 
@@ -1280,17 +1339,17 @@ module('Ember Debug - Object Inspector', function (hooks) {
1280
1339
  assert.strictEqual(
1281
1340
  properties.indexOf('bounds'),
1282
1341
  -1,
1283
- 'does not contain bounds'
1342
+ 'does not contain bounds',
1284
1343
  );
1285
1344
  assert.strictEqual(
1286
1345
  properties.indexOf('element'),
1287
1346
  -1,
1288
- 'does not contain element'
1347
+ 'does not contain element',
1289
1348
  );
1290
1349
  assert.strictEqual(
1291
1350
  properties.indexOf('debugName'),
1292
1351
  -1,
1293
- 'does not contain debugName'
1352
+ 'does not contain debugName',
1294
1353
  );
1295
1354
  });
1296
1355
  }