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
@@ -84,7 +84,7 @@ function TopLevel({ id }, ...children) {
84
84
  instance: null,
85
85
  template: 'packages/@ember/-internals/glimmer/lib/templates/outlet.hbs',
86
86
  },
87
- ...children
87
+ ...children,
88
88
  );
89
89
  }
90
90
 
@@ -109,7 +109,7 @@ function getRenderTree({ withChildren, withManyChildren } = {}) {
109
109
  if (withChildren) {
110
110
  children.push(
111
111
  Component({ id: 5, name: 'sub-task' }),
112
- Component({ id: 6, name: 'sub-task' })
112
+ Component({ id: 6, name: 'sub-task' }),
113
113
  );
114
114
  }
115
115
  if (withManyChildren) {
@@ -133,11 +133,11 @@ function getRenderTree({ withChildren, withManyChildren } = {}) {
133
133
  args: Args({ names: ['subTasks'], positionals: 0 }),
134
134
  instance: Serialized('ember789'),
135
135
  },
136
- ...children
137
- )
138
- )
139
- )
140
- )
136
+ ...children,
137
+ ),
138
+ ),
139
+ ),
140
+ ),
141
141
  ),
142
142
  ];
143
143
  }
@@ -165,7 +165,7 @@ module('Component Tab', function (hooks) {
165
165
  assert.strictEqual(
166
166
  expandedNodes.length,
167
167
  3,
168
- 'all nodes should be expanded except the leaf node'
168
+ 'all nodes should be expanded except the leaf node',
169
169
  );
170
170
 
171
171
  let names = [];
@@ -183,7 +183,7 @@ module('Component Tab', function (hooks) {
183
183
  'TodoList',
184
184
  'TodoItem @subTasks ={{ ... }}',
185
185
  ],
186
- 'expected names for all views/components'
186
+ 'expected names for all views/components',
187
187
  );
188
188
  });
189
189
 
