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

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.c8707b06d2f496a0d15d.js +40 -0
  109. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.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.c8707b06d2f496a0d15d.js +40 -0
  135. package/dist/chrome/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.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.c8707b06d2f496a0d15d.js +40 -0
  162. package/dist/firefox/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.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.c8707b06d2f496a0d15d.js +40 -0
  183. package/dist/websocket/assets/chunk.582.6d68f76dc5c8ba2b48a8.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,88 @@
1
+ /**
2
+ * Layout service used to broadcast changes to the application's
3
+ * layout due to resizing of the main nav or the object inspector toggling.
4
+ *
5
+ * Whenever something resizes it triggers an event on this service. For example
6
+ * when the main nav is resized.
7
+ * Elements dependant on the app's layout listen to events on this service. For
8
+ * example the `list` component.
9
+ */
10
+ import Service from '@ember/service';
11
+ import { action } from '@ember/object';
12
+ import { tracked } from '@glimmer/tracking';
13
+ import { addListener, removeListener, sendEvent } from '@ember/object/events';
14
+ import type { AnyFn } from '@ember/-internals/utility-types';
15
+
16
+ export default class LayoutService extends Service {
17
+ /**
18
+ * Stores the app's content height. This property is kept up-to-date
19
+ * by the `monitor-content-height` component.
20
+ */
21
+ @tracked contentHeight: number | null = null;
22
+
23
+ /**
24
+ * This is called by `monitor-content-height` whenever a window resize is detected
25
+ * and the app's content height has changed. We therefore update the
26
+ * `contentHeight` property and notify all listeners (mostly lists).
27
+ *
28
+ * @param height The new app content height
29
+ */
30
+ updateContentHeight(height: number) {
31
+ this.contentHeight = height;
32
+ this.trigger('content-height-update', height);
33
+ }
34
+
35
+ // Manually implement Evented functionality, so we can move away from the mixin
36
+
37
+ on(eventName: string, method: AnyFn): void;
38
+ on(eventName: string, target: unknown, method: AnyFn): void;
39
+
40
+ @action
41
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
42
+ on(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn): void {
43
+ if (typeof targetOrMethod === 'function') {
44
+ // If we did not pass a target, default to `this`
45
+ addListener(this, eventName, this, targetOrMethod as AnyFn);
46
+ } else {
47
+ addListener(this, eventName, targetOrMethod as object, method);
48
+ }
49
+ }
50
+
51
+ one(eventName: string, method: AnyFn): void;
52
+ one(eventName: string, target: unknown, method: AnyFn): void;
53
+
54
+ @action
55
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
56
+ one(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
57
+ if (typeof targetOrMethod === 'function') {
58
+ // If we did not pass a target, default to `this`
59
+ addListener(this, eventName, this, targetOrMethod as AnyFn, true);
60
+ } else {
61
+ addListener(this, eventName, targetOrMethod as object, method, true);
62
+ }
63
+ }
64
+
65
+ off(eventName: string, method: AnyFn): void;
66
+ off(eventName: string, target: unknown, method: AnyFn): void;
67
+
68
+ @action
69
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
70
+ off(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
71
+ try {
72
+ if (typeof targetOrMethod === 'function') {
73
+ // If we did not pass a target, default to `this`
74
+ removeListener(this, eventName, this, targetOrMethod as AnyFn);
75
+ } else {
76
+ removeListener(this, eventName, targetOrMethod as object, method);
77
+ }
78
+ } catch (e) {
79
+ console.error(e);
80
+ }
81
+ }
82
+
83
+ @action
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ trigger(eventName: string, ...args: Array<any>) {
86
+ sendEvent(this, eventName, args);
87
+ }
88
+ }
@@ -0,0 +1,195 @@
1
+ import { action, set, setProperties } from '@ember/object';
2
+ import { addListener, removeListener, sendEvent } from '@ember/object/events';
3
+ import { hasListeners } from '@ember/-internals/metal';
4
+ import Service, { inject as service } from '@ember/service';
5
+ import type RouterService from '@ember/routing/router-service';
6
+
7
+ import type WebExtension from './adapters/web-extension';
8
+ import type { AnyFn } from '@ember/-internals/utility-types';
9
+
10
+ export interface ModelType {
11
+ columns: Array<{ name: string; desc: string }>;
12
+ count: number;
13
+ name: string;
14
+ objectId: string;
15
+ }
16
+
17
+ export interface RecordType {
18
+ color: string;
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ columnValues: any;
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ filterValues: any;
23
+ objectId: string;
24
+ searchIndex: number;
25
+ }
26
+
27
+ /**
28
+ * This interface is a catch-all of a bunch of things we
29
+ * pass around via messages.
30
+ */
31
+ export interface Message {
32
+ applicationId: string;
33
+ applicationName: string;
34
+ count: number;
35
+ filters: Array<unknown>;
36
+ frameId?: string;
37
+ from: string;
38
+ index: number;
39
+ instrumentWithStack?: boolean;
40
+ modelTypes: Array<ModelType>;
41
+ name?: string;
42
+ objectId?: string;
43
+ promiseId?: string;
44
+ records: Array<RecordType>;
45
+ shouldHighlightRender?: boolean;
46
+ tabId?: number;
47
+ type: string;
48
+ unloading?: boolean;
49
+ value: string;
50
+ version?: string;
51
+ }
52
+
53
+ export default class PortService extends Service {
54
+ @service declare adapter: WebExtension;
55
+ @service declare router: RouterService;
56
+
57
+ applicationId?: string;
58
+ applicationName?: string;
59
+ detectedApplications: { [key: string]: string };
60
+
61
+ constructor() {
62
+ // eslint-disable-next-line prefer-rest-params
63
+ super(...arguments);
64
+
65
+ /*
66
+ * A dictionary of the form:
67
+ * { applicationId: applicationName }
68
+ */
69
+ this.detectedApplications = {};
70
+ this.applicationId = undefined;
71
+ this.applicationName = undefined;
72
+
73
+ this.adapter.onMessageReceived(
74
+ (message: Message & { apps: Array<Message> }) => {
75
+ if (message.type === 'apps-loaded') {
76
+ message.apps.forEach(
77
+ ({ applicationId, applicationName }: Message) => {
78
+ set(this.detectedApplications, applicationId, applicationName);
79
+ },
80
+ );
81
+
82
+ return;
83
+ }
84
+
85
+ const { applicationId, applicationName } = message;
86
+
87
+ if (!applicationId) {
88
+ return;
89
+ }
90
+
91
+ // save the application, in case we haven't seen it yet
92
+ set(this.detectedApplications, applicationId, applicationName);
93
+
94
+ if (!this.applicationId) {
95
+ this.selectApplication(applicationId);
96
+ }
97
+
98
+ if (this.applicationId === applicationId) {
99
+ if (!hasListeners(this, message.type)) {
100
+ throw new Error('unknown message type ' + message.type);
101
+ }
102
+ this.trigger(message.type, message, applicationId);
103
+ }
104
+ },
105
+ );
106
+
107
+ addListener(
108
+ this,
109
+ 'view:inspectJSValue',
110
+ this,
111
+ ({ name }: { name: string }) => this.adapter.inspectJSValue(name),
112
+ );
113
+ }
114
+
115
+ selectApplication(applicationId: string) {
116
+ if (
117
+ applicationId in this.detectedApplications &&
118
+ applicationId !== this.applicationId
119
+ ) {
120
+ const applicationName = this.detectedApplications[
121
+ applicationId
122
+ ] as string;
123
+ const currentApplication = this.applicationId;
124
+ setProperties(this, { applicationId, applicationName });
125
+ if (currentApplication) {
126
+ // this is only required when switching apps
127
+ this.router.transitionTo('app-detected');
128
+ }
129
+ this.send('app-selected', { applicationId, applicationName });
130
+ }
131
+ }
132
+
133
+ @action
134
+ send(type: string, message?: Partial<Message>) {
135
+ message = message || {};
136
+ message.type = type;
137
+ message.from = 'devtools';
138
+ message.applicationId = this.applicationId as string;
139
+ message.applicationName = this.applicationName as string;
140
+ this.adapter.sendMessage(message);
141
+ }
142
+
143
+ // Manually implement Evented functionality, so we can move away from the mixin
144
+
145
+ on(eventName: string, method: AnyFn): void;
146
+ on(eventName: string, target: unknown, method: AnyFn): void;
147
+
148
+ @action
149
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
150
+ on(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn): void {
151
+ if (typeof targetOrMethod === 'function') {
152
+ // If we did not pass a target, default to `this`
153
+ addListener(this, eventName, this, targetOrMethod as AnyFn);
154
+ } else {
155
+ addListener(this, eventName, targetOrMethod as object, method);
156
+ }
157
+ }
158
+
159
+ one(eventName: string, method: AnyFn): void;
160
+ one(eventName: string, target: unknown, method: AnyFn): void;
161
+
162
+ @action
163
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
164
+ one(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
165
+ if (typeof targetOrMethod === 'function') {
166
+ // If we did not pass a target, default to `this`
167
+ addListener(this, eventName, this, targetOrMethod as AnyFn, true);
168
+ } else {
169
+ addListener(this, eventName, targetOrMethod as object, method, true);
170
+ }
171
+ }
172
+
173
+ off(eventName: string, method: AnyFn): void;
174
+ off(eventName: string, target: unknown, method: AnyFn): void;
175
+
176
+ @action
177
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
178
+ off(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
179
+ try {
180
+ if (typeof targetOrMethod === 'function') {
181
+ // If we did not pass a target, default to `this`
182
+ removeListener(this, eventName, this, targetOrMethod as AnyFn);
183
+ } else {
184
+ removeListener(this, eventName, targetOrMethod as object, method);
185
+ }
186
+ } catch (e) {
187
+ console.error(e);
188
+ }
189
+ }
190
+
191
+ @action
192
+ trigger(eventName: string, ...args: Array<unknown>) {
193
+ sendEvent(this, eventName, args);
194
+ }
195
+ }
@@ -6,51 +6,38 @@ export let LOCAL_STORAGE_SUPPORTED = false;
6
6
  * Service that wraps local storage. Only store strings. This
