ember-inspector 4.13.1-alpha.2024.8.9 → 4.13.1-alpha.2025.6.7

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 (367) hide show
  1. package/README.md +10 -2
  2. package/app/components/app-picker.hbs +2 -2
  3. package/app/components/component-tree-item.hbs +13 -13
  4. package/app/components/component-tree-toolbar.hbs +3 -3
  5. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  6. package/app/components/deprecation-item-source.hbs +1 -1
  7. package/app/components/deprecation-item.hbs +1 -1
  8. package/app/components/deprecations-toolbar.hbs +1 -1
  9. package/app/components/item-types.hbs +7 -7
  10. package/app/components/list-cell.hbs +3 -3
  11. package/app/components/list-content.hbs +4 -3
  12. package/app/components/list-content.ts +96 -0
  13. package/app/components/list.hbs +3 -3
  14. package/app/components/list.js +7 -7
  15. package/app/components/model-types-toolbar.hbs +3 -3
  16. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  17. package/app/components/object-inspector/errors.hbs +4 -4
  18. package/app/components/object-inspector/properties-all.hbs +1 -1
  19. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  20. package/app/components/object-inspector/property.hbs +16 -16
  21. package/app/components/object-inspector/property.ts +26 -17
  22. package/app/components/object-inspector/sort-properties.js +12 -4
  23. package/app/components/object-inspector.hbs +8 -8
  24. package/app/components/object-inspector.js +1 -1
  25. package/app/components/promise-item.hbs +11 -11
  26. package/app/components/promise-item.js +8 -6
  27. package/app/components/promise-tree-toolbar.hbs +5 -5
  28. package/app/components/records-toolbar.hbs +2 -2
  29. package/app/components/render-item.hbs +4 -4
  30. package/app/components/render-item.ts +12 -9
  31. package/app/components/render-tree-toolbar.hbs +1 -1
  32. package/app/components/route-cell-name.hbs +1 -1
  33. package/app/components/route-cell-name.js +3 -2
  34. package/app/components/route-tree-toolbar.hbs +2 -2
  35. package/app/components/scroll-container.js +2 -0
  36. package/app/components/side-nav.hbs +5 -5
  37. package/app/components/side-nav.js +1 -1
  38. package/app/computed/{debounce.js → debounce.ts} +7 -5
  39. package/app/config/environment.d.ts +5 -2
  40. package/app/controllers/app-config.js +1 -0
  41. package/app/controllers/application.js +33 -34
  42. package/app/controllers/component-tree.js +3 -2
  43. package/app/controllers/container-type.js +2 -1
  44. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  45. package/app/controllers/container-types.js +3 -6
  46. package/app/controllers/deprecations.js +16 -11
  47. package/app/controllers/libraries.js +1 -0
  48. package/app/controllers/model-types.js +1 -0
  49. package/app/controllers/promise-tree.ts +149 -0
  50. package/app/controllers/records.js +18 -26
  51. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  52. package/app/controllers/route-tree.js +7 -5
  53. package/app/helpers/build-style.js +1 -1
  54. package/app/initializers/setup.js +1 -1
  55. package/app/libs/promise-assembler.ts +249 -0
  56. package/app/libs/resizable-columns.js +10 -10
  57. package/app/models/{promise.js → promise.ts} +72 -69
  58. package/app/{router.js → router.ts} +1 -1
  59. package/app/routes/app-detected.js +3 -5
  60. package/app/routes/application.js +6 -12
  61. package/app/routes/deprecations.js +7 -16
  62. package/app/routes/launch.js +2 -1
  63. package/app/routes/libraries.js +2 -1
  64. package/app/routes/model-type.js +2 -3
  65. package/app/routes/model-types.ts +57 -0
  66. package/app/routes/promise-tree.ts +63 -0
  67. package/app/routes/records.ts +78 -0
  68. package/app/routes/render-tree.ts +93 -0
  69. package/app/routes/route-tree.js +0 -1
  70. package/app/routes/{tab.js → tab.ts} +9 -2
  71. package/app/routes/whats-new.js +1 -1
  72. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  73. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  74. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  75. package/app/services/adapters/{web-extension.js → web-extension.ts} +43 -46
  76. package/app/services/adapters/websocket.ts +40 -0
  77. package/app/services/layout.ts +88 -0
  78. package/app/services/port.ts +195 -0
  79. package/app/services/storage/{local.js → local.ts} +7 -20
  80. package/app/services/storage/{memory.js → memory.ts} +6 -21
  81. package/app/services/{storage.js → storage.ts} +9 -20
  82. package/app/styles/base.scss +4 -2
  83. package/app/styles/colors.scss +33 -31
  84. package/app/styles/component_tree.scss +56 -51
  85. package/app/styles/dropdown.scss +2 -2
  86. package/app/styles/ember-table.scss +3 -3
  87. package/app/styles/mixin.scss +26 -26
  88. package/app/styles/object_inspector.scss +22 -21
  89. package/app/styles/utils.scss +408 -122
  90. package/app/templates/application.hbs +11 -11
  91. package/app/templates/component-tree.hbs +1 -1
  92. package/app/templates/deprecations.hbs +2 -3
  93. package/app/templates/info.hbs +10 -10
  94. package/app/templates/promise-tree.hbs +1 -1
  95. package/app/templates/render-tree.hbs +1 -1
  96. package/app/templates/route-tree.hbs +1 -1
  97. package/app/utils/escape-reg-exp.ts +3 -2
  98. package/app/utils/nullish.ts +7 -0
  99. package/app/utils/parse-text.ts +4 -5
  100. package/app/utils/truncate.js +0 -1
  101. package/config/ember-cli-update.json +5 -3
  102. package/config/ember-try.js +117 -72
  103. package/config/environment.js +1 -1
  104. package/config/optional-features.json +2 -1
  105. package/dist/bookmarklet/load_inspector.js +30 -11
  106. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  107. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  108. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  109. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  110. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +150 -155
  111. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +486 -590
  112. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  113. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  114. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  115. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  116. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  117. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  118. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  119. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  120. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  121. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  122. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +147 -148
  123. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +5153 -5980
  124. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +250 -268
  125. package/dist/bookmarklet/panes-3-16-0/index.html +3 -4
  126. package/dist/chrome/background.js +26 -21
  127. package/dist/chrome/boot.js +1 -1
  128. package/dist/chrome/content-script.js +11 -11
  129. package/dist/chrome/devtools.js +12 -3
  130. package/dist/chrome/manifest.json +2 -2
  131. package/dist/chrome/options.js +17 -12
  132. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  133. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  134. package/dist/chrome/panes-3-16-0/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  135. package/dist/chrome/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  136. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +150 -155
  137. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +486 -590
  138. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  139. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  140. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  141. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  142. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  143. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  144. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  145. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  146. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  147. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  148. package/dist/chrome/panes-3-16-0/assets/vendor.css +147 -148
  149. package/dist/chrome/panes-3-16-0/assets/vendor.js +5153 -5980
  150. package/dist/chrome/panes-3-16-0/ember_debug.js +250 -268
  151. package/dist/chrome/panes-3-16-0/index.html +3 -4
  152. package/dist/chrome/scripts/in-page-script.js +19 -13
  153. package/dist/firefox/background.js +26 -21
  154. package/dist/firefox/boot.js +1 -1
  155. package/dist/firefox/content-script.js +11 -11
  156. package/dist/firefox/devtools.js +12 -3
  157. package/dist/firefox/manifest.json +2 -2
  158. package/dist/firefox/options.js +17 -12
  159. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  160. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  161. package/dist/firefox/panes-3-16-0/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  162. package/dist/firefox/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  163. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +150 -155
  164. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +486 -590
  165. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  166. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  167. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  168. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  169. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  170. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  171. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  172. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  173. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  174. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  175. package/dist/firefox/panes-3-16-0/assets/vendor.css +147 -148
  176. package/dist/firefox/panes-3-16-0/assets/vendor.js +5153 -5980
  177. package/dist/firefox/panes-3-16-0/ember_debug.js +250 -268
  178. package/dist/firefox/panes-3-16-0/index.html +3 -4
  179. package/dist/firefox/scripts/in-page-script.js +19 -13
  180. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  181. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  182. package/dist/websocket/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  183. package/dist/websocket/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  184. package/dist/websocket/assets/ember-inspector.css +150 -155
  185. package/dist/websocket/assets/ember-inspector.js +486 -590
  186. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  187. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  188. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  189. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  190. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  191. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  192. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  193. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  194. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  195. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  196. package/dist/websocket/assets/vendor.css +147 -148
  197. package/dist/websocket/assets/vendor.js +5153 -5980
  198. package/dist/websocket/ember_debug.js +250 -268
  199. package/dist/websocket/index.html +3 -4
  200. package/ember-cli-build.js +11 -11
  201. package/ember_debug/adapters/basic.js +2 -1
  202. package/ember_debug/adapters/bookmarklet.js +1 -0
  203. package/ember_debug/adapters/firefox.js +3 -3
  204. package/ember_debug/adapters/web-extension.js +2 -1
  205. package/ember_debug/data-debug.js +5 -6
  206. package/ember_debug/deprecation-debug.js +8 -8
  207. package/ember_debug/general-debug.js +1 -1
  208. package/ember_debug/libs/capture-render-tree.js +0 -1
  209. package/ember_debug/libs/promise-assembler.js +1 -0
  210. package/ember_debug/libs/render-tree.js +13 -12
  211. package/ember_debug/libs/source-map.js +5 -4
  212. package/ember_debug/libs/view-inspection.js +12 -12
  213. package/ember_debug/main.js +1 -1
  214. package/ember_debug/models/profile-manager.js +2 -1
  215. package/ember_debug/object-inspector.js +19 -18
  216. package/ember_debug/port.js +1 -0
  217. package/ember_debug/promise-debug.js +1 -1
  218. package/ember_debug/route-debug.js +3 -2
  219. package/ember_debug/services/session.js +1 -1
  220. package/ember_debug/utils/classify.js +1 -1
  221. package/ember_debug/utils/ember/debug.js +2 -0
  222. package/ember_debug/utils/ember/loader.js +2 -2
  223. package/ember_debug/utils/ember/runloop.js +2 -0
  224. package/ember_debug/utils/ember-object-names.js +2 -2
  225. package/ember_debug/utils/ember.js +9 -3
  226. package/ember_debug/utils/evented.js +1 -1
  227. package/ember_debug/utils/get-object-name.js +2 -2
  228. package/ember_debug/utils/rsvp.js +1 -0
  229. package/ember_debug/utils/type-check.js +5 -1
  230. package/ember_debug/vendor/startup-wrapper.js +4 -1
  231. package/ember_debug/view-debug.js +3 -2
  232. package/eslint.config.mjs +172 -0
  233. package/gulpfile.js +1 -1
  234. package/lib/ui/addon/components/drag-handle.hbs +4 -4
  235. package/lib/ui/addon/components/drag-handle.js +3 -1
  236. package/lib/ui/addon/components/empty-message.hbs +1 -1
  237. package/lib/ui/addon/components/error-page.hbs +3 -3
  238. package/lib/ui/addon/components/resizable-column.js +1 -1
  239. package/lib/ui/addon/components/toolbar-clear-button.hbs +1 -1
  240. package/lib/ui/addon/components/toolbar-reload-button.hbs +1 -1
  241. package/lib/ui/addon/components/toolbar-search-field.hbs +2 -2
  242. package/lib/ui/addon/styles/_disclosure-triangle.scss +3 -1
  243. package/lib/ui/addon/styles/_drag-handle.scss +7 -7
  244. package/lib/ui/addon/styles/_empty-message.scss +1 -1
  245. package/lib/ui/addon/styles/_error-page.scss +8 -7
  246. package/lib/ui/addon/styles/_list.scss +46 -45
  247. package/lib/ui/addon/styles/_nav.scss +29 -27
  248. package/lib/ui/addon/styles/_object-inspector-toggle.scss +5 -5
  249. package/lib/ui/addon/styles/_pill.scss +4 -4
  250. package/lib/ui/addon/styles/_send-to-console.scss +1 -1
  251. package/lib/ui/addon/styles/_split.scss +17 -20
  252. package/lib/ui/addon/styles/addon.scss +13 -13
  253. package/lib/ui/addon/styles/toolbar/_checkbox.scss +5 -5
  254. package/lib/ui/addon/styles/toolbar/_icon-button.scss +44 -25
  255. package/lib/ui/addon/styles/toolbar/_index.scss +6 -5
  256. package/lib/ui/addon/styles/toolbar/_radio.scss +10 -10
  257. package/lib/ui/addon/styles/toolbar/_search.scss +5 -3
  258. package/package.json +85 -86
  259. package/public/assets/svg/ellipsis.svg +3 -3
  260. package/public/assets/svg/nav-bug.svg +1 -1
  261. package/public/assets/svg/nav-components.svg +2 -2
  262. package/public/assets/svg/nav-container.svg +1 -1
  263. package/public/assets/svg/nav-data.svg +1 -1
  264. package/public/assets/svg/nav-deprecations.svg +3 -3
  265. package/public/assets/svg/nav-info.svg +3 -3
  266. package/public/assets/svg/nav-promises.svg +2 -2
  267. package/public/assets/svg/nav-render-performance.svg +2 -2
  268. package/public/assets/svg/nav-route-tree.svg +7 -7
  269. package/scripts/download-panes.js +1 -1
  270. package/skeletons/bookmarklet/load_inspector.js +30 -11
  271. package/skeletons/web-extension/background.js +26 -21
  272. package/skeletons/web-extension/boot.js +1 -1
  273. package/skeletons/web-extension/content-script.js +11 -11
  274. package/skeletons/web-extension/devtools.js +12 -3
  275. package/skeletons/web-extension/manifest.json +2 -2
  276. package/skeletons/web-extension/options.js +17 -12
  277. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  278. package/testem.js +0 -1
  279. package/tests/acceptance/app-picker-test.js +4 -4
  280. package/tests/acceptance/component-tree-test.js +43 -57
  281. package/tests/acceptance/container-test.js +0 -2
  282. package/tests/acceptance/data-test.js +8 -10
  283. package/tests/acceptance/deprecation-test.js +8 -12
  284. package/tests/acceptance/info-test.js +2 -2
  285. package/tests/acceptance/object-inspector-test.js +62 -110
  286. package/tests/acceptance/promise-test.js +1 -11
  287. package/tests/acceptance/render-tree-test.js +2 -2
  288. package/tests/acceptance/route-tree-test.js +12 -14
  289. package/tests/acceptance/whats-new-test.js +3 -3
  290. package/tests/ember_debug/container-debug-test.js +4 -4
  291. package/tests/ember_debug/deprecation-debug-test.js +8 -5
  292. package/tests/ember_debug/ember-debug-test.js +1 -4
  293. package/tests/ember_debug/object-inspector-test.js +44 -44
  294. package/tests/ember_debug/profile-manager-test.js +140 -165
  295. package/tests/ember_debug/profile-node-test.js +3 -3
  296. package/tests/ember_debug/promise-assembler-test.js +12 -9
  297. package/tests/ember_debug/promise-debug-test.js +5 -6
  298. package/tests/ember_debug/route-debug-test.js +8 -7
  299. package/tests/ember_debug/view-debug-test.js +179 -181
  300. package/tests/helpers/{index.js → index.ts} +6 -5
  301. package/tests/helpers/setup-ember-debug-test.js +14 -0
  302. package/tests/integration/injection-test.js +12 -13
  303. package/tests/test-adapter.js +15 -15
  304. package/tests/test-helper.js +6 -1
  305. package/tests/unit/check-current-route-test.js +0 -4
  306. package/tests/unit/resizable-columns-test.js +53 -51
  307. package/tests/unit/utils/parse-text-test.js +3 -3
  308. package/tests/unit/utils/search-match-test.js +5 -5
  309. package/tests/unit/utils/type-check-test.js +22 -0
  310. package/tsconfig.json +3 -1
  311. package/types/ember-inspector/index.d.ts +2 -1
  312. package/types/global.d.ts +1 -7
  313. package/.editorconfig +0 -19
  314. package/.ember-cli +0 -15
  315. package/.eslintignore +0 -33
  316. package/.eslintrc.js +0 -86
  317. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  318. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  319. package/.github/dependabot.yml +0 -14
  320. package/.github/pull_request_template.md +0 -4
  321. package/.github/workflows/build.yml +0 -339
  322. package/.github/workflows/plan-release.yml +0 -83
  323. package/.github/workflows/publish.yml +0 -60
  324. package/.prettierignore +0 -25
  325. package/.prettierrc.js +0 -14
  326. package/.release-plan.json +0 -17
  327. package/.stylelintrc.js +0 -3
  328. package/.template-lintrc.js +0 -12
  329. package/.tool-versions +0 -2
  330. package/.watchmanconfig +0 -3
  331. package/app/components/.gitkeep +0 -0
  332. package/app/components/list-content.js +0 -130
  333. package/app/controllers/.gitkeep +0 -0
  334. package/app/controllers/promise-tree.js +0 -130
  335. package/app/helpers/.gitkeep +0 -0
  336. package/app/libs/promise-assembler.js +0 -169
  337. package/app/models/.gitkeep +0 -0
  338. package/app/routes/.gitkeep +0 -0
  339. package/app/routes/model-types.js +0 -47
  340. package/app/routes/promise-tree.js +0 -48
  341. package/app/routes/records.js +0 -55
  342. package/app/routes/render-tree.js +0 -66
  343. package/app/services/adapters/websocket.js +0 -31
  344. package/app/services/layout.js +0 -39
  345. package/app/services/port.js +0 -90
  346. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  347. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  348. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  349. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  350. package/dist/chrome/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  351. package/dist/chrome/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  352. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  353. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  354. package/dist/firefox/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  355. package/dist/firefox/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  356. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  357. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  358. package/dist/websocket/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  359. package/dist/websocket/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  360. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  361. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  362. package/ember_debug/.eslintrc.js +0 -13
  363. package/tests/helpers/trigger-port.js +0 -6
  364. package/tests/unit/.gitkeep +0 -0
  365. /package/app/{app.js → app.ts} +0 -0
  366. /package/app/controllers/{info.js → info.ts} +0 -0
  367. /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