@@ -193,7 +193,7 @@ module('Component Tab', function (hooks) {
193
193
  let treeNodes = findAll('.component-tree-item');
194
194
  assert.strictEqual(treeNodes.length, 4, 'expected some tree nodes');
195
195
 
196
- let expanders = findAll('.component-tree-item__expand');
196
+ let expanders = findAll('.component-tree-item-expand');
197
197
  let expanderEl = expanders[expanders.length - 1];
198
198
  await click(expanderEl);
199
199
 
@@ -230,8 +230,6 @@ module('Component Tab', function (hooks) {
230
230
  });
231
231
 
232
232
  test('It allows users to navigate nodes with arrow keys', async function (assert) {
233
- assert.expect(6);
234
-
235
233
  await visit('/component-tree');
236
234
 
237
235
  // select first node with down arrow key
@@ -286,31 +284,31 @@ module('Component Tab', function (hooks) {
286
284
  test('It allows users to expand and collapse children with alt key', async function (assert) {
287
285
  await visit('/component-tree');
288
286
 
289
- let expanders = findAll('.component-tree-item__expand.expanded');
287
+ let expanders = findAll('.component-tree-item-expand.expanded');
290
288
  assert.strictEqual(
291
289
  expanders.length,
292
290
  3,
293
- 'disclosure triangles all in expanded state'
291
+ 'disclosure triangles all in expanded state',
294
292
  );
295
293
 
296
294
  // Click second component with alt key;
297
295
  // this should collapse itself and children
298
296
  let expanderEl = expanders[1];
299
297
  await click(expanderEl, { altKey: true });
300
- expanders = findAll('.component-tree-item__expand.expanded');
298
+ expanders = findAll('.component-tree-item-expand.expanded');
301
299
  assert.strictEqual(
302
300
  expanders.length,
303
301
  1,
304
- 'clicked disclosure triangle no longer expanded'
302
+ 'clicked disclosure triangle no longer expanded',
305
303
  );
306
304
 
307
- expanders = findAll('.component-tree-item__expand');
305
+ expanders = findAll('.component-tree-item-expand');
308
306
  expanderEl = expanders[1];
309
307
  await click(expanderEl);
310
308
 
311
309
  // After expanding second component without alt key
312
310
  // the children should be collapsed
313
- expanders = findAll('.component-tree-item__expand');
311
+ expanders = findAll('.component-tree-item-expand');
314
312
  expanderEl = expanders[2];
315
313
  assert
316
314
  .dom(expanderEl)
@@ -335,10 +333,63 @@ module('Component Tab', function (hooks) {
335
333
  assert.deepEqual(
336
334
  visibleComponentNames,
337
335
  ['application route', 'todos route', 'TodoList'],
338
- 'expected names for all views/components'
336
+ 'expected names for all views/components',
339
337
  );
340
338
  });
341
339
 
340
+ test('it should only show parents and children of selected item in focus mode', async function (assert) {
341
+ await visit('/component-tree');
342
+
343
+ function findTreeItem(children, id) {
344
+ for (const child of children) {
345
+ if (child.id.includes(`render-node:${id}`)) {
346
+ return child;
347
+ }
348
+ const found = findTreeItem(child.children, id);
349
+ if (found) {
350
+ return found;
351
+ }
352
+ }
353
+ }
354
+
355
+ function getCustomRenderTree() {
356
+ const tree = getRenderTree({ withChildren: true });
357
+ const subtask = findTreeItem(tree, 6);
358
+ const todo = findTreeItem(tree, 3);
359
+ subtask.children.push(Component({ id: 7, name: 'sub-task-child' }));
360
+ subtask.children.push(Component({ id: 8, name: 'sub-task-child' }));
361
+ todo.children.push(Component({ id: 9, name: 'todo-list-2' }));
362
+ return tree;
363
+ }
364
+
365
+ await sendMessage({
366
+ type: 'view:renderTree',
367
+ tree: getCustomRenderTree(),
368
+ });
369
+
370
+ await rerender();
371
+
372
+ let treeNodes = findAll('.component-tree-item');
373
+ assert.strictEqual(treeNodes.length, 5, 'expected all tree nodes');
374
+
375
+ let expanders = findAll('.component-tree-item-expand');
376
+ let expanderEl = expanders[expanders.length - 1];
377
+ await click(expanderEl);
378
+
379
+ treeNodes = findAll('.component-tree-item');
380
+ const subTask = treeNodes
381
+ .filter((t) => t.textContent.toLowerCase().includes('subtask'))
382
+ .at(-1);
383
+
384
+ respondWith('view:showInspection', false, { count: 1 });
385
+ await click(subTask);
386
+
387
+ await click('[data-test-toggle-focus]');
388
+
389
+ treeNodes = findAll('.component-tree-item');
390
+ assert.strictEqual(treeNodes.length, 6, 'expected all tree nodes');
391
+ });
392
+
342
393
  test('It should clear the search filter when the clear button is clicked', async function (assert) {
343
394
  await visit('/component-tree');
344
395
 
@@ -357,7 +408,7 @@ module('Component Tab', function (hooks) {
357
408
  test('It should update the view tree when the port triggers a change, preserving the expanded state of existing nodes', async function (assert) {
358
409
  await visit('/component-tree');
359
410
 
360
- let expanders = findAll('.component-tree-item__expand');
411
+ let expanders = findAll('.component-tree-item-expand');
361
412
  let expanderEl = expanders[expanders.length - 1];
362
413
  await click(expanderEl);
363
414
 
@@ -385,7 +436,7 @@ module('Component Tab', function (hooks) {
385
436
  .exists({ count: 4 }, 'the last node should still be collapsed');
386
437
 
387
438
  assert
388
- .dom('.component-tree-item__expand')
439
+ .dom('.component-tree-item-expand')
389
440
  .exists({ count: 3 }, 'last item should not have expander yet');
390
441
 
391
442
  // send a view tree with children
@@ -395,14 +446,14 @@ module('Component Tab', function (hooks) {
395
446
  });
396
447
 
397
448
  assert
398
- .dom('.component-tree-item__expand')
449
+ .dom('.component-tree-item-expand')
399
450
  .exists({ count: 4 }, 'it should have a new expander');
400
451
 
401
452
  assert
402
453
  .dom('.component-tree-item')
403
454
  .exists({ count: 4 }, 'the last node should still be collapsed');
404
455
 
405
- let expanders = findAll('.component-tree-item__expand');
456
+ let expanders = findAll('.component-tree-item-expand');
406
457
  let expanderEl = expanders[expanders.length - 1];
407
458
  await click(expanderEl);
408
459
 
@@ -437,14 +488,14 @@ module('Component Tab', function (hooks) {
437
488
  await settled();
438
489
 
439
490
  assert
440
- .dom('.component-tree-item--pinned')
491
+ .dom('.component-tree-item-pinned')
441
492
  .exists({ count: 1 }, 'it should pinn the selected item');
442
493
 
443
494
  assert.true(
444
495
  isInViewport(
445
- document.getElementsByClassName('component-tree-item--pinned').item(0)
496
+ document.getElementsByClassName('component-tree-item-pinned').item(0),
446
497
  ),
447
- 'it should show the pinned item'
498
+ 'it should show the pinned item',
448
499
  );
449
500
 
450
501
  await sendMessage({
@@ -455,16 +506,16 @@ module('Component Tab', function (hooks) {
455
506
  await settled();
456
507
 
457
508
  assert
458
- .dom('.component-tree-item--highlighted')
509
+ .dom('.component-tree-item-highlighted')
459
510
  .exists({ count: 1 }, 'it should show the previewing item');
460
511
 
461
512
  assert.true(
462
513
  isInViewport(
463
514
  document
464
- .getElementsByClassName('component-tree-item--highlighted')
465
- .item(0)
515
+ .getElementsByClassName('component-tree-item-highlighted')
516
+ .item(0),
466
517
  ),
467
- 'it should show the preview item'
518
+ 'it should show the preview item',
468
519
  );
469
520
 
470
521
  await sendMessage({
@@ -475,10 +526,10 @@ module('Component Tab', function (hooks) {
475
526
  await settled();
476
527
 
477
528
  assert
478
- .dom('.component-tree-item--pinned')
529
+ .dom('.component-tree-item-pinned')
479
530
  .exists(
480
531
  { count: 0 },
481
- 'it should not scroll back to the pinned component after preview finished'
532
+ 'it should not scroll back to the pinned component after preview finished',
482
533
  );
483
534
 
484
535
  await sendMessage({
@@ -489,10 +540,10 @@ module('Component Tab', function (hooks) {
489
540
  await settled();
490
541
 
491
542
  assert
492
- .dom('.component-tree-item--pinned')
543
+ .dom('.component-tree-item-pinned')
493
544
  .exists(
494
545
  { count: 0 },
495
- 'it should not scroll back to the pinned component after new render tree'
546
+ 'it should not scroll back to the pinned component after new render tree',
496
547
  );
497
548
 
498
549
  const scrollTarget = document
@@ -515,20 +566,18 @@ module('Component Tab', function (hooks) {
515
566
  await settled();
516
567
 
517
568
  assert
518
- .dom('.component-tree-item--pinned')
569
+ .dom('.component-tree-item-pinned')
519
570
  .exists({ count: 1 }, 'it should show the pinned item after scrolling');
520
571
 
521
572
  assert.true(
522
573
  isInViewport(
523
- document.getElementsByClassName('component-tree-item--pinned').item(0)
574
+ document.getElementsByClassName('component-tree-item-pinned').item(0),
524
575
  ),
525
- 'it should show the pinned item'
576
+ 'it should show the pinned item',
526
577
  );
527
578
  });
528
579
 
529
580
  test('Previewing / showing a view on the client', async function (assert) {
530
- assert.expect(2);
531
-
532
581
  await visit('/component-tree');
533
582
 
534
583
  respondWith('view:showInspection', ({ id, pin }) => {
@@ -545,8 +594,6 @@ module('Component Tab', function (hooks) {
545
594
  });
546
595
 
547
596
  test('Scrolling an element into view', async function (assert) {
548
- assert.expect(1);
549
-
550
597
  await visit('/component-tree');
551
598
 
552
599
  respondWith('view:scrollIntoView', ({ id }) => {
@@ -558,8 +605,6 @@ module('Component Tab', function (hooks) {
558
605
  });
559
606
 
560
607
  test('View DOM element in Elements panel', async function (assert) {
561
- assert.expect(1);
562
-
563
608
  await visit('/component-tree');
564
609
 
565
610
  respondWith('view:inspectElement', ({ id }) => {
@@ -571,8 +616,6 @@ module('Component Tab', function (hooks) {
571
616
  });
572
617
 
573
618
  test('Inspects the component in the object inspector on click and shows tooltip', async function (assert) {
574
- assert.expect(3);
575
-
576
619
  await visit('/component-tree');
577
620
 
578
621
  respondWith('view:showInspection', ({ id, pin }) => {
@@ -585,24 +628,22 @@ module('Component Tab', function (hooks) {
585
628
  assert.strictEqual(
586
629
  objectId,
587
630
  'ember456',
588
- 'Client asked to inspect the application controller'
631
+ 'Client asked to inspect the application controller',
589
632
  );
590
633
  return false;
591
634
  });
592
635
 
593
- await click('.component-tree-item--component code');
636
+ await click('.component-tree-item-component code');
594
637
  });
595
638
 
596
639
  test('Selects a component in the tree in response to a message from the context menu', async function (assert) {
597
- assert.expect(8);
598
-
599
640
  // Go to the component tree and populate it before sending the message from the context menu
600
641
  // also collapse the tree to test auto expanding to pinned item
601
642
  await visit('/component-tree');
602
643
  let treeNodes = findAll('.component-tree-item');
603
644
  assert.strictEqual(treeNodes.length, 4, 'expected some tree nodes');
604
645
 
605
- let expanders = findAll('.component-tree-item__expand');
646
+ let expanders = findAll('.component-tree-item-expand');
606
647
  let expanderEl = expanders[expanders.length - 1];
607
648
  await click(expanderEl);
608
649
 
@@ -619,7 +660,7 @@ module('Component Tab', function (hooks) {
619
660
  assert.strictEqual(
620
661
  objectId,
621
662
  'ember789',
622
- 'Client asked to inspect the <TodoItem> component'
663
+ 'Client asked to inspect the <TodoItem> component',
623
664
  );
624
665
  return false;
625
666
  });
@@ -632,16 +673,16 @@ module('Component Tab', function (hooks) {
632
673
  assert.strictEqual(
633
674
  currentURL(),
634
675
  '/component-tree?pinned=render-node%3A4',
635
- 'It pins the element id as a query param'
676
+ 'It pins the element id as a query param',
636
677
  );
637
678
 
638
679
  await settled();
639
680
 
640
681
  assert
641
- .dom('.component-tree-item--pinned')
682
+ .dom('.component-tree-item-pinned')
642
683
  .hasText(
643
684
  'TodoItem @subTasks ={{ ... }}',
644
- 'It selects the item in the tree corresponding to the element'
685
+ 'It selects the item in the tree corresponding to the element',
645
686
  );
646
687
 
647
688
  treeNodes = findAll('.component-tree-item');
@@ -649,15 +690,13 @@ module('Component Tab', function (hooks) {
649
690
  });
650
691
 
651
692
  test('Can inspect component arguments that are objects in component tree', async function (assert) {
652
- assert.expect(1);
653
-
654
693
  await visit('/component-tree');
655
694
 
656
695
  respondWith('objectInspector:inspectById', ({ objectId }) => {
657
696
  assert.strictEqual(
658
697
  objectId,
659
698
  'ember1',
660
- 'Client asked to inspect the <TodoList> component argument'
699
+ 'Client asked to inspect the <TodoList> component argument',
661
700
  );
662
701
  return false;
663
702
  });
@@ -161,8 +161,6 @@ module('Container Tab', function (outer) {
161
161
  });
162
162
 
163
163
  test('Successfully redirects if the container type is not found', async function (assert) {
164
- assert.expect(1);
165
-
166
164
  respondWith('container:getInstances', ({ containerType }) => {
167
165
  if (containerType === 'random-type') {
168
166
  return {
@@ -34,7 +34,7 @@ function getModelTypes() {
34
34
 
35
35
  function recordFactory(
36
36
  { objectId, ...attrs },
37
- filterValues = { isNew: false }
37
+ filterValues = { isNew: false },
38
38
  ) {
39
39
  filterValues = filterValues || { isNew: false };
40
40
  let searchKeywords = [];
@@ -60,7 +60,7 @@ function getRecords(type) {
60
60
  }),
61
61
  recordFactory(
62
62
  { objectId: 'post-2', id: 2, title: 'Hello', body: '' },
63
- { isNew: true }
63
+ { isNew: true },
64
64
  ),
65
65
  ];
66
66
  }
@@ -91,11 +91,16 @@ module('Data Tab', function (outer) {
91
91
  test('Model types are successfully listed and bound', async function (assert) {
92
92
  respondWith('data:getModelTypes', {
93
93
  type: 'data:modelTypesAdded',
94
- modelTypes: getModelTypes(),
94
+ modelTypes: [],
95
95
  });
96
96
 
97
97
  await visit('/data/model-types');
98
98
 
99
+ await sendMessage({
100
+ type: 'data:modelTypesAdded',
101
+ modelTypes: getModelTypes(),
102
+ });
103
+
99
104
  assert.dom('.js-model-type').exists({ count: 2 });
100
105
 
101
106
  // they should be sorted alphabetically
@@ -250,7 +255,7 @@ module('Data Tab', function (outer) {
250
255
  applicationId,
251
256
  applicationName,
252
257
  modelTypes: getModelTypes(),
253
- })
258
+ }),
254
259
  );
255
260
 
256
261
  await click('[data-test-reload-container-btn]');
@@ -259,8 +264,6 @@ module('Data Tab', function (outer) {
259
264
  });
260
265
 
261
266
  test('Can inspect store in data pane', async function (assert) {
262
- assert.expect(1);
263
-
264
267
  respondWith('data:getModelTypes', {
265
268
  type: 'data:modelTypesAdded',
266
269
  modelTypes: getModelTypes(),
@@ -321,7 +324,7 @@ module('Data Tab', function (outer) {
321
324
 
322
325
  let secondRow = recordRows[1];
323
326
  let secondRowColumns = secondRow.querySelectorAll(
324
- '[data-test-table-cell]'
327
+ '[data-test-table-cell]',
325
328
  );
326
329
  assert.dom(secondRowColumns[0]).hasText('2');
327
330
  assert.dom(secondRowColumns[1]).hasText('Hello');
@@ -350,7 +353,7 @@ module('Data Tab', function (outer) {
350
353
  },
351
354
  {
352
355
  isNew: true,
353
- }
356
+ },
354
357
  ),
355
358
  ],
356
359
  });
@@ -461,7 +464,7 @@ module('Data Tab', function (outer) {
461
464
  let filters = findAll('.js-filter');
462
465
  assert.strictEqual(filters.length, 2);
463
466
  let newFilter = [...filters].find(
464
- (e) => e.textContent.indexOf('New') > -1
467
+ (e) => e.textContent.indexOf('New') > -1,
465
468
  );
466
469
  await click(newFilter);
467
470
 
@@ -517,7 +520,7 @@ module('Data Tab', function (outer) {
517
520
  test('Columns successfully updated when switching model types', async function (assert) {
518
521
  await visit('/data/model-types/App.Post/records');
519
522
  let columns = findAll('[data-test-table-header-column]');
520
- assert.dom(columns[columns.length - 1]).includesText('Body');
523
+ assert.dom(columns.at(-1)).includesText('Body');
521
524
 
522
525
  respondWith('data:getFilters', {
523
526
  type: 'data:filters',
@@ -531,7 +534,7 @@ module('Data Tab', function (outer) {
531
534
 
532
535
  await visit('/data/model-types/App.Comment/records');
533
536
  columns = findAll('[data-test-table-header-column]');
534
- assert.dom(columns[columns.length - 1]).includesText('Content');
537
+ assert.dom(columns.at(-1)).includesText('Content');
535
538
  });
536
539
  });
537
540
  });
@@ -90,8 +90,6 @@ module('Deprecation Tab', function (outer) {
90
90
  });
91
91
 
92
92
  test('No source map', async function (assert) {
93
- assert.expect(6);
94
-
95
93
  await visit('/deprecations');
96
94
 
97
95
  await toggleDeprecationSource();
@@ -131,8 +129,6 @@ module('Deprecation Tab', function (outer) {
131
129
  });
132
130
 
133
131
  test("With source map, source found, can't open resource", async function (assert) {
134
- assert.expect(12);
135
-
136
132
  await visit('/deprecations');
137
133
 
138
134
  await toggleDeprecationSource();
@@ -149,14 +145,14 @@ module('Deprecation Tab', function (outer) {
149
145
  assert.strictEqual(sources.length, 2, 'shows all sources');
150
146
  assert.notOk(
151
147
  sources[0].querySelector('[data-test-deprecation-source-link]'),
152
- 'source not clickable'
148
+ 'source not clickable',
153
149
  );
154
150
  assert
155
151
  .dom(sources[0].querySelector('[data-test-deprecation-source-text]'))
156
152
  .hasText('path-to-file.js:1');
157
153
  assert.notOk(
158
154
  sources[1].querySelector('[data-test-deprecation-source-link]'),
159
- 'source not clickable'
155
+ 'source not clickable',
160
156
  );
161
157
  assert
162
158
  .dom(sources[1].querySelector('[data-test-deprecation-source-text]'))
@@ -169,7 +165,7 @@ module('Deprecation Tab', function (outer) {
169
165
  });
170
166
 
171
167
  await click(
172
- sources[0].querySelector('[data-test-trace-deprecations-btn]')
168
+ sources[0].querySelector('[data-test-trace-deprecations-btn]'),
173
169
  );
174
170
 
175
171
  respondWith('deprecation:sendStackTraces', ({ deprecation }) => {
@@ -179,7 +175,7 @@ module('Deprecation Tab', function (outer) {
179
175
  });
180
176
 
181
177
  await click(
182
- sources[1].querySelector('[data-test-trace-deprecations-btn]')
178
+ sources[1].querySelector('[data-test-trace-deprecations-btn]'),
183
179
  );
184
180
  });
185
181
 
@@ -202,14 +198,14 @@ module('Deprecation Tab', function (outer) {
202
198
  assert.strictEqual(sources.length, 2, 'shows all sources');
203
199
  assert.notOk(
204
200
  sources[0].querySelector('[data-test-deprecation-source-text]'),
205
- 'source clickable'
201
+ 'source clickable',
206
202
  );
207
203
  assert
208
204
  .dom(sources[0].querySelector('[data-test-deprecation-source-link]'))
209
205
  .hasText('path-to-file.js:1');
210
206
  assert.notOk(
211
207
  sources[1].querySelector('[data-test-deprecation-source-text]'),
212
- 'source clickable'
208
+ 'source clickable',
213
209
  );
214
210
  assert
215
211
  .dom(sources[1].querySelector('[data-test-deprecation-source-link]'))
@@ -218,13 +214,13 @@ module('Deprecation Tab', function (outer) {
218
214
  expectOpenResource('http://path-to-file.js', 1);
219
215
 
220
216
  await click(
221
- sources[0].querySelector('[data-test-deprecation-source-link]')
217
+ sources[0].querySelector('[data-test-deprecation-source-link]'),
222
218
  );
223
219
 
224
220
  expectOpenResource('http://path-to-second-file.js', 2);
225
221
 
226
222
  await click(
227
- sources[1].querySelector('[data-test-deprecation-source-link]')
223
+ sources[1].querySelector('[data-test-deprecation-source-link]'),
228
224
  );
229
225
  });
230
226
 
@@ -23,7 +23,7 @@ module('Info Tab', function (hooks) {
23
23
  assert.strictEqual(
24
24
  libraries.length,
25
25
  3,
26
- 'The correct number of libraries is displayed'
26
+ 'The correct number of libraries is displayed',
27
27
  );
28
28
  assert
29
29
  .dom(libraries[0].querySelector('.js-lib-library'))
@@ -54,7 +54,7 @@ module('Info Tab', function (hooks) {
54
54
  assert.strictEqual(
55
55
  configs.length,
56
56
  2,
57
- 'The correct number of configurations is displayed'
57
+ 'The correct number of configurations is displayed',
58
58
  );
59
59
  assert
60
60
  .dom(configs[0].querySelector('.js-config-key'))