ember-inspector 4.13.1 → 4.15.0

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 (564) hide show
  1. package/.ember-cli +1 -9
  2. package/.github/workflows/build.yml +33 -112
  3. package/.github/workflows/plan-release.yml +26 -48
  4. package/.github/workflows/publish.yml +129 -31
  5. package/.prettierignore +2 -13
  6. package/.prettierrc.js +10 -4
  7. package/.release-plan.json +13 -4
  8. package/.stylelintignore +8 -0
  9. package/.stylelintrc.js +10 -1
  10. package/.template-lintrc.js +2 -1
  11. package/.tool-versions +2 -2
  12. package/.watchmanconfig +1 -1
  13. package/CHANGELOG.md +137 -0
  14. package/DEVELOPMENT.md +50 -0
  15. package/PRIVACY.md +3 -0
  16. package/README.md +14 -50
  17. package/RELEASE.md +15 -50
  18. package/app/components/app-picker.hbs +2 -2
  19. package/app/components/component-tree-item.hbs +14 -14
  20. package/app/components/component-tree-toolbar.hbs +17 -3
  21. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  22. package/app/components/deprecation-item-source.hbs +1 -1
  23. package/app/components/deprecation-item.hbs +1 -1
  24. package/app/components/deprecations-toolbar.hbs +1 -1
  25. package/app/components/item-types.hbs +7 -7
  26. package/app/components/list-cell.hbs +3 -3
  27. package/app/components/list-content.hbs +4 -3
  28. package/app/components/list-content.ts +96 -0
  29. package/app/components/list.hbs +3 -3
  30. package/app/components/list.js +7 -7
  31. package/app/components/model-types-toolbar.hbs +3 -3
  32. package/app/components/object-inspector/component-parents.hbs +33 -0
  33. package/app/components/object-inspector/component-parents.js +43 -0
  34. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  35. package/app/components/object-inspector/errors.hbs +4 -4
  36. package/app/components/object-inspector/properties-all.hbs +1 -1
  37. package/app/components/object-inspector/properties-base.js +2 -0
  38. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  39. package/app/components/object-inspector/property.hbs +36 -34
  40. package/app/components/object-inspector/property.ts +34 -17
  41. package/app/components/object-inspector/sort-properties.js +12 -4
  42. package/app/components/object-inspector/toggle.hbs +9 -0
  43. package/app/components/object-inspector/toggle.js +6 -0
  44. package/app/components/object-inspector.hbs +11 -9
  45. package/app/components/object-inspector.js +1 -1
  46. package/app/components/promise-item.hbs +11 -11
  47. package/app/components/promise-item.js +8 -6
  48. package/app/components/promise-tree-toolbar.hbs +5 -5
  49. package/app/components/records-toolbar.hbs +2 -2
  50. package/app/components/render-item.hbs +4 -4
  51. package/app/components/render-item.ts +12 -9
  52. package/app/components/render-tree-toolbar.hbs +1 -1
  53. package/app/components/route-cell-name.hbs +1 -1
  54. package/app/components/route-cell-name.js +3 -2
  55. package/app/components/route-tree-toolbar.hbs +2 -2
  56. package/app/components/scroll-container.js +2 -0
  57. package/app/components/side-nav.hbs +5 -5
  58. package/app/components/side-nav.js +1 -1
  59. package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +4 -4
  60. package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +3 -1
  61. package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +1 -1
  62. package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +3 -3
  63. package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +1 -1
  64. package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +1 -1
  65. package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +1 -1
  66. package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +2 -2
  67. package/app/computed/{debounce.js → debounce.ts} +7 -5
  68. package/app/config/environment.d.ts +5 -2
  69. package/app/controllers/app-config.js +1 -0
  70. package/app/controllers/application.js +36 -71
  71. package/app/controllers/component-tree.js +26 -7
  72. package/app/controllers/container-type.js +2 -1
  73. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  74. package/app/controllers/container-types.js +3 -6
  75. package/app/controllers/deprecations.js +16 -11
  76. package/app/controllers/libraries.js +1 -0
  77. package/app/controllers/model-types.js +7 -13
  78. package/app/controllers/promise-tree.ts +149 -0
  79. package/app/controllers/records.js +18 -26
  80. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  81. package/app/controllers/route-tree.js +7 -5
  82. package/app/helpers/build-style.js +1 -1
  83. package/app/index.html +1 -19
  84. package/app/initializers/setup.js +1 -1
  85. package/app/libs/promise-assembler.ts +249 -0
  86. package/app/libs/resizable-columns.js +10 -10
  87. package/app/models/{promise.js → promise.ts} +72 -69
  88. package/app/{router.js → router.ts} +1 -1
  89. package/app/routes/app-detected.js +3 -5
  90. package/app/routes/application.js +9 -13
  91. package/app/routes/deprecations.js +7 -16
  92. package/app/routes/launch.js +2 -1
  93. package/app/routes/libraries.js +2 -1
  94. package/app/routes/model-type.js +2 -3
  95. package/app/routes/model-types.ts +57 -0
  96. package/app/routes/promise-tree.ts +63 -0
  97. package/app/routes/records.ts +78 -0
  98. package/app/routes/render-tree.ts +93 -0
  99. package/app/routes/route-tree.js +0 -1
  100. package/app/routes/{tab.js → tab.ts} +9 -2
  101. package/app/routes/whats-new.js +6 -4
  102. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  103. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  104. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  105. package/app/services/adapters/{web-extension.js → web-extension.ts} +46 -46
  106. package/app/services/adapters/websocket.ts +40 -0
  107. package/app/services/layout.ts +124 -0
  108. package/app/services/port.ts +195 -0
  109. package/app/services/storage/{local.js → local.ts} +7 -20
  110. package/app/services/storage/{memory.js → memory.ts} +6 -21
  111. package/app/services/{storage.js → storage.ts} +25 -23
  112. package/app/styles/app.scss +1 -0
  113. package/app/styles/base.scss +6 -2
  114. package/app/styles/colors.scss +33 -31
  115. package/app/styles/component_tree.scss +56 -51
  116. package/app/styles/dropdown.scss +2 -2
  117. package/app/styles/ember-table.scss +3 -3
  118. package/app/styles/mixin.scss +26 -26
  119. package/app/styles/object_inspector.scss +30 -21
  120. package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +3 -1
  121. package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +7 -7
  122. package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +1 -1
  123. package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +8 -7
  124. package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +46 -45
  125. package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +29 -27
  126. package/app/styles/ui/_object-inspector-toggle.scss +4 -0
  127. package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +4 -4
  128. package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +1 -1
  129. package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +26 -20
  130. package/app/styles/ui/_ui.scss +13 -0
  131. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +5 -5
  132. package/app/styles/ui/toolbar/_icon-button.scss +80 -0
  133. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +6 -5
  134. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +10 -10
  135. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +5 -3
  136. package/app/styles/utils.scss +408 -122
  137. package/app/templates/application.hbs +22 -19
  138. package/app/templates/component-tree.hbs +4 -1
  139. package/app/templates/deprecations.hbs +2 -3
  140. package/app/templates/info.hbs +10 -10
  141. package/app/templates/promise-tree.hbs +1 -1
  142. package/app/templates/render-tree.hbs +1 -1
  143. package/app/templates/route-tree.hbs +1 -1
  144. package/app/utils/escape-reg-exp.ts +3 -2
  145. package/app/utils/nullish.ts +7 -0
  146. package/app/utils/parse-text.ts +4 -5
  147. package/app/utils/truncate.js +0 -1
  148. package/config/ember-cli-update.json +5 -3
  149. package/config/ember-try.js +117 -72
  150. package/config/environment.js +1 -1
  151. package/config/optional-features.json +2 -1
  152. package/dist/bookmarklet/load_inspector.js +31 -11
  153. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  154. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  155. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  156. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  157. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +997 -156
  158. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +560 -613
  159. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  160. package/dist/bookmarklet/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  161. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  162. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  163. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  164. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  165. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  166. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  167. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  168. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  169. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  170. package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  171. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +4 -841
  172. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +4277 -5152
  173. package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  174. package/dist/bookmarklet/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  175. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +10 -0
  176. package/dist/bookmarklet/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  177. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +10 -0
  178. package/dist/bookmarklet/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  179. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +10 -0
  180. package/dist/bookmarklet/panes-3-16-0/ember.js +166 -0
  181. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +7 -11018
  182. package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
  183. package/dist/bookmarklet/panes-3-16-0/firefox-8F84zphP.js +30 -0
  184. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +10 -0
  185. package/dist/bookmarklet/panes-3-16-0/index.html +4 -23
  186. package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  187. package/dist/bookmarklet/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  188. package/dist/bookmarklet/panes-3-16-0/main.js +7669 -0
  189. package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
  190. package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
  191. package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
  192. package/dist/bookmarklet/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  193. package/dist/bookmarklet/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  194. package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
  195. package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
  196. package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
  197. package/dist/bookmarklet/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  198. package/dist/bookmarklet/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  199. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +10 -0
  200. package/dist/chrome/background.js +26 -21
  201. package/dist/chrome/boot.js +1 -1
  202. package/dist/chrome/content-script.js +12 -11
  203. package/dist/chrome/devtools.js +12 -3
  204. package/dist/chrome/manifest.json +4 -2
  205. package/dist/chrome/options.js +17 -12
  206. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  207. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  208. package/dist/chrome/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  209. package/dist/chrome/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  210. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +997 -156
  211. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +560 -613
  212. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  213. package/dist/chrome/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  214. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  215. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  216. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  217. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  218. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  219. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  220. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  221. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  222. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  223. package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  224. package/dist/chrome/panes-3-16-0/assets/vendor.css +4 -841
  225. package/dist/chrome/panes-3-16-0/assets/vendor.js +4277 -5152
  226. package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  227. package/dist/chrome/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  228. package/dist/chrome/panes-3-16-0/basic-debug.js +10 -0
  229. package/dist/chrome/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  230. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +10 -0
  231. package/dist/chrome/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  232. package/dist/chrome/panes-3-16-0/chrome-debug.js +10 -0
  233. package/dist/chrome/panes-3-16-0/ember.js +166 -0
  234. package/dist/chrome/panes-3-16-0/ember_debug.js +7 -11018
  235. package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
  236. package/dist/chrome/panes-3-16-0/firefox-8F84zphP.js +30 -0
  237. package/dist/chrome/panes-3-16-0/firefox-debug.js +10 -0
  238. package/dist/chrome/panes-3-16-0/index.html +4 -23
  239. package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  240. package/dist/chrome/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  241. package/dist/chrome/panes-3-16-0/main.js +7669 -0
  242. package/dist/chrome/panes-3-16-0/port.js +108 -0
  243. package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
  244. package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
  245. package/dist/chrome/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  246. package/dist/chrome/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  247. package/dist/chrome/panes-3-16-0/type-check.js +119 -0
  248. package/dist/chrome/panes-3-16-0/version.js +90 -0
  249. package/dist/chrome/panes-3-16-0/versions.js +4 -0
  250. package/dist/chrome/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  251. package/dist/chrome/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  252. package/dist/chrome/panes-3-16-0/websocket-debug.js +10 -0
  253. package/dist/chrome/scripts/in-page-script.js +19 -13
  254. package/dist/firefox/background.js +26 -21
  255. package/dist/firefox/boot.js +1 -1
  256. package/dist/firefox/content-script.js +12 -11
  257. package/dist/firefox/devtools.js +12 -3
  258. package/dist/firefox/manifest.json +4 -2
  259. package/dist/firefox/options.js +17 -12
  260. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  261. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  262. package/dist/firefox/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  263. package/dist/firefox/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  264. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +997 -156
  265. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +560 -613
  266. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  267. package/dist/firefox/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  268. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  269. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  270. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  271. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  272. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  273. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  274. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  275. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  276. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  277. package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  278. package/dist/firefox/panes-3-16-0/assets/vendor.css +4 -841
  279. package/dist/firefox/panes-3-16-0/assets/vendor.js +4277 -5152
  280. package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  281. package/dist/firefox/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  282. package/dist/firefox/panes-3-16-0/basic-debug.js +10 -0
  283. package/dist/firefox/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  284. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +10 -0
  285. package/dist/firefox/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  286. package/dist/firefox/panes-3-16-0/chrome-debug.js +10 -0
  287. package/dist/firefox/panes-3-16-0/ember.js +166 -0
  288. package/dist/firefox/panes-3-16-0/ember_debug.js +7 -11018
  289. package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
  290. package/dist/firefox/panes-3-16-0/firefox-8F84zphP.js +30 -0
  291. package/dist/firefox/panes-3-16-0/firefox-debug.js +10 -0
  292. package/dist/firefox/panes-3-16-0/index.html +4 -23
  293. package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  294. package/dist/firefox/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  295. package/dist/firefox/panes-3-16-0/main.js +7669 -0
  296. package/dist/firefox/panes-3-16-0/port.js +108 -0
  297. package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
  298. package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
  299. package/dist/firefox/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  300. package/dist/firefox/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  301. package/dist/firefox/panes-3-16-0/type-check.js +119 -0
  302. package/dist/firefox/panes-3-16-0/version.js +90 -0
  303. package/dist/firefox/panes-3-16-0/versions.js +4 -0
  304. package/dist/firefox/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  305. package/dist/firefox/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  306. package/dist/firefox/panes-3-16-0/websocket-debug.js +10 -0
  307. package/dist/firefox/scripts/in-page-script.js +19 -13
  308. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  309. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  310. package/dist/websocket/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  311. package/dist/websocket/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  312. package/dist/websocket/assets/ember-inspector.css +997 -156
  313. package/dist/websocket/assets/ember-inspector.js +560 -613
  314. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  315. package/dist/websocket/assets/svg/focus-point-round.svg +9 -0
  316. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  317. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  318. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  319. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  320. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  321. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  322. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  323. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  324. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  325. package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
  326. package/dist/websocket/assets/vendor.css +4 -841
  327. package/dist/websocket/assets/vendor.js +4277 -5152
  328. package/dist/websocket/base-object-HAEdWjmg.js +59 -0
  329. package/dist/websocket/basic-B1dkgN3d.js +149 -0
  330. package/dist/websocket/basic-debug.js +10 -0
  331. package/dist/websocket/bookmarklet-BZWtwuX-.js +32 -0
  332. package/dist/websocket/bookmarklet-debug.js +10 -0
  333. package/dist/websocket/chrome-P6FSEUf1.js +10 -0
  334. package/dist/websocket/chrome-debug.js +10 -0
  335. package/dist/websocket/ember.js +166 -0
  336. package/dist/websocket/ember_debug.js +7 -11018
  337. package/dist/websocket/evented-BCTya3yE.js +62 -0
  338. package/dist/websocket/firefox-8F84zphP.js +30 -0
  339. package/dist/websocket/firefox-debug.js +10 -0
  340. package/dist/websocket/index.html +4 -23
  341. package/dist/websocket/internals-CRmXMEzb.js +12 -0
  342. package/dist/websocket/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  343. package/dist/websocket/main.js +7669 -0
  344. package/dist/websocket/port.js +108 -0
  345. package/dist/websocket/profile-node.js +60 -0
  346. package/dist/websocket/promise-assembler.js +218 -0
  347. package/dist/websocket/runloop-6_0lpzTA.js +1138 -0
  348. package/dist/websocket/start-inspector-BIYQArZn.js +334 -0
  349. package/dist/websocket/type-check.js +119 -0
  350. package/dist/websocket/version.js +90 -0
  351. package/dist/websocket/versions.js +4 -0
  352. package/dist/websocket/web-extension-OWnXJ_XK.js +144 -0
  353. package/dist/websocket/websocket-BSUvUqER.js +58 -0
  354. package/dist/websocket/websocket-debug.js +10 -0
  355. package/ember-cli-build.js +31 -140
  356. package/ember_debug/adapters/basic.js +10 -29
  357. package/ember_debug/adapters/bookmarklet.js +1 -0
  358. package/ember_debug/adapters/firefox.js +3 -3
  359. package/ember_debug/adapters/web-extension.js +6 -5
  360. package/ember_debug/adapters/websocket.js +2 -2
  361. package/ember_debug/babel.config.cjs +11 -0
  362. package/ember_debug/container-debug.js +1 -1
  363. package/ember_debug/data-debug.js +7 -8
  364. package/ember_debug/debug-port.js +1 -1
  365. package/ember_debug/deprecation-debug.js +14 -14
  366. package/ember_debug/entrypoints/basic-debug.js +10 -0
  367. package/ember_debug/entrypoints/bookmarklet-debug.js +10 -0
  368. package/ember_debug/entrypoints/chrome-debug.js +10 -0
  369. package/ember_debug/entrypoints/firefox-debug.js +10 -0
  370. package/ember_debug/entrypoints/websocket-debug.js +10 -0
  371. package/ember_debug/general-debug.js +4 -4
  372. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  373. package/ember_debug/lib/get-applications.js +28 -0
  374. package/ember_debug/lib/load-ember-debug-in-webpage.js +32 -0
  375. package/ember_debug/lib/send-apps.js +14 -0
  376. package/ember_debug/lib/send-version-miss.js +38 -0
  377. package/ember_debug/lib/setup-instance-initializer.js +17 -0
  378. package/ember_debug/lib/start-inspector.js +195 -0
  379. package/ember_debug/lib/version-test.js +73 -0
  380. package/ember_debug/lib/versions.js +3 -0
  381. package/ember_debug/libs/capture-render-tree.js +1 -2
  382. package/ember_debug/libs/promise-assembler.js +5 -4
  383. package/ember_debug/libs/render-tree.js +37 -44
  384. package/ember_debug/libs/source-map.js +7 -6
  385. package/ember_debug/libs/view-inspection.js +25 -17
  386. package/ember_debug/main.js +18 -21
  387. package/ember_debug/models/profile-manager.js +6 -6
  388. package/ember_debug/models/profile-node.js +1 -1
  389. package/ember_debug/models/promise.js +2 -2
  390. package/ember_debug/object-inspector.js +74 -65
  391. package/ember_debug/package.json +27 -0
  392. package/ember_debug/port.js +5 -4
  393. package/ember_debug/promise-debug.js +5 -5
  394. package/ember_debug/render-debug.js +5 -5
  395. package/ember_debug/rollup.config.js +24 -0
  396. package/ember_debug/route-debug.js +10 -9
  397. package/ember_debug/services/session.js +2 -2
  398. package/ember_debug/utils/classify.js +1 -1
  399. package/ember_debug/utils/ember/object/internals.js +1 -11
  400. package/ember_debug/utils/ember/own-runloop.js +1 -1
  401. package/ember_debug/utils/ember/runloop.js +7 -10
  402. package/ember_debug/utils/ember-object-names.js +11 -9
  403. package/ember_debug/utils/ember.js +222 -40
  404. package/ember_debug/utils/evented.js +1 -1
  405. package/ember_debug/utils/get-object-name.js +3 -3
  406. package/ember_debug/utils/type-check.js +9 -5
  407. package/ember_debug/view-debug.js +12 -6
  408. package/eslint.config.mjs +173 -0
  409. package/gulpfile.js +1 -1
  410. package/package.json +97 -95
  411. package/patches/ember-cli-inject-live-reload.patch +16 -0
  412. package/pnpm-workspace.yaml +3 -0
  413. package/public/assets/svg/ellipsis.svg +3 -3
  414. package/public/assets/svg/focus-point-round.svg +9 -0
  415. package/public/assets/svg/nav-bug.svg +1 -1
  416. package/public/assets/svg/nav-components.svg +2 -2
  417. package/public/assets/svg/nav-container.svg +1 -1
  418. package/public/assets/svg/nav-data.svg +1 -1
  419. package/public/assets/svg/nav-deprecations.svg +3 -3
  420. package/public/assets/svg/nav-info.svg +3 -3
  421. package/public/assets/svg/nav-promises.svg +2 -2
  422. package/public/assets/svg/nav-render-performance.svg +2 -2
  423. package/public/assets/svg/nav-route-tree.svg +7 -7
  424. package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
  425. package/scripts/download-panes.js +1 -1
  426. package/skeletons/bookmarklet/load_inspector.js +31 -11
  427. package/skeletons/web-extension/background.js +26 -21
  428. package/skeletons/web-extension/boot.js +1 -1
  429. package/skeletons/web-extension/content-script.js +12 -11
  430. package/skeletons/web-extension/devtools.js +12 -3
  431. package/skeletons/web-extension/manifest.json +3 -1
  432. package/skeletons/web-extension/options.js +17 -12
  433. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  434. package/testem.js +0 -1
  435. package/tests/acceptance/app-picker-test.js +4 -4
  436. package/tests/acceptance/component-tree-test.js +96 -57
  437. package/tests/acceptance/container-test.js +0 -2
  438. package/tests/acceptance/data-test.js +14 -11
  439. package/tests/acceptance/deprecation-test.js +8 -12
  440. package/tests/acceptance/info-test.js +2 -2
  441. package/tests/acceptance/object-inspector-test.js +62 -110
  442. package/tests/acceptance/promise-test.js +1 -11
  443. package/tests/acceptance/render-tree-test.js +2 -2
  444. package/tests/acceptance/route-tree-test.js +12 -14
  445. package/tests/acceptance/whats-new-test.js +11 -11
  446. package/tests/ember_debug/container-debug-test.js +5 -14
  447. package/tests/ember_debug/deprecation-debug-test.js +15 -6
  448. package/tests/ember_debug/ember-data-test.js +7 -1
  449. package/tests/ember_debug/ember-debug-test.js +13 -13
  450. package/tests/ember_debug/object-inspector-test.js +115 -50
  451. package/tests/ember_debug/profile-manager-test.js +153 -170
  452. package/tests/ember_debug/profile-node-test.js +9 -5
  453. package/tests/ember_debug/promise-assembler-test.js +18 -10
  454. package/tests/ember_debug/promise-debug-test.js +19 -15
  455. package/tests/ember_debug/render-debug-test.js +8 -1
  456. package/tests/ember_debug/route-debug-test.js +14 -8
  457. package/tests/ember_debug/view-debug-test.js +267 -183
  458. package/tests/helpers/{index.js → index.ts} +6 -5
  459. package/tests/helpers/setup-ember-debug-test.js +22 -2
  460. package/tests/index.html +1 -2
  461. package/tests/integration/injection-test.js +37 -81
  462. package/tests/test-adapter.js +15 -15
  463. package/tests/test-helper.js +6 -4
  464. package/tests/unit/check-current-route-test.js +0 -4
  465. package/tests/unit/resizable-columns-test.js +53 -51
  466. package/tests/unit/utils/parse-text-test.js +3 -3
  467. package/tests/unit/utils/search-match-test.js +5 -5
  468. package/tests/unit/utils/type-check-test.js +27 -0
  469. package/tsconfig.json +3 -1
  470. package/types/ember-inspector/index.d.ts +2 -1
  471. package/types/global.d.ts +1 -7
  472. package/.eslintignore +0 -33
  473. package/.eslintrc.js +0 -86
  474. package/app/components/list-content.js +0 -130
  475. package/app/controllers/promise-tree.js +0 -130
  476. package/app/libs/promise-assembler.js +0 -169
  477. package/app/routes/model-types.js +0 -47
  478. package/app/routes/promise-tree.js +0 -48
  479. package/app/routes/records.js +0 -55
  480. package/app/routes/render-tree.js +0 -66
  481. package/app/services/adapters/websocket.js +0 -31
  482. package/app/services/layout.js +0 -39
  483. package/app/services/port.js +0 -90
  484. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  485. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  486. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  487. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  488. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  489. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  490. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  491. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  492. package/dist/chrome/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  493. package/dist/chrome/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  494. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  495. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  496. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  497. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  498. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  499. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  500. package/dist/firefox/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  501. package/dist/firefox/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  502. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  503. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  504. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  505. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  506. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  507. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  508. package/dist/websocket/assets/chunk.143.76a242242ec46a377266.js +0 -28
  509. package/dist/websocket/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  510. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  511. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  512. package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
  513. package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
  514. package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
  515. package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
  516. package/ember_debug/.eslintrc.js +0 -13
  517. package/ember_debug/utils/ember/debug.js +0 -20
  518. package/ember_debug/utils/ember/instrumentation.js +0 -11
  519. package/ember_debug/utils/ember/loader.js +0 -22
  520. package/ember_debug/utils/rsvp.js +0 -20
  521. package/ember_debug/vendor/loader.js +0 -54
  522. package/ember_debug/vendor/startup-wrapper.js +0 -399
  523. package/lib/ui/addon/styles/_object-inspector-toggle.scss +0 -12
  524. package/lib/ui/addon/styles/addon.scss +0 -13
  525. package/lib/ui/addon/styles/toolbar/_icon-button.scss +0 -61
  526. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  527. package/lib/ui/app/components/ui/disclosure.js +0 -1
  528. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  529. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  530. package/lib/ui/app/components/ui/empty-message.js +0 -1
  531. package/lib/ui/app/components/ui/error-page.js +0 -1
  532. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  533. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  534. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  535. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  536. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  537. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  538. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  539. package/lib/ui/app/components/ui/warning-message.js +0 -1
  540. package/lib/ui/index.js +0 -34
  541. package/lib/ui/package.json +0 -13
  542. package/public/assets/fonts/Inter-Bold.woff +0 -0
  543. package/public/assets/fonts/Inter-Bold.woff2 +0 -0
  544. package/public/assets/fonts/Inter-Regular.woff +0 -0
  545. package/public/assets/fonts/Inter-Regular.woff2 +0 -0
  546. package/tests/helpers/trigger-port.js +0 -6
  547. /package/app/{app.js → app.ts} +0 -0
  548. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  549. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  550. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  551. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  552. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  553. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  554. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  555. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  556. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  557. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  558. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  559. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  560. /package/app/controllers/{info.js → info.ts} +0 -0
  561. /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
  562. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  563. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  564. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