@@ -0,0 +1,93 @@
1
+ import EmberObject, { set } from '@ember/object';
2
+ import { inject as service } from '@ember/service';
3
+ import { Promise } from 'rsvp';
4
+ import type Transition from '@ember/routing/transition';
5
+
6
+ import { TrackedArray } from 'tracked-built-ins';
7
+
8
+ import type PortService from '../services/port';
9
+ import type RenderTreeController from '../controllers/render-tree';
10
+ import TabRoute from './tab';
11
+
12
+ export interface Profile {
13
+ children: Array<Profile>;
14
+ name: string;
15
+ }
16
+
17
+ export interface RenderTreeModel {
18
+ isHighlightSupported: boolean;
19
+ profiles: Array<Profile>;
20
+ }
21
+
22
+ export default class RenderTreeRoute extends TabRoute {
23
+ @service declare port: PortService;
24
+
25
+ declare controller: RenderTreeController;
26
+
27
+ model() {
28
+ return new Promise((resolve) => {
29
+ this.port.one(
30
+ 'render:profilesAdded',
31
+ function ({ profiles, isHighlightSupported }: RenderTreeModel) {
32
+ resolve(
33
+ EmberObject.create({
34
+ // @ts-expect-error TODO: fix this
35
+ profiles: new TrackedArray(profiles),
36
+ isHighlightSupported,
37
+ }),
38
+ );
39
+ },
40
+ );
41
+ this.port.send('render:watchProfiles');
42
+ });
43
+ }
44
+
45
+ setupController(
46
+ controller: RenderTreeController,
47
+ model: RenderTreeModel,
48
+ transition: Transition,
49
+ ) {
50
+ super.setupController(controller, model, transition);
51
+
52
+ if (model.profiles.length === 0) {
53
+ controller.initialEmpty = true;
54
+ }
55
+
56
+ this.port.on('render:profilesUpdated', this, this.profilesUpdated);
57
+ this.port.on('render:profilesAdded', this, this.profilesAdded);
58
+ }
59
+
60
+ deactivate(transition: Transition) {
61
+ super.deactivate(transition);
62
+
63
+ this.port.off('render:profilesUpdated', this, this.profilesUpdated);
64
+ this.port.off('render:profilesAdded', this, this.profilesAdded);
65
+ this.port.send('render:releaseProfiles');
66
+ }
67
+
68
+ profilesUpdated = (message: RenderTreeModel) => {
69
+ set(this.controller.model, 'profiles', message.profiles);
70
+ };
71
+
72
+ profilesAdded = (message: RenderTreeModel) => {
73
+ const currentProfiles = this.controller.model.profiles;
74
+ const profiles = message.profiles;
75
+ if (
76
+ message.isHighlightSupported !== undefined &&
77
+ message.isHighlightSupported !==
78
+ this.controller.model.isHighlightSupported
79
+ ) {
80
+ set(
81
+ this.controller.model,
82
+ 'isHighlightSupported',
83
+ message.isHighlightSupported,
84
+ );
85
+ }
86
+
87
+ // @ts-expect-error TODO: fix this type error
88
+ currentProfiles.push(profiles);
89
+ if (currentProfiles.length > 100) {
90
+ set(this.controller.model, 'profiles', currentProfiles.slice(0, 100));
91
+ }
92
+ };
93
+ }
@@ -20,7 +20,6 @@ export default class RouteTreeRoute extends TabRoute {
20
20
  }
