ember-inspector 4.13.1 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) hide show
  1. package/.ember-cli +1 -9
  2. package/.github/workflows/build.yml +33 -112
  3. package/.github/workflows/plan-release.yml +26 -48
  4. package/.github/workflows/publish.yml +129 -31
  5. package/.prettierignore +2 -13
  6. package/.prettierrc.js +10 -4
  7. package/.release-plan.json +13 -4
  8. package/.stylelintignore +8 -0
  9. package/.stylelintrc.js +10 -1
  10. package/.template-lintrc.js +2 -1
  11. package/.tool-versions +2 -2
  12. package/.watchmanconfig +1 -1
  13. package/CHANGELOG.md +137 -0
  14. package/DEVELOPMENT.md +50 -0
  15. package/PRIVACY.md +3 -0
  16. package/README.md +14 -50
  17. package/RELEASE.md +15 -50
  18. package/app/components/app-picker.hbs +2 -2
  19. package/app/components/component-tree-item.hbs +14 -14
  20. package/app/components/component-tree-toolbar.hbs +17 -3
  21. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  22. package/app/components/deprecation-item-source.hbs +1 -1
  23. package/app/components/deprecation-item.hbs +1 -1
  24. package/app/components/deprecations-toolbar.hbs +1 -1
  25. package/app/components/item-types.hbs +7 -7
  26. package/app/components/list-cell.hbs +3 -3
  27. package/app/components/list-content.hbs +4 -3
  28. package/app/components/list-content.ts +96 -0
  29. package/app/components/list.hbs +3 -3
  30. package/app/components/list.js +7 -7
  31. package/app/components/model-types-toolbar.hbs +3 -3
  32. package/app/components/object-inspector/component-parents.hbs +33 -0
  33. package/app/components/object-inspector/component-parents.js +43 -0
  34. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  35. package/app/components/object-inspector/errors.hbs +4 -4
  36. package/app/components/object-inspector/properties-all.hbs +1 -1
  37. package/app/components/object-inspector/properties-base.js +2 -0
  38. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  39. package/app/components/object-inspector/property.hbs +36 -34
  40. package/app/components/object-inspector/property.ts +34 -17
  41. package/app/components/object-inspector/sort-properties.js +12 -4
  42. package/app/components/object-inspector/toggle.hbs +9 -0
  43. package/app/components/object-inspector/toggle.js +6 -0
  44. package/app/components/object-inspector.hbs +11 -9
  45. package/app/components/object-inspector.js +1 -1
  46. package/app/components/promise-item.hbs +11 -11
  47. package/app/components/promise-item.js +8 -6
  48. package/app/components/promise-tree-toolbar.hbs +5 -5
  49. package/app/components/records-toolbar.hbs +2 -2
  50. package/app/components/render-item.hbs +4 -4
  51. package/app/components/render-item.ts +12 -9
  52. package/app/components/render-tree-toolbar.hbs +1 -1
  53. package/app/components/route-cell-name.hbs +1 -1
  54. package/app/components/route-cell-name.js +3 -2
  55. package/app/components/route-tree-toolbar.hbs +2 -2
  56. package/app/components/scroll-container.js +2 -0
  57. package/app/components/side-nav.hbs +5 -5
  58. package/app/components/side-nav.js +1 -1
  59. package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +4 -4
  60. package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +3 -1
  61. package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +1 -1
  62. package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +3 -3
  63. package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +1 -1
  64. package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +1 -1
  65. package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +1 -1
  66. package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +2 -2
  67. package/app/computed/{debounce.js → debounce.ts} +7 -5
  68. package/app/config/environment.d.ts +5 -2
  69. package/app/controllers/app-config.js +1 -0
  70. package/app/controllers/application.js +36 -71
  71. package/app/controllers/component-tree.js +26 -7
  72. package/app/controllers/container-type.js +2 -1
  73. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  74. package/app/controllers/container-types.js +3 -6
  75. package/app/controllers/deprecations.js +16 -11
  76. package/app/controllers/libraries.js +1 -0
  77. package/app/controllers/model-types.js +7 -13
  78. package/app/controllers/promise-tree.ts +149 -0
  79. package/app/controllers/records.js +18 -26
  80. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  81. package/app/controllers/route-tree.js +7 -5
  82. package/app/helpers/build-style.js +1 -1
  83. package/app/index.html +1 -19
  84. package/app/initializers/setup.js +1 -1
  85. package/app/libs/promise-assembler.ts +249 -0
  86. package/app/libs/resizable-columns.js +10 -10
  87. package/app/models/{promise.js → promise.ts} +72 -69
  88. package/app/{router.js → router.ts} +1 -1
  89. package/app/routes/app-detected.js +3 -5
  90. package/app/routes/application.js +9 -13
  91. package/app/routes/deprecations.js +7 -16
  92. package/app/routes/launch.js +2 -1
  93. package/app/routes/libraries.js +2 -1
  94. package/app/routes/model-type.js +2 -3
  95. package/app/routes/model-types.ts +57 -0
  96. package/app/routes/promise-tree.ts +63 -0
  97. package/app/routes/records.ts +78 -0
  98. package/app/routes/render-tree.ts +93 -0
  99. package/app/routes/route-tree.js +0 -1
  100. package/app/routes/{tab.js → tab.ts} +9 -2
  101. package/app/routes/whats-new.js +6 -4
  102. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  103. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  104. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  105. package/app/services/adapters/{web-extension.js → web-extension.ts} +46 -46
  106. package/app/services/adapters/websocket.ts +40 -0
  107. package/app/services/layout.ts +124 -0
  108. package/app/services/port.ts +195 -0
  109. package/app/services/storage/{local.js → local.ts} +7 -20
  110. package/app/services/storage/{memory.js → memory.ts} +6 -21
  111. package/app/services/{storage.js → storage.ts} +25 -23
  112. package/app/styles/app.scss +1 -0
  113. package/app/styles/base.scss +6 -2
  114. package/app/styles/colors.scss +33 -31
  115. package/app/styles/component_tree.scss +56 -51
  116. package/app/styles/dropdown.scss +2 -2
  117. package/app/styles/ember-table.scss +3 -3
  118. package/app/styles/mixin.scss +26 -26
  119. package/app/styles/object_inspector.scss +30 -21
  120. package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +3 -1
  121. package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +7 -7
  122. package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +1 -1
  123. package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +8 -7
  124. package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +46 -45
  125. package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +29 -27
  126. package/app/styles/ui/_object-inspector-toggle.scss +4 -0
  127. package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +4 -4
  128. package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +1 -1
  129. package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +26 -20
  130. package/app/styles/ui/_ui.scss +13 -0
  131. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +5 -5
  132. package/app/styles/ui/toolbar/_icon-button.scss +80 -0
  133. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +6 -5
  134. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +10 -10
  135. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +5 -3
  136. package/app/styles/utils.scss +408 -122
  137. package/app/templates/application.hbs +22 -19
  138. package/app/templates/component-tree.hbs +4 -1
  139. package/app/templates/deprecations.hbs +2 -3
  140. package/app/templates/info.hbs +10 -10
  141. package/app/templates/promise-tree.hbs +1 -1
  142. package/app/templates/render-tree.hbs +1 -1
  143. package/app/templates/route-tree.hbs +1 -1
  144. package/app/utils/escape-reg-exp.ts +3 -2
  145. package/app/utils/nullish.ts +7 -0
  146. package/app/utils/parse-text.ts +4 -5
  147. package/app/utils/truncate.js +0 -1
  148. package/config/ember-cli-update.json +5 -3
  149. package/config/ember-try.js +117 -72
  150. package/config/environment.js +1 -1
  151. package/config/optional-features.json +2 -1
  152. package/dist/bookmarklet/load_inspector.js +31 -11
  153. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  154. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  155. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  156. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  157. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +997 -156
  158. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +560 -613
  159. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  160. package/dist/bookmarklet/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  161. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  162. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  163. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  164. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  165. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  166. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  167. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  168. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  169. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  170. package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  171. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +4 -841
  172. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +4277 -5152
  173. package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  174. package/dist/bookmarklet/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  175. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +10 -0
  176. package/dist/bookmarklet/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  177. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +10 -0
  178. package/dist/bookmarklet/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  179. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +10 -0
  180. package/dist/bookmarklet/panes-3-16-0/ember.js +166 -0
  181. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +7 -11018
  182. package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
  183. package/dist/bookmarklet/panes-3-16-0/firefox-8F84zphP.js +30 -0
  184. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +10 -0
  185. package/dist/bookmarklet/panes-3-16-0/index.html +4 -23
  186. package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  187. package/dist/bookmarklet/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  188. package/dist/bookmarklet/panes-3-16-0/main.js +7669 -0
  189. package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
  190. package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
  191. package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
  192. package/dist/bookmarklet/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  193. package/dist/bookmarklet/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  194. package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
  195. package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
  196. package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
  197. package/dist/bookmarklet/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  198. package/dist/bookmarklet/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  199. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +10 -0
  200. package/dist/chrome/background.js +26 -21
  201. package/dist/chrome/boot.js +1 -1
  202. package/dist/chrome/content-script.js +12 -11
  203. package/dist/chrome/devtools.js +12 -3
  204. package/dist/chrome/manifest.json +4 -2
  205. package/dist/chrome/options.js +17 -12
  206. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  207. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  208. package/dist/chrome/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  209. package/dist/chrome/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  210. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +997 -156
  211. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +560 -613
  212. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  213. package/dist/chrome/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  214. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  215. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  216. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  217. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  218. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  219. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  220. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  221. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  222. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  223. package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  224. package/dist/chrome/panes-3-16-0/assets/vendor.css +4 -841
  225. package/dist/chrome/panes-3-16-0/assets/vendor.js +4277 -5152
  226. package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  227. package/dist/chrome/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  228. package/dist/chrome/panes-3-16-0/basic-debug.js +10 -0
  229. package/dist/chrome/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  230. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +10 -0
  231. package/dist/chrome/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  232. package/dist/chrome/panes-3-16-0/chrome-debug.js +10 -0
  233. package/dist/chrome/panes-3-16-0/ember.js +166 -0
  234. package/dist/chrome/panes-3-16-0/ember_debug.js +7 -11018
  235. package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
  236. package/dist/chrome/panes-3-16-0/firefox-8F84zphP.js +30 -0
  237. package/dist/chrome/panes-3-16-0/firefox-debug.js +10 -0
  238. package/dist/chrome/panes-3-16-0/index.html +4 -23
  239. package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  240. package/dist/chrome/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  241. package/dist/chrome/panes-3-16-0/main.js +7669 -0
  242. package/dist/chrome/panes-3-16-0/port.js +108 -0
  243. package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
  244. package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
  245. package/dist/chrome/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  246. package/dist/chrome/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  247. package/dist/chrome/panes-3-16-0/type-check.js +119 -0
  248. package/dist/chrome/panes-3-16-0/version.js +90 -0
  249. package/dist/chrome/panes-3-16-0/versions.js +4 -0
  250. package/dist/chrome/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  251. package/dist/chrome/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  252. package/dist/chrome/panes-3-16-0/websocket-debug.js +10 -0
  253. package/dist/chrome/scripts/in-page-script.js +19 -13
  254. package/dist/firefox/background.js +26 -21
  255. package/dist/firefox/boot.js +1 -1
  256. package/dist/firefox/content-script.js +12 -11
  257. package/dist/firefox/devtools.js +12 -3
  258. package/dist/firefox/manifest.json +4 -2
  259. package/dist/firefox/options.js +17 -12
  260. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  261. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  262. package/dist/firefox/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  263. package/dist/firefox/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  264. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +997 -156
  265. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +560 -613
  266. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  267. package/dist/firefox/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  268. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  269. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  270. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  271. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  272. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  273. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  274. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  275. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  276. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  277. package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  278. package/dist/firefox/panes-3-16-0/assets/vendor.css +4 -841
  279. package/dist/firefox/panes-3-16-0/assets/vendor.js +4277 -5152
  280. package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  281. package/dist/firefox/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  282. package/dist/firefox/panes-3-16-0/basic-debug.js +10 -0
  283. package/dist/firefox/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  284. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +10 -0
  285. package/dist/firefox/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  286. package/dist/firefox/panes-3-16-0/chrome-debug.js +10 -0
  287. package/dist/firefox/panes-3-16-0/ember.js +166 -0
  288. package/dist/firefox/panes-3-16-0/ember_debug.js +7 -11018
  289. package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
  290. package/dist/firefox/panes-3-16-0/firefox-8F84zphP.js +30 -0
  291. package/dist/firefox/panes-3-16-0/firefox-debug.js +10 -0
  292. package/dist/firefox/panes-3-16-0/index.html +4 -23
  293. package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  294. package/dist/firefox/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  295. package/dist/firefox/panes-3-16-0/main.js +7669 -0
  296. package/dist/firefox/panes-3-16-0/port.js +108 -0
  297. package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
  298. package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
  299. package/dist/firefox/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  300. package/dist/firefox/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  301. package/dist/firefox/panes-3-16-0/type-check.js +119 -0
  302. package/dist/firefox/panes-3-16-0/version.js +90 -0
  303. package/dist/firefox/panes-3-16-0/versions.js +4 -0
  304. package/dist/firefox/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  305. package/dist/firefox/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  306. package/dist/firefox/panes-3-16-0/websocket-debug.js +10 -0
  307. package/dist/firefox/scripts/in-page-script.js +19 -13
  308. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  309. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  310. package/dist/websocket/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  311. package/dist/websocket/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  312. package/dist/websocket/assets/ember-inspector.css +997 -156
  313. package/dist/websocket/assets/ember-inspector.js +560 -613
  314. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  315. package/dist/websocket/assets/svg/focus-point-round.svg +9 -0
  316. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  317. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  318. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  319. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  320. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  321. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  322. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  323. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  324. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  325. package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
  326. package/dist/websocket/assets/vendor.css +4 -841
  327. package/dist/websocket/assets/vendor.js +4277 -5152
  328. package/dist/websocket/base-object-HAEdWjmg.js +59 -0
  329. package/dist/websocket/basic-B1dkgN3d.js +149 -0
  330. package/dist/websocket/basic-debug.js +10 -0
  331. package/dist/websocket/bookmarklet-BZWtwuX-.js +32 -0
  332. package/dist/websocket/bookmarklet-debug.js +10 -0
  333. package/dist/websocket/chrome-P6FSEUf1.js +10 -0
  334. package/dist/websocket/chrome-debug.js +10 -0
  335. package/dist/websocket/ember.js +166 -0
  336. package/dist/websocket/ember_debug.js +7 -11018
  337. package/dist/websocket/evented-BCTya3yE.js +62 -0
  338. package/dist/websocket/firefox-8F84zphP.js +30 -0
  339. package/dist/websocket/firefox-debug.js +10 -0
  340. package/dist/websocket/index.html +4 -23
  341. package/dist/websocket/internals-CRmXMEzb.js +12 -0
  342. package/dist/websocket/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  343. package/dist/websocket/main.js +7669 -0
  344. package/dist/websocket/port.js +108 -0
  345. package/dist/websocket/profile-node.js +60 -0
  346. package/dist/websocket/promise-assembler.js +218 -0
  347. package/dist/websocket/runloop-6_0lpzTA.js +1138 -0
  348. package/dist/websocket/start-inspector-BIYQArZn.js +334 -0
  349. package/dist/websocket/type-check.js +119 -0
  350. package/dist/websocket/version.js +90 -0
  351. package/dist/websocket/versions.js +4 -0
  352. package/dist/websocket/web-extension-OWnXJ_XK.js +144 -0
  353. package/dist/websocket/websocket-BSUvUqER.js +58 -0
  354. package/dist/websocket/websocket-debug.js +10 -0
  355. package/ember-cli-build.js +31 -140
  356. package/ember_debug/adapters/basic.js +10 -29
  357. package/ember_debug/adapters/bookmarklet.js +1 -0
  358. package/ember_debug/adapters/firefox.js +3 -3
  359. package/ember_debug/adapters/web-extension.js +6 -5
  360. package/ember_debug/adapters/websocket.js +2 -2
  361. package/ember_debug/babel.config.cjs +11 -0
  362. package/ember_debug/container-debug.js +1 -1
  363. package/ember_debug/data-debug.js +7 -8
  364. package/ember_debug/debug-port.js +1 -1
  365. package/ember_debug/deprecation-debug.js +14 -14
  366. package/ember_debug/entrypoints/basic-debug.js +10 -0
  367. package/ember_debug/entrypoints/bookmarklet-debug.js +10 -0
  368. package/ember_debug/entrypoints/chrome-debug.js +10 -0
  369. package/ember_debug/entrypoints/firefox-debug.js +10 -0
  370. package/ember_debug/entrypoints/websocket-debug.js +10 -0
  371. package/ember_debug/general-debug.js +4 -4
  372. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  373. package/ember_debug/lib/get-applications.js +28 -0
  374. package/ember_debug/lib/load-ember-debug-in-webpage.js +32 -0
  375. package/ember_debug/lib/send-apps.js +14 -0
  376. package/ember_debug/lib/send-version-miss.js +38 -0
  377. package/ember_debug/lib/setup-instance-initializer.js +17 -0
  378. package/ember_debug/lib/start-inspector.js +195 -0
  379. package/ember_debug/lib/version-test.js +73 -0
  380. package/ember_debug/lib/versions.js +3 -0
  381. package/ember_debug/libs/capture-render-tree.js +1 -2
  382. package/ember_debug/libs/promise-assembler.js +5 -4
  383. package/ember_debug/libs/render-tree.js +37 -44
  384. package/ember_debug/libs/source-map.js +7 -6
  385. package/ember_debug/libs/view-inspection.js +25 -17
  386. package/ember_debug/main.js +18 -21
  387. package/ember_debug/models/profile-manager.js +6 -6
  388. package/ember_debug/models/profile-node.js +1 -1
  389. package/ember_debug/models/promise.js +2 -2
  390. package/ember_debug/object-inspector.js +74 -65
  391. package/ember_debug/package.json +27 -0
  392. package/ember_debug/port.js +5 -4
  393. package/ember_debug/promise-debug.js +5 -5
  394. package/ember_debug/render-debug.js +5 -5
  395. package/ember_debug/rollup.config.js +24 -0
  396. package/ember_debug/route-debug.js +10 -9
  397. package/ember_debug/services/session.js +2 -2
  398. package/ember_debug/utils/classify.js +1 -1
  399. package/ember_debug/utils/ember/object/internals.js +1 -11
  400. package/ember_debug/utils/ember/own-runloop.js +1 -1
  401. package/ember_debug/utils/ember/runloop.js +7 -10
  402. package/ember_debug/utils/ember-object-names.js +11 -9
  403. package/ember_debug/utils/ember.js +222 -40
  404. package/ember_debug/utils/evented.js +1 -1
  405. package/ember_debug/utils/get-object-name.js +3 -3
  406. package/ember_debug/utils/type-check.js +9 -5
  407. package/ember_debug/view-debug.js +12 -6
  408. package/eslint.config.mjs +173 -0
  409. package/gulpfile.js +1 -1
  410. package/package.json +97 -95
  411. package/patches/ember-cli-inject-live-reload.patch +16 -0
  412. package/pnpm-workspace.yaml +3 -0
  413. package/public/assets/svg/ellipsis.svg +3 -3
  414. package/public/assets/svg/focus-point-round.svg +9 -0
  415. package/public/assets/svg/nav-bug.svg +1 -1
  416. package/public/assets/svg/nav-components.svg +2 -2
  417. package/public/assets/svg/nav-container.svg +1 -1
  418. package/public/assets/svg/nav-data.svg +1 -1
  419. package/public/assets/svg/nav-deprecations.svg +3 -3
  420. package/public/assets/svg/nav-info.svg +3 -3
  421. package/public/assets/svg/nav-promises.svg +2 -2
  422. package/public/assets/svg/nav-render-performance.svg +2 -2
  423. package/public/assets/svg/nav-route-tree.svg +7 -7
  424. package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
  425. package/scripts/download-panes.js +1 -1
  426. package/skeletons/bookmarklet/load_inspector.js +31 -11
  427. package/skeletons/web-extension/background.js +26 -21
  428. package/skeletons/web-extension/boot.js +1 -1
  429. package/skeletons/web-extension/content-script.js +12 -11
  430. package/skeletons/web-extension/devtools.js +12 -3
  431. package/skeletons/web-extension/manifest.json +3 -1
  432. package/skeletons/web-extension/options.js +17 -12
  433. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  434. package/testem.js +0 -1
  435. package/tests/acceptance/app-picker-test.js +4 -4
  436. package/tests/acceptance/component-tree-test.js +96 -57
  437. package/tests/acceptance/container-test.js +0 -2
  438. package/tests/acceptance/data-test.js +14 -11
  439. package/tests/acceptance/deprecation-test.js +8 -12
  440. package/tests/acceptance/info-test.js +2 -2
  441. package/tests/acceptance/object-inspector-test.js +62 -110
  442. package/tests/acceptance/promise-test.js +1 -11
  443. package/tests/acceptance/render-tree-test.js +2 -2
  444. package/tests/acceptance/route-tree-test.js +12 -14
  445. package/tests/acceptance/whats-new-test.js +11 -11
  446. package/tests/ember_debug/container-debug-test.js +5 -14
  447. package/tests/ember_debug/deprecation-debug-test.js +15 -6
  448. package/tests/ember_debug/ember-data-test.js +7 -1
  449. package/tests/ember_debug/ember-debug-test.js +13 -13
  450. package/tests/ember_debug/object-inspector-test.js +115 -50
  451. package/tests/ember_debug/profile-manager-test.js +153 -170
  452. package/tests/ember_debug/profile-node-test.js +9 -5
  453. package/tests/ember_debug/promise-assembler-test.js +18 -10
  454. package/tests/ember_debug/promise-debug-test.js +19 -15
  455. package/tests/ember_debug/render-debug-test.js +8 -1
  456. package/tests/ember_debug/route-debug-test.js +14 -8
  457. package/tests/ember_debug/view-debug-test.js +267 -183
  458. package/tests/helpers/{index.js → index.ts} +6 -5
  459. package/tests/helpers/setup-ember-debug-test.js +22 -2
  460. package/tests/index.html +1 -2
  461. package/tests/integration/injection-test.js +37 -81
  462. package/tests/test-adapter.js +15 -15
  463. package/tests/test-helper.js +6 -4
  464. package/tests/unit/check-current-route-test.js +0 -4
  465. package/tests/unit/resizable-columns-test.js +53 -51
  466. package/tests/unit/utils/parse-text-test.js +3 -3
  467. package/tests/unit/utils/search-match-test.js +5 -5
  468. package/tests/unit/utils/type-check-test.js +27 -0
  469. package/tsconfig.json +3 -1
  470. package/types/ember-inspector/index.d.ts +2 -1
  471. package/types/global.d.ts +1 -7
  472. package/.eslintignore +0 -33
  473. package/.eslintrc.js +0 -86
  474. package/app/components/list-content.js +0 -130
  475. package/app/controllers/promise-tree.js +0 -130
  476. package/app/libs/promise-assembler.js +0 -169
  477. package/app/routes/model-types.js +0 -47
  478. package/app/routes/promise-tree.js +0 -48
  479. package/app/routes/records.js +0 -55
  480. package/app/routes/render-tree.js +0 -66
  481. package/app/services/adapters/websocket.js +0 -31
  482. package/app/services/layout.js +0 -39
  483. package/app/services/port.js +0 -90
  484. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  485. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  486. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  487. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  488. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  489. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  490. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  491. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  492. package/dist/chrome/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  493. package/dist/chrome/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  494. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  495. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  496. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  497. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  498. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  499. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  500. package/dist/firefox/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  501. package/dist/firefox/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  502. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  503. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  504. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  505. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  506. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  507. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  508. package/dist/websocket/assets/chunk.143.76a242242ec46a377266.js +0 -28
  509. package/dist/websocket/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  510. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  511. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  512. package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
  513. package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
  514. package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
  515. package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
  516. package/ember_debug/.eslintrc.js +0 -13
  517. package/ember_debug/utils/ember/debug.js +0 -20
  518. package/ember_debug/utils/ember/instrumentation.js +0 -11
  519. package/ember_debug/utils/ember/loader.js +0 -22
  520. package/ember_debug/utils/rsvp.js +0 -20
  521. package/ember_debug/vendor/loader.js +0 -54
  522. package/ember_debug/vendor/startup-wrapper.js +0 -399
  523. package/lib/ui/addon/styles/_object-inspector-toggle.scss +0 -12
  524. package/lib/ui/addon/styles/addon.scss +0 -13
  525. package/lib/ui/addon/styles/toolbar/_icon-button.scss +0 -61
  526. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  527. package/lib/ui/app/components/ui/disclosure.js +0 -1
  528. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  529. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  530. package/lib/ui/app/components/ui/empty-message.js +0 -1
  531. package/lib/ui/app/components/ui/error-page.js +0 -1
  532. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  533. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  534. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  535. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  536. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  537. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  538. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  539. package/lib/ui/app/components/ui/warning-message.js +0 -1
  540. package/lib/ui/index.js +0 -34
  541. package/lib/ui/package.json +0 -13
  542. package/public/assets/fonts/Inter-Bold.woff +0 -0
  543. package/public/assets/fonts/Inter-Bold.woff2 +0 -0
  544. package/public/assets/fonts/Inter-Regular.woff +0 -0
  545. package/public/assets/fonts/Inter-Regular.woff2 +0 -0
  546. package/tests/helpers/trigger-port.js +0 -6
  547. /package/app/{app.js → app.ts} +0 -0
  548. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  549. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  550. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  551. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  552. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  553. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  554. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  555. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  556. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  557. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  558. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  559. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  560. /package/app/controllers/{info.js → info.ts} +0 -0
  561. /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
  562. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  563. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  564. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