@@ -1,6 +1,6 @@
1
- import classify from 'ember-debug/utils/classify';
2
- import bound from 'ember-debug/utils/bound-method';
3
- import getObjectName from '../utils/get-object-name';
1
+ import classify from '../utils/classify';
2
+ import bound from '../utils/bound-method';
3
+ import getObjectName from '../utils/get-object-name.js';
4
4
 
5
5
  function makeHighlight(id) {
6
6
  return `<div id="ember-inspector-highlight-${id}" role="presentation"></div>`;
@@ -308,7 +308,7 @@ export default class ViewInspection {
308
308
  document.body.removeEventListener(
309
309
  'mousemove',
310
310
  bound(this, this.onMouseMove),
311
- { capture: true }
311
+ { capture: true },
312
312
  );
313
313
 
314
314
  this.didStopInspecting();
@@ -317,7 +317,11 @@ export default class ViewInspection {
317
317
  onMouseMove(event) {
318
318
  event.preventDefault();
319
319
  event.stopPropagation();
320
- this.inspectNearest(event.target, false);
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
- this.inspectNearest(event.target, true);
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
  }
@@ -480,7 +488,7 @@ export default class ViewInspection {
480
488
 
481
489
  _renderTooltipCategory(node) {
482
490
  let category = this.tooltip.querySelector(
483
- '.ember-inspector-tooltip-category'
491
+ '.ember-inspector-tooltip-category',
484
492
  );
485
493
 
486
494
  switch (node.type) {
@@ -498,7 +506,7 @@ export default class ViewInspection {
498
506
 
499
507
  _renderTooltipDetails(node) {
500
508
  let tbody = this.tooltip.querySelector(
501
- '.ember-inspector-tooltip-details tbody'
509
+ '.ember-inspector-tooltip-details tbody',
502
510
  );
503
511
 
504
512
  tbody.innerHTML = '';
@@ -512,21 +520,21 @@ export default class ViewInspection {
512
520
  this._renderTooltipDetail(
513
521
  tbody,
514
522
  'Controller',
515
- this._tokenizeItem(node.instance)
523
+ this._tokenizeItem(node.instance),
516
524
  );
517
525
  } else {
518
526
  this._renderTooltipDetail(
519
527
  tbody,
520
528
  'Instance',
521
- this._tokenizeItem(node.instance)
529
+ this._tokenizeItem(node.instance),
522
530
  );
523
531
  }
524
532
  const detail =
525
533
  tbody.querySelector(
526
- '.ember-inspector-tooltip-detail-instance > .ember-inspector-tooltip-token-tag'
534
+ '.ember-inspector-tooltip-detail-instance > .ember-inspector-tooltip-token-tag',
527
535
  ) ||
528
536
  tbody.querySelector(
529
- '.ember-inspector-tooltip-detail-controller > .ember-inspector-tooltip-token-tag'
537
+ '.ember-inspector-tooltip-detail-controller > .ember-inspector-tooltip-token-tag',
530
538
  );
531
539
  if (detail) {
532
540
  detail.onclick = () => {
@@ -635,7 +643,7 @@ export default class ViewInspection {
635
643
  {
636
644
  // <my-app@component:foo-bar::ember123>
637
645
  let match = stringified.match(
638
- /<([a-z0-9-_]+)@([a-z0-9-_]+):([a-z0-9-_]+)::([a-z0-9-_]+)>/i
646
+ /<([a-z0-9-_]+)@([a-z0-9-_]+):([a-z0-9-_]+)::([a-z0-9-_]+)>/i,
639
647
  );
640
648
 
641
649
  if (match) {
@@ -691,12 +699,12 @@ export default class ViewInspection {
691
699
  attachmentTop = top;
692
700
  this.tooltip.setAttribute(
693
701
  'class',
694
- `ember-inspector-tooltip-attach-above`
702
+ `ember-inspector-tooltip-attach-above`,
695
703
  );
696
704
  } else {
697
705
  this.tooltip.setAttribute(
698
706
  'class',
699
- `ember-inspector-tooltip-attach-below`
707
+ `ember-inspector-tooltip-attach-below`,
700
708
  );
701
709
  }
702
710
 
@@ -709,7 +717,7 @@ export default class ViewInspection {
709
717
  // within the viewport, but not so much that it will become detached.
710
718
  leftOffset = Math.max(
711
719
  highlightRect.left - safetyMargin,
712
- safetyMargin - highlightRect.width
720
+ safetyMargin - highlightRect.width,
713
721
  );
714
722
  } else if (tooltipRect.right > viewportWidth) {
715
723
  // If the tooltip is partially offscreen to the right (because the tooltip
@@ -717,7 +725,7 @@ export default class ViewInspection {
717
725
  // not so much that it will become detached.
718
726
  leftOffset = Math.min(
719
727
  tooltipRect.right - viewportWidth,
720
- tooltipRect.width - safetyMargin * 2
728
+ tooltipRect.width - safetyMargin * 2,
721
729
  );
722
730
  tooltipStyle.left = `${scrollX + attachmentLeft - leftOffset}px`;
723
731
  }
@@ -1,23 +1,20 @@
1
- import BasicAdapter from 'ember-debug/adapters/basic';
2
- import Port from 'ember-debug/port';
3
- import ObjectInspector from 'ember-debug/object-inspector';
4
- import GeneralDebug from 'ember-debug/general-debug';
5
- import RenderDebug from 'ember-debug/render-debug';
6
- import ViewDebug from 'ember-debug/view-debug';
7
- import RouteDebug from 'ember-debug/route-debug';
8
- import DataDebug from 'ember-debug/data-debug';
9
- import PromiseDebug from 'ember-debug/promise-debug';
10
- import ContainerDebug from 'ember-debug/container-debug';
11
- import DeprecationDebug from 'ember-debug/deprecation-debug';
12
- import Session from 'ember-debug/services/session';
13
-
14
- import { Application, Namespace } from 'ember-debug/utils/ember';
15
- import {
16
- guidFor,
17
- setGuidPrefix,
18
- } from 'ember-debug/utils/ember/object/internals';
19
- import { run } from 'ember-debug/utils/ember/runloop';
20
- import BaseObject from 'ember-debug/utils/base-object';
1
+ import BasicAdapter from './adapters/basic';
2
+ import Port from './port';
3
+ import ObjectInspector from './object-inspector';
4
+ import GeneralDebug from './general-debug';
5
+ import RenderDebug from './render-debug';
6
+ import ViewDebug from './view-debug';
7
+ import RouteDebug from './route-debug';
8
+ import DataDebug from './data-debug';
9
+ import PromiseDebug from './promise-debug';
10
+ import ContainerDebug from './container-debug';
11
+ import DeprecationDebug from './deprecation-debug';
12
+ import Session from './services/session';
13
+
14
+ import { Application, Namespace } from './utils/ember';
15
+ import { guidFor, setGuidPrefix } from './utils/ember/object/internals';
16
+ import { run } from './utils/ember/runloop';
17
+ import BaseObject from './utils/base-object';
21
18
 
22
19
  class EmberDebug extends BaseObject {
23
20
  /**
@@ -47,7 +44,7 @@ class EmberDebug extends BaseObject {
47
44
  }
48
45
 
49
46
  // Using object shorthand syntax here is somehow having strange side effects.
50
- // eslint-disable-next-line object-shorthand
47
+
51
48
  Port = Port;
52
49
  Adapter = BasicAdapter;
53
50
 
@@ -1,8 +1,8 @@
1
- import ProfileNode from './profile-node';
2
- import Ember from 'ember-debug/utils/ember';
3
- import { compareVersion } from 'ember-debug/utils/version';
1
+ import ProfileNode from './profile-node.js';
2
+ import { VERSION } from '../utils/ember';
3
+ import { compareVersion } from '../utils/version';
4
4
 
5
- import { later, scheduleOnce, cancel } from 'ember-debug/utils/ember/runloop';
5
+ import { later, scheduleOnce, cancel } from '../utils/ember/runloop';
6
6
 
7
7
  function getEdges(first, last, closest) {
8
8
  let start = null;
@@ -75,7 +75,7 @@ export default class ProfileManager {
75
75
  this.stylesheet = insertStylesheet();
76
76
  // keep track of all the active highlights
77
77
  this.highlights = [];
78
- this.isHighlightEnabled = compareVersion(Ember?.VERSION, '3.20.0') !== -1;
78
+ this.isHighlightEnabled = compareVersion(VERSION, '3.20.0') !== -1;
79
79
  }
80
80
 
81
81
  began(timestamp, payload, now) {
@@ -222,7 +222,7 @@ export default class ProfileManager {
222
222
  this.queue[entry.endedIndex].profileNode = this.began(
223
223
  entry.timestamp,
224
224
  entry.payload,
225
- entry.now
225
+ entry.now,
226
226
  );
227
227
  }
228
228
  } else {
@@ -3,7 +3,7 @@
3
3
 
4
4
  @class ProfileNode
5
5
  **/
6
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
6
+ import { guidFor } from '../utils/ember/object/internals';
7
7
 
8
8
  function get(obj, key) {
9
9
  return obj.get ? obj.get(key) : obj[key];
@@ -1,5 +1,5 @@
1
- import { typeOf } from 'ember-debug/utils/type-check';
2
- import BaseObject from 'ember-debug/utils/base-object';
1
+ import { typeOf } from '../utils/type-check';
2
+ import BaseObject from '../utils/base-object';
3
3
 
4
4
  const dateComputed = function () {
5
5
  return function (target, propertyKey) {
@@ -1,13 +1,13 @@
1
1
  /* eslint-disable ember/no-private-routing-service */
2
- import DebugPort from './debug-port';
3
- import bound from 'ember-debug/utils/bound-method';
2
+ import DebugPort from './debug-port.js';
3
+ import bound from './utils/bound-method';
4
4
  import {
5
5
  isComputed,
6
6
  getDescriptorFor,
7
7
  typeOf,
8
8
  inspect,
9
- } from 'ember-debug/utils/type-check';
10
- import { compareVersion } from 'ember-debug/utils/version';
9
+ } from './utils/type-check';
10
+ import { compareVersion } from './utils/version';
11
11
  import {
12
12
  EmberObject,
13
13
  meta as emberMeta,
@@ -16,28 +16,30 @@ import {
16
16
  ObjectProxy,
17
17
  ArrayProxy,
18
18
  Service,
19
+ InternalsMetal,
19
20
  Component,
20
- } from 'ember-debug/utils/ember';
21
- import { cacheFor, guidFor } from 'ember-debug/utils/ember/object/internals';
22
- import { _backburner, join } from 'ember-debug/utils/ember/runloop';
23
- import emberNames from './utils/ember-object-names';
24
- import getObjectName from './utils/get-object-name';
25
- import { EmberLoader } from 'ember-debug/utils/ember/loader';
26
-
27
- const GlimmerComponent = (() => {
28
- try {
29
- return EmberLoader.require('@glimmer/component').default;
30
- } catch (e) {
31
- // ignore, return undefined
32
- }
33
- })();
21
+ GlimmerComponent,
22
+ GlimmerReference,
23
+ GlimmerValidator,
24
+ getOwner,
25
+ } from './utils/ember';
26
+ import { cacheFor, guidFor } from './utils/ember/object/internals';
27
+ import { _backburner, join } from './utils/ember/runloop';
28
+ import emberNames from './utils/ember-object-names.js';
29
+ import getObjectName from './utils/get-object-name.js';
34
30
 
35
31
  let tagValue, tagValidate, track, tagForProperty;
36
32
 
37
- try {
38
- // Try to load the most recent library
39
- let GlimmerValidator = EmberLoader.require('@glimmer/validator');
33
+ const GlimmerDebugComponent = (() => GlimmerComponent?.default)();
34
+
35
+ const OWNER_SYMBOL = '__owner__'; // can't use actual symbol because it can't be cloned
40
36
 
37
+ // Try to use the most recent library (GlimmerValidator), else
38
+ // fallback on the previous implementation (GlimmerReference).
39
+ // The global checks if the inspected app is Vite, in that case
40
+ // we can't execute that block because the properties it tries to
41
+ // assign are readonly.
42
+ if (GlimmerValidator && !globalThis.emberInspectorApps) {
41
43
  tagValue = GlimmerValidator.value || GlimmerValidator.valueForTag;
42
44
  tagValidate = GlimmerValidator.validate || GlimmerValidator.validateTag;
43
45
  track = GlimmerValidator.track;
@@ -70,26 +72,15 @@ try {
70
72
  }
71
73
  return r;
72
74
  };
73
- } catch (e) {
74
- try {
75
- // Fallback to the previous implementation
76
- let GlimmerReference = EmberLoader.require('@glimmer/reference');
77
-
78
- tagValue = GlimmerReference.value;
79
- tagValidate = GlimmerReference.validate;
80
- } catch (e) {
81
- // ignore
82
- }
75
+ } else if (GlimmerReference) {
76
+ tagValue = GlimmerReference.value;
77
+ tagValidate = GlimmerReference.validate;
83
78
  }
84
79
 
85
- try {
86
- let metal = EmberLoader.require('@ember/-internals/metal');
87
-
88
- tagForProperty = metal.tagForProperty;
80
+ if (InternalsMetal) {
81
+ tagForProperty = InternalsMetal.tagForProperty;
89
82
  // If track was not already loaded, use metal's version (the previous version)
90
- track = track || metal.track;
91
- } catch (e) {
92
- // ignore
83
+ track = track || InternalsMetal.track;
93
84
  }
94
85
 
95
86
  const HAS_GLIMMER_TRACKING = tagValue && tagValidate && track && tagForProperty;
@@ -178,7 +169,7 @@ function getTrackedDependencies(object, property, tagInfo) {
178
169
  const dependentKeys = [];
179
170
  if (cpDesc) {
180
171
  dependentKeys.push(
181
- ...(cpDesc._dependentKeys || []).map((k) => ({ name: k }))
172
+ ...(cpDesc._dependentKeys || []).map((k) => ({ name: k })),
182
173
  );
183
174
  }
184
175
  if (HAS_GLIMMER_TRACKING) {
@@ -309,7 +300,7 @@ export default class extends DebugPort {
309
300
  dependentKeys = getTrackedDependencies(
310
301
  object,
311
302
  item.name,
312
- tracked[item.name]
303
+ tracked[item.name],
313
304
  );
314
305
  tracked[item.name].revision = tagValue(tracked[item.name].tag);
315
306
  }
@@ -324,7 +315,7 @@ export default class extends DebugPort {
324
315
  dependentKeys,
325
316
  });
326
317
  }
327
- } catch (e) {
318
+ } catch {
328
319
  // dont do anything
329
320
  }
330
321
  });
@@ -332,6 +323,7 @@ export default class extends DebugPort {
332
323
  }
333
324
  }
334
325
 
326
+ // eslint-disable-next-line ember/classic-decorator-hooks
335
327
  init() {
336
328
  super.init();
337
329
  this.sentObjects = {};
@@ -370,7 +362,7 @@ export default class extends DebugPort {
370
362
  value = this.valueForObjectProperty(
371
363
  message.objectId,
372
364
  message.property,
373
- message.mixinIndex
365
+ message.mixinIndex,
374
366
  );
375
367
  if (value) {
376
368
  this.sendMessage('updateProperty', value);
@@ -451,7 +443,7 @@ export default class extends DebugPort {
451
443
  }
452
444
  this.adapter.log(
453
445
  `Object Inspector error for ${error.property}`,
454
- stack
446
+ stack,
455
447
  );
456
448
  });
457
449
  },
@@ -505,6 +497,8 @@ export default class extends DebugPort {
505
497
 
506
498
  if (prop === null || prop === undefined) {
507
499
  value = this.sentObjects[objectId];
500
+ } else if (prop === OWNER_SYMBOL) {
501
+ value = getOwner(this.sentObjects[objectId]);
508
502
  } else {
509
503
  value = calculateCP(object, { name: prop }, {});
510
504
  }
@@ -546,7 +540,7 @@ export default class extends DebugPort {
546
540
  sendObject(object) {
547
541
  if (!this.canSend(object)) {
548
542
  throw new Error(
549
- `Can't inspect ${object}. Only Ember objects and arrays are supported.`
543
+ `Can't inspect ${object}. Only Ember objects and arrays are supported.`,
550
544
  );
551
545
  }
552
546
  let details = this.mixinsForObject(object);
@@ -629,6 +623,7 @@ export default class extends DebugPort {
629
623
  * - Bar
630
624
  * - Foo
631
625
  * - EmberObject
626
+ * - Owner (Container)
632
627
  * ```
633
628
  *
634
629
  * The "mixins" returned by this function directly represent these things too.
@@ -670,7 +665,7 @@ export default class extends DebugPort {
670
665
  if (name === '(unknown)') {
671
666
  name = '(unknown mixin)';
672
667
  }
673
- } catch (e) {
668
+ } catch {
674
669
  name = '(Unable to convert Object to string)';
675
670
  }
676
671
  }
@@ -745,9 +740,30 @@ export default class extends DebugPort {
745
740
  mixinDetails,
746
741
  errorsForObject,
747
742
  expensiveProperties,
748
- tracked
743
+ tracked,
749
744
  );
750
745
 
746
+ const owner = getOwner(object);
747
+ const ownerId = guidFor(owner);
748
+
749
+ if (owner && !mixinDetails.find((mixin) => mixin.id === ownerId)) {
750
+ mixinDetails.push({
751
+ name: 'Container',
752
+ id: ownerId,
753
+ expand: false,
754
+ properties: [
755
+ {
756
+ name: OWNER_SYMBOL,
757
+ value: {
758
+ inspect: `<Owner:${ownerId}>`,
759
+ type: 'type-owner',
760
+ objectId: ownerId,
761
+ },
762
+ },
763
+ ],
764
+ });
765
+ }
766
+
751
767
  this.currentObject = { object, mixinDetails, objectId };
752
768
 
753
769
  let errors = errorsToSend(errorsForObject);
@@ -764,7 +780,7 @@ export default class extends DebugPort {
764
780
  value = calculateCP(
765
781
  object,
766
782
  { name: property },
767
- this._errorsFor[objectId]
783
+ this._errorsFor[objectId],
768
784
  );
769
785
  }
770
786
 
@@ -913,18 +929,7 @@ function addProperties(properties, hash) {
913
929
  let options = { isMandatorySetter: isMandatorySetter(desc) };
914
930
 
915
931
  if (typeof hash[prop] === 'object' && hash[prop] !== null) {
916
- options.isService =
917
- !('type' in hash[prop]) && hash[prop].type === 'service';
918
-
919
- if (!options.isService) {
920
- if (hash[prop].constructor) {
921
- options.isService = hash[prop].constructor.isServiceFactory;
922
- }
923
- }
924
-
925
- if (!options.isService) {
926
- options.isService = desc.value instanceof Service;
927
- }
932
+ options.isService = desc.value instanceof Service;
928
933
  }
929
934
  if (options.isService) {
930
935
  replaceProperty(properties, prop, inspectValue(hash, prop), options);
@@ -934,7 +939,7 @@ function addProperties(properties, hash) {
934
939
  if (isComputed(hash, prop)) {
935
940
  options.isComputed = true;
936
941
  options.dependentKeys = (desc._dependentKeys || []).map((key) =>
937
- key.toString()
942
+ key.toString(),
938
943
  );
939
944
 
940
945
  if (typeof desc.get === 'function') {
@@ -1085,7 +1090,7 @@ function calculateCPs(
1085
1090
  mixinDetails,
1086
1091
  errorsForObject,
1087
1092
  expensiveProperties,
1088
- tracked
1093
+ tracked,
1089
1094
  ) {
1090
1095
  expensiveProperties = expensiveProperties || [];
1091
1096
  mixinDetails.forEach((mixin) => {
@@ -1113,7 +1118,7 @@ function calculateCPs(
1113
1118
  item.dependentKeys = getTrackedDependencies(
1114
1119
  object,
1115
1120
  item.name,
1116
- tagInfo
1121
+ tagInfo,
1117
1122
  );
1118
1123
  tagInfo.revision = tagValue(tagInfo.tag);
1119
1124
  } else {
@@ -1126,6 +1131,9 @@ function calculateCPs(
1126
1131
  item.code = '';
1127
1132
  }
1128
1133
  }
1134
+ if (value instanceof Service) {
1135
+ item.isService = true;
1136
+ }
1129
1137
  }
1130
1138
  }
1131
1139
  });
@@ -1282,9 +1290,9 @@ function getDebugInfo(object) {
1282
1290
  'domManager',
1283
1291
  'states',
1284
1292
  'element',
1285
- 'targetObject'
1293
+ 'targetObject',
1286
1294
  );
1287
- } else if (GlimmerComponent && object instanceof GlimmerComponent) {
1295
+ } else if (GlimmerDebugComponent && object instanceof GlimmerDebugComponent) {
1288
1296
  // These properties don't really exist on Glimmer Components, but
1289
1297
  // reading their values trigger a development mode assertion. The
1290
1298
  // more correct long term fix is to make getters lazy (shows "..."
@@ -1304,8 +1312,9 @@ function calculateCP(object, item, errorsForObject) {
1304
1312
  delete errorsForObject[property];
1305
1313
  try {
1306
1314
  if (object instanceof ArrayProxy && property == parseInt(property)) {
1307
- return object.objectAt(property);
1315
+ return object.at(property);
1308
1316
  }
1317
+
1309
1318
  return item.isGetter || property.includes?.('.')
1310
1319
  ? object[property]
1311
1320
  : object.get?.(property) || object[property]; // need to use `get` to be able to detect tracked props
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "ember-debug",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "scripts": {
7
+ "watch": "pnpm build --watch",
8
+ "build": "rollup --config",
9
+ "prepare": "pnpm build"
10
+ },
11
+ "devDependencies": {
12
+ "@babel/plugin-proposal-decorators": "^7.25.9",
13
+ "@babel/plugin-transform-class-properties": "^7.25.9",
14
+ "@babel/plugin-transform-class-static-block": "^7.26.0",
15
+ "@rollup/plugin-babel": "^6.0.4",
16
+ "@rollup/plugin-commonjs": "^28.0.3",
17
+ "@rollup/plugin-node-resolve": "^16.0.1",
18
+ "backburner.js": "^2.8.0",
19
+ "glob": "^11.0.2",
20
+ "rollup": "^4.39.0",
21
+ "rollup-plugin-delete": "^3.0.1",
22
+ "source-map-js": "^1.2.1"
23
+ },
24
+ "exports": {
25
+ "./*": "./dist/*.js"
26
+ }
27
+ }
@@ -1,7 +1,7 @@
1
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
2
- import { run } from 'ember-debug/utils/ember/runloop';
3
- import BaseObject from 'ember-debug/utils/base-object';
4
- import Evented from 'ember-debug/utils/evented';
1
+ import { guidFor } from './utils/ember/object/internals';
2
+ import { run } from './utils/ember/runloop';
3
+ import BaseObject from './utils/base-object';
4
+ import Evented from './utils/evented';
5
5
 
6
6
  export default class extends BaseObject {
7
7
  constructor(data) {
@@ -35,6 +35,7 @@ export default class extends BaseObject {
35
35
  return guidFor(this.namespace?._application, 'ember');
36
36
  }
37
37
 
38
+ // eslint-disable-next-line ember/classic-decorator-hooks
38
39
  init() {
39
40
  /**
40
41
  * Stores the timestamp when it was first accessed.
@@ -1,7 +1,7 @@
1
- import DebugPort from './debug-port';
2
- import PromiseAssembler from 'ember-debug/libs/promise-assembler';
3
- import { debounce } from 'ember-debug/utils/ember/runloop';
4
- import RSVP from 'ember-debug/utils/rsvp';
1
+ import DebugPort from './debug-port.js';
2
+ import PromiseAssembler from './libs/promise-assembler';
3
+ import { debounce } from './utils/ember/runloop';
4
+ import { RSVP } from './utils/ember';
5
5
 
6
6
  export default class extends DebugPort {
7
7
  get objectInspector() {
@@ -134,7 +134,7 @@ export default class extends DebugPort {
134
134
  }
135
135
  // Remove inspector-created promises
136
136
  uniquePromises = uniquePromises.filter(
137
- (promise) => promise.label !== 'ember-inspector'
137
+ (promise) => promise.label !== 'ember-inspector',
138
138
  );
139
139
  const serialized = this.serializeArray(uniquePromises);
140
140
  this.sendMessage('promisesUpdated', {
@@ -1,9 +1,9 @@
1
- import DebugPort from './debug-port';
2
- import ProfileManager from './models/profile-manager';
1
+ import DebugPort from './debug-port.js';
2
+ import ProfileManager from './models/profile-manager.js';
3
3
 
4
- import { subscribe } from 'ember-debug/utils/ember/instrumentation';
5
- import { _backburner } from 'ember-debug/utils/ember/runloop';
6
- import bound from 'ember-debug/utils/bound-method';
4
+ import { subscribe } from './utils/ember';
5
+ import { _backburner } from './utils/ember/runloop';
6
+ import bound from './utils/bound-method';
7
7
 
8
8
  // Initial setup, that has to occur before the EmberObject init for some reason
9
9
  let profileManager = new ProfileManager();
@@ -0,0 +1,24 @@
1
+ import { nodeResolve } from '@rollup/plugin-node-resolve';
2
+ import commonjs from '@rollup/plugin-commonjs';
3
+ import { babel } from '@rollup/plugin-babel';
4
+ import { globSync } from 'glob';
5
+ import del from 'rollup-plugin-delete';
6
+
7
+ export default {
8
+ input: [
9
+ 'main.js',
10
+ 'utils/version.js',
11
+ 'utils/type-check.js',
12
+ 'port.js',
13
+ 'utils/ember.js',
14
+ 'models/profile-node.js',
15
+ 'libs/promise-assembler.js',
16
+ 'lib/versions.js',
17
+ ...globSync('entrypoints/*.js'),
18
+ ],
19
+ output: {
20
+ dir: 'dist',
21
+ },
22
+
23
+ plugins: [babel(), nodeResolve(), commonjs(), del({ targets: 'dist' })],
24
+ };