21
21
 
22
22
  setCurrentRoute(message) {
23
- // eslint-disable-next-line ember/no-controller-access-in-routes
24
23
  this.controller.set('currentRoute', message);
25
24
  }
26
25
 
@@ -1,14 +1,21 @@
1
+ import type Controller from '@ember/controller';
1
2
  import Route from '@ember/routing/route';
2
3
  import { scheduleOnce } from '@ember/runloop';
4
+ import type Transition from '@ember/routing/transition';
3
5
 
4
6
  export default class TabRoute extends Route {
5
- setupController(controller) {
6
- super.setupController(...arguments);
7
+ setupController(
8
+ controller: Controller,
9
+ model: unknown,
10
+ transition: Transition,
11
+ ) {
12
+ super.setupController(controller, model, transition);
7
13
 
8
14
  function setToolbarContainer() {
9
15
  controller.set('toolbarContainer', document.querySelector('#toolbar'));
10
16
  }
11
17
 
18
+ // eslint-disable-next-line ember/no-runloop
12
19
  scheduleOnce('afterRender', this, setToolbarContainer);
13
20
  }
14
21
  }
@@ -44,7 +44,7 @@ export default class WhatsNewRoute extends TabRoute {
44
44
 
45
45
  let ref = version.indexOf('alpha') === -1 ? `v${version}` : 'main';
46
46
  let url = `https://raw.githubusercontent.com/emberjs/ember-inspector/${encodeURIComponent(
47
- ref
47
+ ref,
48
48
  )}/CHANGELOG.md`;
49
49
 
50
50
  return fetch(url)
@@ -14,22 +14,27 @@
14
14
  import Service, { inject as service } from '@ember/service';
15
15
  import { action } from '@ember/object';
16
16
  import { tracked } from '@glimmer/tracking';
17
+ import type { AnyFn } from '@ember/-internals/utility-types';
17
18
  import config from 'ember-inspector/config/environment';
19
+ import type PortService from '../port';
20
+ import type { Message } from '../port';
18
21
 
19
22
  export default class Basic extends Service {
20
- @service port;
23
+ @service declare port: PortService;
21
24
 
22
- @tracked canOpenResource = false;
25
+ _messageCallbacks: Array<AnyFn>;
23
26
  name = 'basic';
24
27
 
28
+ @tracked canOpenResource = false;
29
+
25
30
  /**
26
31
  * Called when the adapter is created (when
27
32
  * the inspector app boots).
28
- *
29
- * @method init
30
33
  */
31
- init() {
32
- super.init(...arguments);
34
+ constructor() {
35
+ // eslint-disable-next-line prefer-rest-params
36
+ super(...arguments);
37
+
33
38
  this._messageCallbacks = [];
34
39
  this._checkVersion();
35
40
  }
@@ -41,20 +46,22 @@ export default class Basic extends Service {
41
46
  * Ember version and needs to switch to an inspector version
42
47
  * that does.
43
48
  *
44
- * @method _checkVersion
45
49
  * @private
46
50
  */
47
51
  _checkVersion() {
48
- this.onMessageReceived((message) => {
49
- let { name, version } = message;
52
+ this.onMessageReceived((message: Message) => {
53
+ const { name, version } = message;
50
54
  if (name === 'version-mismatch') {
51
- let previousVersions = config.previousEmberVersionsSupported;
52
- let [fromVersion, tillVersion] = config.emberVersionsSupported;
55
+ const previousVersions = config.previousEmberVersionsSupported;
56
+ const [fromVersion, tillVersion] = config.emberVersionsSupported;
53
57
  let neededVersion;
54
58
 
55
- if (compareVersion(version, fromVersion) === -1) {
59
+ if (compareVersion(version as string, fromVersion) === -1) {
56
60
  neededVersion = previousVersions[previousVersions.length - 1];
57
- } else if (tillVersion && compareVersion(version, tillVersion) !== -1) {
61
+ } else if (
62
+ tillVersion &&
63
+ compareVersion(version as string, tillVersion) !== -1
64
+ ) {
58
65
  neededVersion = tillVersion;
59
66
  } else {
60
67
  return;
@@ -73,35 +80,35 @@ export default class Basic extends Service {
73
80
  * to switch to an older/new inspector version
74
81
  * that supports this Ember version.
75
82
  *
76
- * @method onVersionMismatch
77
- * @param {String} neededVersion (The version to go to)
83
+ * @param _neededVersion (The version to go to)
78
84
  */
79
- onVersionMismatch() {}
85
+ onVersionMismatch(_neededVersion?: string) {}
80
86
 
81
87
  /**
82
88
  Used to send messages to EmberDebug
83
89
 
84
- @param type {Object} the message to the send
90
+ @param _message the message to send
85
91
  **/
86
- sendMessage() {}
92
+ sendMessage(_message: Partial<Message>) {}
87
93
 
88
94
  /**
89
95
  Register functions to be called
90
96
  when a message from EmberDebug is received
91
97
  **/
92
- onMessageReceived(callback) {
98
+ onMessageReceived(callback: AnyFn) {
93
99
  this._messageCallbacks.push(callback);
94
100
  }
95
101
 
96
- _messageReceived(...args) {
102
+ _messageReceived(...args: Array<unknown>) {
97
103
  this._messageCallbacks.forEach((callback) => {
98
104
  callback(...args);
99
105
  });
100
106
  }
101
107
 
108
+ reloadTab?(): void;
102
109
  // Called when the "Reload" is clicked by the user
103
110
  willReload() {}
104
- openResource /* file, line */() {}
111
+ openResource(_file: string, _line: number) {}
105
112
 
106
113
  @action
107
114
  refreshPage() {
@@ -126,15 +133,14 @@ export default class Basic extends Service {
126
133
  * 0 if version1 == version2
127
134
  * 1 if version1 > version2
128
135
  *
129
- * @param {String} version1
130
- * @param {String} version2
131
- * @return {Boolean} result of the comparison
136
+ * @return result of the comparison
132
137
  */
133
- function compareVersion(version1, version2) {
134
- version1 = cleanupVersion(version1).split('.');
135
- version2 = cleanupVersion(version2).split('.');
138
+ function compareVersion(version1: string, version2: string) {
139
+ const v1 = cleanupVersion(version1).split('.');
140
+ const v2 = cleanupVersion(version2).split('.');
136
141
  for (let i = 0; i < 3; i++) {
137
- let compared = compare(+version1[i], +version2[i]);
142
+ // @ts-expect-error TODO: refactor this to make TS happy
143
+ const compared = compare(+v1[i], +v2[i]);
138
144
  if (compared !== 0) {
139
145
  return compared;
140
146
  }
@@ -143,11 +149,11 @@ function compareVersion(version1, version2) {
143
149
  }
144
150
 
145
151
  /* Remove -alpha, -beta, etc from versions */
146
- function cleanupVersion(version) {
152
+ function cleanupVersion(version: string) {
147
153
  return version.replace(/-.*/g, '');
148
154
  }
149
155
 
150
- function compare(val, number) {
156
+ function compare(val: number, number: number) {
151
157
  if (val === number) {
152
158
  return 0;
153
159
  } else if (val < number) {
@@ -1,53 +1,46 @@
1
- /* eslint-disable no-useless-escape */
2
- import { computed } from '@ember/object';
3
-
4
1
  import BasicAdapter from './basic';
2
+ import type { Message } from '../port';
5
3
 
6
4
  export default class Bookmarklet extends BasicAdapter {
7
5
  name = 'bookmarklet';
8
6
 
9
7
  /**
10
8
  * Called when the adapter is created.
11
- *
12
- * @method init
13
9
  */
14
- init() {
10
+ constructor() {
11
+ // @ts-expect-error Using ...arguments is fine.
12
+ // eslint-disable-next-line prefer-rest-params
13
+ super(...arguments);
14
+
15
15
  this._connect();
16
- return super.init(...arguments);
17
16
  }
18
17
 
19
- @computed
20
18
  get inspectedWindow() {
21
- return window.opener || window.parent;
19
+ return (window.opener as Window | undefined) || window.parent;
22
20
  }
23
21
 
24
- @computed
25
22
  get inspectedWindowURL() {
26
23
  return loadPageVar('inspectedWindowURL');
27
24
  }
28
25
 
29
- sendMessage(options) {
30
- options = options || {};
31
- this.inspectedWindow.postMessage(options, this.inspectedWindowURL);
26
+ sendMessage(message?: Partial<Message>) {
27
+ this.inspectedWindow.postMessage(message ?? {}, this.inspectedWindowURL);
32
28
  }
33
29
 
34
30
  /**
35
31
  * Redirect to the correct inspector version.
36
- *
37
- * @method onVersionMismatch
38
- * @param {String} goToVersion
39
32
  */
40
- onVersionMismatch(goToVersion) {
33
+ onVersionMismatch(goToVersion: string) {
41
34
  this.sendMessage({ name: 'version-mismatch', version: goToVersion });
42
35
  window.location.href = `../panes-${goToVersion.replace(
43
36
  /\./g,
44
- '-'
37
+ '-',
45
38
  )}/index.html${window.location.search}`;
46
39
  }
47
40
 
48
41
  _connect() {
49
42
  window.addEventListener('message', (e) => {
50
- let message = e.data;
43
+ const message = e.data as Message;
51
44
  if (e.origin !== this.inspectedWindowURL) {
52
45
  return;
53
46
  }
@@ -62,17 +55,17 @@ export default class Bookmarklet extends BasicAdapter {
62
55
  }
63
56
  }
64
57
 
65
- function loadPageVar(sVar) {
58
+ function loadPageVar(sVar: string) {
66
59
  return decodeURI(
67
60
  window.location.search.replace(
68
61
  new RegExp(
69
62
  `^(?:.*[&\\?]${encodeURI(sVar).replace(
70
63
  /[\.\+\*]/g,
71
- '\\$&'
64
+ '\\$&',
72
65
  )}(?:\\=([^&]*))?)?.*$`,
73
- 'i'
66
+ 'i',
74
67
  ),
75
- '$1'
76
- )
68
+ '$1',
69
+ ),
77
70
  );
78
71
  }
@@ -5,8 +5,7 @@ export default class Chrome extends WebExtension {
5
5
  name = 'chrome';
6
6
  @tracked canOpenResource = true;
7
7
 
8
- openResource(file, line) {
9
- /*global chrome */
8
+ openResource(file: string, line: number) {
10
9
  // For some reason it opens the line after the one specified
11
10
  chrome.devtools.panels.openResource(file, line - 1);
12
11
  }
@@ -1,11 +1,10 @@
1
- /* globals chrome */
2
- import { computed } from '@ember/object';
3
1
  import { tracked } from '@glimmer/tracking';
4
2
 
5
3
  import BasicAdapter from './basic';
6
4
  import config from 'ember-inspector/config/environment';
5
+ import type { Message } from '../port';
7
6
 
8
- let emberDebug = null;
7
+ let emberDebug: string | null = null;
9
8
 
10
9
  export default class WebExtension extends BasicAdapter {
11
10
  @tracked canOpenResource = false;
@@ -13,27 +12,27 @@ export default class WebExtension extends BasicAdapter {
13
12
 
14
13
  /**
15
14
  * Called when the adapter is created.
16
- *
17
- * @method init
18
15
  */
19
- init() {
16
+ constructor(...args: unknown[]) {
17
+ // @ts-expect-error ignore
18
+ super(...args);
19
+
20
20
  this._connect();
21
21
  this._handleReload();
22
22
  this._setThemeColors();
23
23
 
24
- Promise.resolve().then(() => this._sendEmberDebug());
25
-
26
- return super.init(...arguments);
24
+ void Promise.resolve().then(() => this._sendEmberDebug());
27
25
  }
28
26
 
29
- sendMessage(options) {
30
- options = options || {};
31
- this._chromePort.postMessage(options);
27
+ sendMessage(message?: Partial<Message>) {
28
+ this._chromePort.postMessage(message ?? {});
32
29
  }
33
30
 
34
31
  _sendEmberDebug() {
35
- let minimumVersion = config.emberVersionsSupported[0].replace(/\./g, '-');
36
- let url = chrome.runtime.getURL(`/panes-${minimumVersion}/ember_debug.js`);
32
+ const minimumVersion = config.emberVersionsSupported[0].replace(/\./g, '-');
33
+ const url = chrome.runtime.getURL(
34
+ `/panes-${minimumVersion}/ember_debug.js`,
35
+ );
37
36
  // first send to all frames in current tab
38
37
  this.sendMessage({
39
38
  from: 'devtools',
@@ -44,23 +43,23 @@ export default class WebExtension extends BasicAdapter {
44
43
  this.onMessageReceived((message, sender) => {
45
44
  if (message === 'ember-content-script-ready') {
46
45
  this.sendMessage({
46
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
47
+ frameId: sender.frameId,
47
48
  from: 'devtools',
49
+ tabId: chrome.devtools.inspectedWindow.tabId,
48
50
  type: 'inject-ember-debug',
49
51
  value: url,
50
- tabId: chrome.devtools.inspectedWindow.tabId,
51
- frameId: sender.frameId,
52
52
  });
53
53
  }
54
54
  });
55
55
  }
56
56
 
57
- @computed
58
57
  get _chromePort() {
59
58
  return chrome.runtime.connect();
60
59
  }
61
60
 
62
61
  _connect() {
63
- let chromePort = this._chromePort;
62
+ const chromePort = this._chromePort;
64
63
  chromePort.postMessage({ appId: chrome.devtools.inspectedWindow.tabId });
65
64
 
66
65
  chromePort.onMessage.addListener((...args) => {
@@ -68,36 +67,38 @@ export default class WebExtension extends BasicAdapter {
68
67
  });
69
68
 
70
69
  chromePort.onDisconnect.addListener(() => {
71
- this.notifyPropertyChange('_chromePort');
72
70
  this._connect();
73
71
  });
74
72
  }
75
73
 
76
74
  _handleReload() {
77
- let self = this;
78
- chrome.devtools.network.onNavigated.addListener(function () {
79
- self._injectDebugger();
80
- location.reload(true);
75
+ chrome.devtools.network.onNavigated.addListener(() => {
76
+ this._injectDebugger();
77
+ location.reload();
81
78
  });
82
79
  }
83
80
 
84
81
  _injectDebugger() {
85
- loadEmberDebug().then((emberDebug) => {
86
- chrome.devtools.inspectedWindow.eval(emberDebug, (success, error) => {
87
- if (success === undefined && error) {
88
- throw error;
89
- }
90
- });
82
+ void loadEmberDebug().then((emberDebug) => {
83
+ chrome.devtools.inspectedWindow.eval(
84
+ emberDebug as string,
85
+ (success, error) => {
86
+ if (success === undefined && error) {
87
+ // eslint-disable-next-line @typescript-eslint/only-throw-error
88
+ throw error;
89
+ }
90
+ },
91
+ );
91
92
  });
92
93
  }
93
94
 
94
95
  _setThemeColors() {
95
96
  // Remove old theme colors to ensure switching themes works
96
- document.body.classList.remove('theme--light', 'theme--dark');
97
+ document.body.classList.remove('theme-light', 'theme-dark');
97
98
 
98
- let theme = 'theme--light';
99
+ let theme = 'theme-light';
99
100
  if (chrome.devtools.panels.themeName === 'dark') {
100
- theme = 'theme--dark';
101
+ theme = 'theme-dark';
101
102
  }
102
103
  document.body.classList.add(theme);
103
104
  }
@@ -108,11 +109,8 @@ export default class WebExtension extends BasicAdapter {
108
109
 
109
110
  /**
110
111
  * Open the devtools "Elements" or "Sources" tab and select a specific DOM node or function.
111
- *
112
- * @method inspectJSValue
113
- * @param {String} name
114
112
  */
115
- inspectJSValue(name) {
113
+ inspectJSValue(name: string) {
116
114
  chrome.devtools.inspectedWindow.eval(`
117
115
  inspect(window[${JSON.stringify(name)}]);
118
116
  delete window[${JSON.stringify(name)}];
@@ -121,14 +119,11 @@ export default class WebExtension extends BasicAdapter {
121
119
 
122
120
  /**
123
121
  * Redirect to the correct inspector version.
124
- *
125
- * @method onVersionMismatch
126
- * @param {String} goToVersion
127
122
  */
128
- onVersionMismatch(goToVersion) {
123
+ onVersionMismatch(goToVersion: string) {
129
124
  window.location.href = `../panes-${goToVersion.replace(
130
125
  /\./g,
131
- '-'
126
+ '-',
132
127
  )}/index.html`;
133
128
  }
134
129
 
@@ -137,22 +132,24 @@ export default class WebExtension extends BasicAdapter {
137
132
  scripts as soon as possible into the new page.
138
133
  */
139
134
  reloadTab() {
140
- loadEmberDebug().then((emberDebug) => {
141
- chrome.devtools.inspectedWindow.reload({ injectedScript: emberDebug });
135
+ void loadEmberDebug().then((emberDebug) => {
136
+ chrome.devtools.inspectedWindow.reload({
137
+ injectedScript: emberDebug as string,
138
+ });
142
139
  });
143
140
  }
144
141
  }
145
142
 
146
143
  function loadEmberDebug() {
147
- let minimumVersion = config.emberVersionsSupported[0].replace(/\./g, '-');
148
- let xhr;
144
+ const minimumVersion = config.emberVersionsSupported[0].replace(/\./g, '-');
145
+ let xhr: XMLHttpRequest;
149
146
 
150
147
  return new Promise((resolve) => {
151
148
  if (!emberDebug) {
152
149
  xhr = new XMLHttpRequest();
153
150
  xhr.open(
154
151
  'GET',
155
- chrome.runtime.getURL(`/panes-${minimumVersion}/ember_debug.js`)
152
+ chrome.runtime.getURL(`/panes-${minimumVersion}/ember_debug.js`),
156
153
  );
157
154
  xhr.onload = function () {
158
155
  if (xhr.readyState === 4) {
@@ -0,0 +1,40 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
2
+ import { run } from '@ember/runloop';
3
+ import BasicAdapter from './basic';
4
+ import type { Message } from '../port';
5
+
6
+ export default class Websocket extends BasicAdapter {
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ socket: any;
9
+
10
+ constructor() {
11
+ // @ts-expect-error Using ...arguments is fine.
12
+ // eslint-disable-next-line prefer-rest-params
13
+ super(...arguments);
14
+ // @ts-expect-error TODO: figure out how to type this stuff
15
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
16
+ this.socket = window.EMBER_INSPECTOR_CONFIG.remoteDebugSocket;
17
+ this._connect();
18
+ }
19
+
20
+ sendMessage(message?: Partial<Message>) {
21
+ this.socket.emit('emberInspectorMessage', message ?? {});
22
+ }
23
+
24
+ _connect() {
25
+ this.socket.on('emberInspectorMessage', (message: Message) => {
26
+ // eslint-disable-next-line ember/no-runloop
27
+ run(() => {
28
+ this._messageReceived(message);
29
+ });
30
+ });
31
+ }
32
+
33
+ _disconnect() {
34
+ this.socket.removeAllListeners('emberInspectorMessage');
35
+ }
36
+
37
+ willDestroy() {
38
+ this._disconnect();
39
+ }
40
+ }