7
7
  * is not intended to be used directly, use StorageServeice
8
8
  * instead.
9
- *
10
- * @class LocalStorageService
11
- * @extends Service
12
9
  */
13
10
  export default class LocalStorageService extends Service {
14
11
  /**
15
12
  * Reads a stored string for a give key, if any.
16
13
  *
17
- * @method getItem
18
- * @param {String} key
19
14
  * @return {Option<String>} The value, if found
20
15
  */
21
- getItem(key) {
16
+ getItem(key: string) {
22
17
  return localStorage.getItem(key);
23
18
  }
24
19
 
25
20
  /**
26
21
  * Store a string for a given key.
27
- *
28
- * @method setItem
29
- * @param {String} key
30
- * @param {String} value
31
22
  */
32
- setItem(key, value) {
23
+ setItem(key: string, value: string) {
33
24
  localStorage.setItem(key, value);
34
25
  }
35
26
 
36
27
  /**
37
28
  * Deletes the stored string for a given key.
38
- *
39
- * @method removeItem
40
- * @param {String} key
41
29
  */
42
- removeItem(key) {
30
+ removeItem(key: string) {
43
31
  localStorage.removeItem(key);
44
32
  }
45
33
 
46
34
  /**
47
35
  * Returns the list of stored keys.
48
36
  *
49
- * @method keys
50
- * @return {Array<String>} The array of keys
37
+ * @return The array of keys
51
38
  */
52
39
  keys() {
53
- let keys = [];
40
+ const keys = [];
54
41
  for (let i = 0; i < localStorage.length; i++) {
55
42
  keys.push(localStorage.key(i));
56
43
  }
@@ -61,12 +48,12 @@ export default class LocalStorageService extends Service {
61
48
  try {
62
49
  localStorage.setItem('test', 'testing');
63
50
  LOCAL_STORAGE_SUPPORTED = localStorage.getItem('test') === 'testing';
64
- } catch (e) {
51
+ } catch {
65
52
  // ignore
66
53
  } finally {
67
54
  try {
68
55
  localStorage.removeItem('test');
69
- } catch (e) {
56
+ } catch {
70
57
  // ignore
71
58
  }
72
59
  }
@@ -4,29 +4,22 @@ import Service from '@ember/service';
4
4
  * Service that wraps an in-memory object with the same APIs as
5
5
  * the LocalStorageService, usually as a fallback. Only store
6
6
  * strings. This is not intended to be used directly, use
7
- * StorageServeice instead.
8
- *
9
- * @class MemoryStorageService
10
- * @extends Service
7
+ * StorageService instead.
11
8
  */
12
9
  export default class MemoryStorageService extends Service {
13
10
  /**
14
11
  * Where data is stored.
15
12
  *
16
- * @property store
17
- * @type {Object}
18
13
  * @private
19
14
  */
20
- store = Object.create(null);
15
+ store = Object.create(null) as Record<string, unknown>;
21
16
 
22
17
  /**
23
18
  * Reads a stored string for a give key, if any.
24
19
  *
25
- * @method getItem
26
- * @param {String} key
27
20
  * @return {Option<String>} The value, if found
28
21
  */
29
- getItem(key) {
22
+ getItem(key: keyof object) {
30
23
  if (key in this.store) {
31
24
  return this.store[key];
32
25
  } else {
@@ -36,30 +29,22 @@ export default class MemoryStorageService extends Service {
36
29
 
37
30
  /**
38
31
  * Store a string for a given key.
39
- *
40
- * @method setItem
41
- * @param {String} key
42
- * @param {String} value
43
32
  */
44
- setItem(key, value) {
33
+ setItem(key: keyof object, value: unknown) {
45
34
  this.store[key] = value;
46
35
  }
47
36
 
48
37
  /**
49
38
  * Deletes the stored string for a given key.
50
- *
51
- * @method removeItem
52
- * @param {String} key
53
39
  */
54
- removeItem(key) {
40
+ removeItem(key: keyof object) {
55
41
  delete this.store[key];
56
42
  }
57
43
 
58
44
  /**
59
45
  * Returns the list of stored keys.
60
46
  *
61
- * @method keys
62
- * @return {Array<String>} The array of keys
47
+ * @return The array of keys
63
48
  */
64
49
  keys() {
65
50
  return Object.keys(this.store);
@@ -1,67 +1,56 @@
1
1
  import Service, { inject as service } from '@ember/service';
2
2
  import { LOCAL_STORAGE_SUPPORTED } from './storage/local';
3
+ import type LocalStorageService from './storage/local';
4
+ import type MemoryStorageService from './storage/memory';
3
5
 
4
6
  /**
5
7
  * Service that wraps either the LocalStorageService or
6
8
  * MemoryStorageService (depending on availability) and
7
9
  * provide support for storing (JSON-serializable) objects
8
10
  * on top of the lower level backends.
9
- *
10
- * @class StorageService
11
- * @extends Service
12
11
  */
13
12
  export default class StorageService extends Service {
14
13
  @service(LOCAL_STORAGE_SUPPORTED ? 'storage/local' : 'storage/memory')
15
- backend;
14
+ declare backend: LocalStorageService | MemoryStorageService;
16
15
 
17
16
  /**
18
17
  * Reads a stored object for a give key, if any.
19
18
  *
20
- * @method getItem
21
- * @param {String} key
22
19
  * @return {Option<String>} The value, if found
23
20
  */
24
- getItem(key) {
25
- let serialized = this.backend.getItem(key);
21
+ getItem(key: keyof object) {
22
+ const serialized = this.backend.getItem(key);
26
23
 
27
24
  if (serialized === null) {
28
25
  // Actual `null` values would have been serialized as `"null"`
29
26
  return undefined;
30
27
  } else {
31
- return JSON.parse(serialized);
28
+ return JSON.parse(serialized as string) as string;
32
29
  }
33
30
  }
34
31
 
35
32
  /**
36
33
  * Store a string for a given key.
37
- *
38
- * @method setItem
39
- * @param {String} key
40
- * @param {String} value
41
34
  */
42
- setItem(key, value) {
35
+ setItem(key: keyof object, value: string) {
43
36
  if (value === undefined) {
44
37
  this.removeItem(key);
45
38
  } else {
46
- let serialized = JSON.stringify(value);
39
+ const serialized = JSON.stringify(value);
47
40
  this.backend.setItem(key, serialized);
48
41
  }
49
42
  }
50
43
 
51
44
  /**
52
45
  * Deletes the stored string for a given key.
53
- *
54
- * @method removeItem
55
- * @param {String} key
56
46
  */
57
- removeItem(key) {
47
+ removeItem(key: keyof object) {
58
48
  this.backend.removeItem(key);
59
49
  }
60
50
 
61
51
  /**
62
52
  * Returns the list of stored keys.
63
53
  *
64
- * @method keys
65
54
  * @return {Array<String>} The array of keys
66
55
  */
67
56
  keys() {
@@ -1,7 +1,9 @@
1
1
  :root {
2
2
  /* stylelint-disable value-keyword-case */
3
- --font-sans-serif: "Inter", -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Cantarell', 'Oxygen', 'Ubuntu', 'Helvetica Neue', helvetica, arial, sans-serif;
4
- --font-monospace: 'SF Mono', Menlo, Monaco, monospace;
3
+ --font-sans-serif: "Inter", -apple-system, system-ui, BlinkMacSystemFont,
4
+ "Segoe UI", "Roboto", "Cantarell", "Oxygen", "Ubuntu", "Helvetica Neue",
5
+ helvetica, arial, sans-serif;
6
+ --font-monospace: "SF Mono", Menlo, Monaco, monospace;
5
7
  /* stylelint-enable value-keyword-case */
6
8
  --inherit: inherit;
7
9
  --unit0: 0;
@@ -1,4 +1,4 @@
1
- .theme--light {
1
+ .theme-light {
2
2
  // Base
3
3
  --base00: #ffffff;
4
4
  --base01: #f3f3f3;
@@ -16,12 +16,13 @@
16
16
  --base13: #404040;
17
17
  --base14: #333333;
18
18
  --base15: #222222;
19
+
19
20
  // Spec
20
21
  --spec00: #fffec2;
21
22
  --spec01: #ff0000;
22
23
  --spec02: #990000;
23
24
  --spec03: #000099;
24
- --spec04: #3F81EE;
25
+ --spec04: #3f81ee;
25
26
  --spec05: #7c027c;
26
27
  --spec06: #ecf1fa;
27
28
  --spec07: #cd61a7;
@@ -30,58 +31,59 @@
30
31
  --white: #ffffff;
31
32
  --inherit: inherit;
32
33
  --transparent: transparent;
33
- --focus: #3F81EE;
34
+ --focus: #3f81ee;
34
35
  --focus-text: var(--white);
35
- --component-name: #1171E8;
36
- --component-brackets-selected: rgba(255, 255, 255, 0.4);
37
- --component-attr: #DB00A9;
38
- --component-highlighted-bg: #F2F2F3;
39
- --pill-bg: rgba(0, 0, 0, 0.1);
40
- --pill-bg-active: rgba(255, 255, 255, 0.3);
36
+ --component-name: #1171e8;
37
+ --component-brackets-selected: rgb(255 255 255 / 40%);
38
+ --component-attr: #db00a9;
39
+ --component-highlighted-bg: #f2f2f3;
40
+ --pill-bg: rgb(0 0 0 / 10%);
41
+ --pill-bg-active: rgb(255 255 255 / 30%);
41
42
  --warning-text: #735c0f;
42
43
  --tracked-icon-bg: var(--spec03);
43
44
  }
44
45
 
45
- .theme--dark {
46
+ .theme-dark {
46
47
  // Base
47
48
  --base00: #242424;
48
49
  --base01: #242424;
49
50
  --base02: #121212;
50
51
  --base03: #292929;
51
- --base04: #2E2E2E;
52
+ --base04: #2e2e2e;
52
53
  --base05: #353535;
53
- --base06: #4C4C4C;
54
- --base07: #5C5C5C;
54
+ --base06: #4c4c4c;
55
+ --base07: #5c5c5c;
55
56
  --base08: #777777;
56
57
  --base09: #888888;
57
- --base10: #8C8C8C;
58
+ --base10: #8c8c8c;
58
59
  --base11: #989898;
59
- --base12: #AAAAAA;
60
- --base13: #BFBFBF;
61
- --base14: #CCCCCC;
62
- --base15: #DDDDDD;
60
+ --base12: #aaaaaa;
61
+ --base13: #bfbfbf;
62
+ --base14: #cccccc;
63
+ --base15: #dddddd;
64
+
63
65
  // Spec
64
- --spec00: #00013D;
65
- --spec01: #00FFFF;
66
- --spec02: #66FFFF;
67
- --spec03: #FFFF66;
68
- --spec04: #C07E11;
69
- --spec05: #83FD83;
70
- --spec06: #130E05;
66
+ --spec00: #00013d;
67
+ --spec01: #00ffff;
68
+ --spec02: #66ffff;
69
+ --spec03: #ffff66;
70
+ --spec04: #c07e11;
71
+ --spec05: #83fd83;
72
+ --spec06: #130e05;
71
73
  --spec07: #cd61a7;
72
74
  --spec08: #7fb56d;
73
75
  --spec09: #328509;
74
76
  --white: #ffffff;
75
77
  --inherit: inherit;
76
78
  --transparent: transparent;
77
- --focus: #2270EC;
79
+ --focus: #2270ec;
78
80
  --focus-text: var(--white);
79
- --component-name: #77BEFF;
80
- --component-brackets-selected: rgba(255, 255, 255, 0.4);
81
- --component-attr: #FE7AE9;
81
+ --component-name: #77beff;
82
+ --component-brackets-selected: rgb(255 255 255 / 40%);
83
+ --component-attr: #fe7ae9;
82
84
  --component-highlighted-bg: #333333;
83
- --pill-bg: rgba(255, 255, 255, 0.2);
84
- --pill-bg-active: rgba(255, 255, 255, 0.3);
85
+ --pill-bg: rgb(255 255 255 / 20%);
86
+ --pill-bg-active: rgb(255 255 255 / 30%);
85
87
  --warning-text: #8ca3f0;
86
88
  --tracked-icon-bg: #5e5eb5;
87
89
  }