@@ -1,130 +0,0 @@
1
- // eslint-disable-next-line ember/no-observers
2
- import { action, observer } from '@ember/object';
3
- import Controller from '@ember/controller';
4
- import { inject as service } from '@ember/service';
5
- import { isEmpty } from '@ember/utils';
6
- import { equal, bool, and, not, filter } from '@ember/object/computed';
7
- import { debounce, next, once } from '@ember/runloop';
8
-
9
- export default Controller.extend({
10
- queryParams: ['filter'],
11
-
12
- adapter: service(),
13
- port: service(),
14
-
15
- createdAfter: null,
16
-
17
- // below used to show the "refresh" message
18
- isEmpty: equal('model.length', 0),
19
- wasCleared: bool('createdAfter'),
20
- neverCleared: not('wasCleared'),
21
- shouldRefresh: and('isEmpty', 'neverCleared'),
22
-
23
- // Keep track of promise stack traces.
24
- // It is opt-in due to performance reasons.
25
- instrumentWithStack: false,
26
-
27
- /* jscs:disable validateIndentation */
28
- filtered: filter(
29
- 'model.@each.{createdAt,fulfilledBranch,rejectedBranch,pendingBranch,isVisible}',
30
- function (item) {
31
- // exclude cleared promises
32
- if (this.createdAfter && item.get('createdAt') < this.createdAfter) {
33
- return false;
34
- }
35
-
36
- if (!item.get('isVisible')) {
37
- return false;
38
- }
39
-
40
- // Exclude non-filter complying promises
41
- // If at least one of their children passes the filter,
42
- // then they pass
43
- let include = true;
44
- if (this.filter === 'pending') {
45
- include = item.get('pendingBranch');
46
- } else if (this.filter === 'rejected') {
47
- include = item.get('rejectedBranch');
48
- } else if (this.filter === 'fulfilled') {
49
- include = item.get('fulfilledBranch');
50
- }
51
- if (!include) {
52
- return false;
53
- }
54
-
55
- // Search filter
56
- // If they or at least one of their children
57
- // match the search, then include them
58
- let search = this.effectiveSearch;
59
- if (!isEmpty(search)) {
60
- return item.matches(search);
61
- }
62
- return true;
63
- }
64
- ),
65
- /* jscs:enable validateIndentation */
66
-
67
- filter: 'all',
68
- searchValue: null,
69
- effectiveSearch: null,
70
-
71
- // eslint-disable-next-line ember/no-observers
72
- searchChanged: observer('searchValue', function () {
73
- debounce(this, this.notifyChange, 500);
74
- }),
75
-
76
- notifyChange() {
77
- this.set('effectiveSearch', this.searchValue);
78
- next(() => {
79
- this.notifyPropertyChange('model');
80
- });
81
- },
82
-
83
- toggleExpand: action(function (promise) {
84
- let isExpanded = !promise.get('isExpanded');
85
- promise.set('isManuallyExpanded', isExpanded);
86
- promise.recalculateExpanded();
87
- let children = promise._allChildren();
88
- if (isExpanded) {
89
- children.forEach((child) => {
90
- let isManuallyExpanded = child.get('isManuallyExpanded');
91
- if (isManuallyExpanded === undefined) {
92
- child.set('isManuallyExpanded', isExpanded);
93
- child.recalculateExpanded();
94
- }
95
- });
96
- }
97
- }),
98
-
99
- tracePromise: action(function (promise) {
100
- this.port.send('promise:tracePromise', { promiseId: promise.get('guid') });
101
- }),
102
-
103
- inspectObject: action(function () {
104
- this.target.send('inspectObject', ...arguments);
105
- }),
106
-
107
- sendValueToConsole: action(function (promise) {
108
- this.port.send('promise:sendValueToConsole', {
109
- promiseId: promise.get('guid'),
110
- });
111
- }),
112
-
113
- setFilter: action(function (filter) {
114
- this.set('filter', filter);
115
- next(() => {
116
- this.notifyPropertyChange('filtered');
117
- });
118
- }),
119
-
120
- updateInstrumentWithStack: action(function (bool) {
121
- this.port.send('promise:setInstrumentWithStack', {
122
- instrumentWithStack: bool,
123
- });
124
- }),
125
-
126
- clear: action(function () {
127
- this.set('createdAfter', new Date());
128
- once(this, this.notifyChange);
129
- }),
130
- });
@@ -1,169 +0,0 @@
1
- import { assert } from '@ember/debug';
2
- import { later } from '@ember/runloop';
3
- import EmberObject from '@ember/object';
4
- import EventedMixin from '@ember/object/evented';
5
- import Promise from 'ember-inspector/models/promise';
6
-
7
- export default class PromiseAssembler extends EmberObject.extend(EventedMixin) {
8
- // Used to track whether current message received
9
- // is the first in the request
10
- // Mainly helps in triggering 'firstMessageReceived' event
11
- firstMessageReceived = false;
12
-
13
- init() {
14
- super.init(...arguments);
15
-
16
- this.all = [];
17
- this.topSort = [];
18
- this.topSortMeta = {};
19
- this.promiseIndex = {};
20
- }
21
-
22
- start() {
23
- this.port.on('promise:promisesUpdated', this, this.addOrUpdatePromises);
24
- this.port.send('promise:getAndObservePromises');
25
- }
26
-
27
- stop() {
28
- this.port.off('promise:promisesUpdated', this, this.addOrUpdatePromises);
29
- this.port.send('promise:releasePromises');
30
- this.reset();
31
- }
32
-
33
- reset() {
34
- this.set('topSortMeta', {});
35
- this.set('promiseIndex', {});
36
- this.topSort.clear();
37
-
38
- this.set('firstMessageReceived', false);
39
- let all = this.all;
40
- // Lazily destroy promises
41
- // Allows for a smooth transition on deactivate,
42
- // and thus providing the illusion of better perf
43
- later(
44
- this,
45
- function () {
46
- this.destroyPromises(all);
47
- },
48
- 500
49
- );
50
- this.set('all', []);
51
- }
52
-
53
- destroyPromises(promises) {
54
- promises.forEach(function (item) {
55
- item.destroy();
56
- });
57
- }
58
-
59
- addOrUpdatePromises(message) {
60
- this.rebuildPromises(message.promises);
61
-
62
- if (!this.firstMessageReceived) {
63
- this.set('firstMessageReceived', true);
64
- this.trigger('firstMessageReceived');
65
- }
66
- }
67
-
68
- rebuildPromises(promises) {
69
- promises.forEach((props) => {
70
- props = Object.assign({}, props);
71
- let childrenIds = props.children;
72
- let parentId = props.parent;
73
- delete props.children;
74
- delete props.parent;
75
- if (parentId && parentId !== props.guid) {
76
- props.parent = this.updateOrCreate({ guid: parentId });
77
- }
78
- let promise = this.updateOrCreate(props);
79
- if (childrenIds) {
80
- childrenIds.forEach((childId) => {
81
- // avoid infinite recursion
82
- if (childId === props.guid) {
83
- return;
84
- }
85
- let child = this.updateOrCreate({ guid: childId, parent: promise });
86
- promise.get('children').pushObject(child);
87
- });
88
- }
89
- });
90
- }
91
-
92
- updateTopSort(promise) {
93
- let topSortMeta = this.topSortMeta;
94
- let guid = promise.get('guid');
95
- let meta = topSortMeta[guid];
96
- let isNew = !meta;
97
- let hadParent = false;
98
- let hasParent = !!promise.get('parent');
99
- let topSort = this.topSort;
100
- let parentChanged = isNew;
101
-
102
- if (isNew) {
103
- meta = topSortMeta[guid] = {};
104
- } else {
105
- hadParent = meta.hasParent;
106
- }
107
- if (!isNew && hasParent !== hadParent) {
108
- // todo: implement recursion to reposition children
109
- topSort.removeObject(promise);
110
- parentChanged = true;
111
- }
112
- meta.hasParent = hasParent;
113
- if (parentChanged) {
114
- this.insertInTopSort(promise);
115
- }
116
- }
117
-
118
- insertInTopSort(promise) {
119
- let topSort = this.topSort;
120
- if (promise.get('parent')) {
121
- let parentIndex = topSort.indexOf(promise.get('parent'));
122
- topSort.insertAt(parentIndex + 1, promise);
123
- } else {
124
- topSort.pushObject(promise);
125
- }
126
- promise.get('children').forEach((child) => {
127
- topSort.removeObject(child);
128
- this.insertInTopSort(child);
129
- });
130
- }
131
-
132
- updateOrCreate(props) {
133
- let guid = props.guid;
134
- let promise = this.findOrCreate(guid);
135
-
136
- promise.setProperties(props);
137
-
138
- this.updateTopSort(promise);
139
-
140
- return promise;
141
- }
142
-
143
- createPromise(props) {
144
- let promise = Promise.create(props);
145
- let index = this.get('all.length');
146
-
147
- this.all.pushObject(promise);
148
- this.promiseIndex[promise.get('guid')] = index;
149
- return promise;
150
- }
151
-
152
- find(guid) {
153
- if (guid) {
154
- let index = this.promiseIndex[guid];
155
- if (index !== undefined) {
156
- return this.all.objectAt(index);
157
- }
158
- } else {
159
- return this.all;
160
- }
161
- }
162
-
163
- findOrCreate(guid) {
164
- if (!guid) {
165
- assert('You have tried to findOrCreate without a guid');
166
- }
167
- return this.find(guid) || this.createPromise({ guid });
168
- }
169
- }
@@ -1,47 +0,0 @@
1
- import { inject as service } from '@ember/service';
2
- import { set, action } from '@ember/object';
3
- import { Promise } from 'rsvp';
4
- import TabRoute from 'ember-inspector/routes/tab';
5
-
6
- export default class ModelTypesRoute extends TabRoute {
7
- @service port;
8
-
9
- model() {
10
- const port = this.port;
11
- return new Promise(function (resolve) {
12
- port.one('data:modelTypesAdded', function (message) {
13
- resolve(message.modelTypes);
14
- });
15
- port.send('data:getModelTypes');
16
- });
17
- }
18
-
19
- setupController(controller, model) {
20
- super.setupController(controller, model);
21
- this.port.on('data:modelTypesAdded', this, this.addModelTypes);
22
- this.port.on('data:modelTypesUpdated', this, this.updateModelTypes);
23
- }
24
-
25
- deactivate() {
26
- this.port.off('data:modelTypesAdded', this, this.addModelTypes);
27
- this.port.off('data:modelTypesUpdated', this, this.updateModelTypes);
28
- this.port.send('data:releaseModelTypes');
29
- }
30
-
31
- @action
32
- addModelTypes(message) {
33
- this.currentModel.pushObjects(message.modelTypes);
34
- }
35
-
36
- @action
37
- updateModelTypes(message) {
38
- let route = this;
39
- message.modelTypes.forEach(function (modelType) {
40
- const currentType = route.currentModel.findBy(
41
- 'objectId',
42
- modelType.objectId
43
- );
44
- set(currentType, 'count', modelType.count);
45
- });
46
- }
47
- }
@@ -1,48 +0,0 @@
1
- import { get, set } from '@ember/object';
2
- import { inject as service } from '@ember/service';
3
- import { Promise } from 'rsvp';
4
- import TabRoute from 'ember-inspector/routes/tab';
5
- import PromiseAssembler from 'ember-inspector/libs/promise-assembler';
6
-
7
- export default class PromiseTreeRoute extends TabRoute {
8
- @service port;
9
-
10
- assembler = PromiseAssembler.create({
11
- port: this.port,
12
- });
13
-
14
- model() {
15
- // block rendering until first batch arrives
16
- // Helps prevent flashing of "please refresh the page"
17
- return new Promise((resolve) => {
18
- this.assembler.one('firstMessageReceived', () => {
19
- resolve(get(this, 'assembler.topSort'));
20
- });
21
- this.assembler.start();
22
- });
23
- }
24
-
25
- setupController() {
26
- super.setupController(...arguments);
27
-
28
- this.port.on(
29
- 'promise:instrumentWithStack',
30
- this,
31
- this.setInstrumentWithStack
32
- );
33
- this.port.send('promise:getInstrumentWithStack');
34
- }
35
-
36
- deactivate() {
37
- this.assembler.stop();
38
- this.port.off(
39
- 'promise:instrumentWithStack',
40
- this,
41
- this.setInstrumentWithStack
42
- );
43
- }
44
-
45
- setInstrumentWithStack(message) {
46
- set(this, 'controller.instrumentWithStack', message.instrumentWithStack);
47
- }
48
- }
@@ -1,55 +0,0 @@
1
- import { inject as service } from '@ember/service';
2
- import { set } from '@ember/object';
3
- import TabRoute from 'ember-inspector/routes/tab';
4
-
5
- export default class RecordsRoute extends TabRoute {
6
- @service port;
7
-
8
- model() {
9
- return [];
10
- }
11
-
12
- setupController(controller, model) {
13
- super.setupController(controller, model);
14
-
15
- const type = this.modelFor('model_type');
16
-
17
- controller.set('modelType', type);
18
-
19
- this.port.on('data:recordsAdded', this, this.addRecords);
20
- this.port.on('data:recordsUpdated', this, this.updateRecords);
21
- this.port.on('data:recordsRemoved', this, this.removeRecords);
22
- this.port.one('data:filters', this, function (message) {
23
- set(this, 'controller.filters', message.filters);
24
- });
25
- this.port.send('data:getFilters');
26
- this.port.send('data:getRecords', { objectId: type.objectId });
27
- }
28
-
29
- deactivate() {
30
- this.port.off('data:recordsAdded', this, this.addRecords);
31
- this.port.off('data:recordsUpdated', this, this.updateRecords);
32
- this.port.off('data:recordsRemoved', this, this.removeRecords);
33
- this.port.send('data:releaseRecords');
34
- }
35
-
36
- addRecords(message) {
37
- this.currentModel.pushObjects(message.records);
38
- }
39
-
40
- removeRecords(message) {
41
- this.currentModel.removeAt(message.index, message.count);
42
- }
43
-
44
- updateRecords(message) {
45
- message.records.forEach((record) => {
46
- let currentRecord = this.currentModel.findBy('objectId', record.objectId);
47
- if (currentRecord) {
48
- set(currentRecord, 'columnValues', record.columnValues);
49
- set(currentRecord, 'filterValues', record.filterValues);
50
- set(currentRecord, 'searchIndex', record.searchIndex);
51
- set(currentRecord, 'color', record.color);
52
- }
53
- });
54
- }
55
- }
@@ -1,66 +0,0 @@
1
- import EmberObject, { get, set } from '@ember/object';
2
- import { inject as service } from '@ember/service';
3
- import { Promise } from 'rsvp';
4
- import TabRoute from 'ember-inspector/routes/tab';
5
-
6
- export default class RenderTreeRoute extends TabRoute {
7
- @service port;
8
-
9
- model() {
10
- const port = this.port;
11
- return new Promise(function (resolve) {
12
- port.one(
13
- 'render:profilesAdded',
14
- function ({ profiles, isHighlightSupported }) {
15
- resolve(EmberObject.create({ profiles, isHighlightSupported }));
16
- }
17
- );
18
- port.send('render:watchProfiles');
19
- });
20
- }
21
-
22
- setupController(controller, model) {
23
- super.setupController(...arguments);
24
-
25
- if (get(model, 'profiles.length') === 0) {
26
- controller.set('initialEmpty', true);
27
- }
28
- const port = this.port;
29
- port.on('render:profilesUpdated', this, this.profilesUpdated);
30
- port.on('render:profilesAdded', this, this.profilesAdded);
31
- }
32
-
33
- deactivate() {
34
- super.deactivate(...arguments);
35
-
36
- const port = this.port;
37
- port.off('render:profilesUpdated', this, this.profilesUpdated);
38
- port.off('render:profilesAdded', this, this.profilesAdded);
39
- port.send('render:releaseProfiles');
40
- }
41
-
42
- profilesUpdated(message) {
43
- set(this, 'controller.model.profiles', message.profiles);
44
- }
45
-
46
- profilesAdded(message) {
47
- const currentProfiles = get(this, 'controller.model.profiles');
48
- const profiles = message.profiles;
49
- if (
50
- message.isHighlightSupported !== undefined &&
51
- message.isHighlightSupported !==
52
- get(this, 'controller.model.isHighlightSupported')
53
- ) {
54
- set(
55
- this,
56
- 'controller.model.isHighlightSupported',
57
- message.isHighlightSupported
58
- );
59
- }
60
-
61
- currentProfiles.pushObjects(profiles);
62
- if (currentProfiles.length > 100) {
63
- set(this, 'controller.model.profiles', currentProfiles.slice(0, 100));
64
- }
65
- }
66
- }
@@ -1,31 +0,0 @@
1
- import { run } from '@ember/runloop';
2
- import BasicAdapter from './basic';
3
-
4
- export default class Websocket extends BasicAdapter {
5
- init() {
6
- super.init();
7
- this.socket = window.EMBER_INSPECTOR_CONFIG.remoteDebugSocket;
8
- this._connect();
9
- }
10
-
11
- sendMessage(options) {
12
- options = options || {};
13
- this.socket.emit('emberInspectorMessage', options);
14
- }
15
-
16
- _connect() {
17
- this.socket.on('emberInspectorMessage', (message) => {
18
- run(() => {
19
- this._messageReceived(message);
20
- });
21
- });
22
- }
23
-
24
- _disconnect() {
25
- this.socket.removeAllListeners('emberInspectorMessage');
26
- }
27
-
28
- willDestroy() {
29
- this._disconnect();
30
- }
31
- }
@@ -1,39 +0,0 @@
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
- * @class Layout
11
- * @extends Service
12
- */
13
- import Service from '@ember/service';
14
- import { tracked } from '@glimmer/tracking';
15
- import Evented from '@ember/object/evented';
16
-
17
- export default class LayoutService extends Service.extend(Evented) {
18
- /**
19
- * Stores the app's content height. This property is kept up-to-date
20
- * by the `monitor-content-height` component.
21
- *
22
- * @property contentHeight
23
- * @type {Number}
24
- */
25
- @tracked contentHeight = null;
26
-
27
- /**
28
- * This is called by `monitor-content-height` whenever a window resize is detected
29
- * and the app's content height has changed. We therefore update the
30
- * `contentHeight` property and notify all listeners (mostly lists).
31
- *
32
- * @method updateContentHeight
33
- * @param {Number} height The new app content height
34
- */
35
- updateContentHeight(height) {
36
- this.contentHeight = height;
37
- this.trigger('content-height-update', height);
38
- }
39
- }
@@ -1,90 +0,0 @@
1
- import { set } from '@ember/object';
2
- import Evented from '@ember/object/evented';
3
- import Service, { inject as service } from '@ember/service';
4
-
5
- export default class PortService extends Service.extend(Evented) {
6
- @service adapter;
7
- @service router;
8
-
9
- applicationId = undefined;
10
- applicationName = undefined;
11
-
12
- init() {
13
- super.init(...arguments);
14
-
15
- /*
16
- * A dictionary of the form:
17
- * { applicationId: applicationName }
18
- */
19
- this.detectedApplications = {};
20
- this.applicationId = undefined;
21
- this.applicationName = undefined;
22
-
23
- this.adapter.onMessageReceived((message) => {
24
- if (message.type === 'apps-loaded') {
25
- message.apps.forEach(({ applicationId, applicationName }) => {
26
- set(this.detectedApplications, applicationId, applicationName);
27
- });
28
-
29
- return;
30
- }
31
-
32
- let { applicationId, applicationName } = message;
33
-
34
- if (!applicationId) {
35
- return;
36
- }
37
-
38
- // save the application, in case we haven't seen it yet
39
- set(this.detectedApplications, applicationId, applicationName);
40
-
41
- if (!this.applicationId) {
42
- this.selectApplication(applicationId);
43
- }
44
-
45
- if (this.applicationId === applicationId) {
46
- if (!this.has(message.type)) {
47
- throw new Error('unknown message type ' + message.type);
48
- }
49
- this.trigger(message.type, message, applicationId);
50
- }
51
- });
52
-
53
- this.on('view:inspectJSValue', this, ({ name }) =>
54
- this.adapter.inspectJSValue(name)
55
- );
56
- }
57
-
58
- selectApplication(applicationId) {
59
- if (
60
- applicationId in this.detectedApplications &&
61
- applicationId !== this.applicationId
62
- ) {
63
- let applicationName = this.detectedApplications[applicationId];
64
- const currentApplication = this.applicationId;
65
- this.setProperties({ applicationId, applicationName });
66
- if (currentApplication) {
67
- // this is only required when switching apps
68
- this.router.transitionTo('app-detected');
69
- }
70
- this.send('app-selected', { applicationId, applicationName });
71
- }
72
- }
73
-
74
- send(type, message) {
75
- message = message || {};
76
- message.type = type;
77
- message.from = 'devtools';
78
- message.applicationId = this.applicationId;
79
- message.applicationName = this.applicationName;
80
- this.adapter.sendMessage(message);
81
- }
82
-
83
- off(...args) {
84
- try {
85
- super.off(...args);
86
- } catch (e) {
87
- console.error(e);
88
- }
89
- }
90
- }