ember-inspector 4.13.1-alpha.2024.8.8 → 4.13.1-alpha.2025.10.1

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 (548) hide show
  1. package/PRIVACY.md +3 -0
  2. package/README.md +10 -2
  3. package/app/components/app-picker.hbs +2 -2
  4. package/app/components/component-tree-item.hbs +14 -14
  5. package/app/components/component-tree-toolbar.hbs +17 -3
  6. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  7. package/app/components/deprecation-item-source.hbs +1 -1
  8. package/app/components/deprecation-item.hbs +1 -1
  9. package/app/components/deprecations-toolbar.hbs +1 -1
  10. package/app/components/item-types.hbs +7 -7
  11. package/app/components/list-cell.hbs +3 -3
  12. package/app/components/list-content.hbs +4 -3
  13. package/app/components/list-content.ts +96 -0
  14. package/app/components/list.hbs +3 -3
  15. package/app/components/list.js +7 -7
  16. package/app/components/model-types-toolbar.hbs +3 -3
  17. package/app/components/object-inspector/component-parents.hbs +33 -0
  18. package/app/components/object-inspector/component-parents.js +43 -0
  19. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  20. package/app/components/object-inspector/errors.hbs +4 -4
  21. package/app/components/object-inspector/properties-all.hbs +1 -1
  22. package/app/components/object-inspector/properties-base.js +2 -0
  23. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  24. package/app/components/object-inspector/property.hbs +36 -34
  25. package/app/components/object-inspector/property.ts +34 -17
  26. package/app/components/object-inspector/sort-properties.js +12 -4
  27. package/app/components/object-inspector/toggle.hbs +9 -0
  28. package/app/components/object-inspector/toggle.js +6 -0
  29. package/app/components/object-inspector.hbs +11 -9
  30. package/app/components/object-inspector.js +1 -1
  31. package/app/components/promise-item.hbs +11 -11
  32. package/app/components/promise-item.js +8 -6
  33. package/app/components/promise-tree-toolbar.hbs +5 -5
  34. package/app/components/records-toolbar.hbs +2 -2
  35. package/app/components/render-item.hbs +4 -4
  36. package/app/components/render-item.ts +12 -9
  37. package/app/components/render-tree-toolbar.hbs +1 -1
  38. package/app/components/route-cell-name.hbs +1 -1
  39. package/app/components/route-cell-name.js +3 -2
  40. package/app/components/route-tree-toolbar.hbs +2 -2
  41. package/app/components/scroll-container.js +2 -0
  42. package/app/components/side-nav.hbs +5 -5
  43. package/app/components/side-nav.js +1 -1
  44. package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +4 -4
  45. package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +3 -1
  46. package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +1 -1
  47. package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +3 -3
  48. package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +1 -1
  49. package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +1 -1
  50. package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +1 -1
  51. package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +2 -2
  52. package/app/computed/{debounce.js → debounce.ts} +7 -5
  53. package/app/config/environment.d.ts +5 -2
  54. package/app/controllers/app-config.js +1 -0
  55. package/app/controllers/application.js +36 -71
  56. package/app/controllers/component-tree.js +26 -7
  57. package/app/controllers/container-type.js +2 -1
  58. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  59. package/app/controllers/container-types.js +3 -6
  60. package/app/controllers/deprecations.js +16 -11
  61. package/app/controllers/libraries.js +1 -0
  62. package/app/controllers/model-types.js +1 -0
  63. package/app/controllers/promise-tree.ts +149 -0
  64. package/app/controllers/records.js +18 -26
  65. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  66. package/app/controllers/route-tree.js +7 -5
  67. package/app/helpers/build-style.js +1 -1
  68. package/app/index.html +1 -19
  69. package/app/initializers/setup.js +1 -1
  70. package/app/libs/promise-assembler.ts +249 -0
  71. package/app/libs/resizable-columns.js +10 -10
  72. package/app/models/{promise.js → promise.ts} +72 -69
  73. package/app/{router.js → router.ts} +1 -1
  74. package/app/routes/app-detected.js +3 -5
  75. package/app/routes/application.js +9 -13
  76. package/app/routes/deprecations.js +7 -16
  77. package/app/routes/launch.js +2 -1
  78. package/app/routes/libraries.js +2 -1
  79. package/app/routes/model-type.js +2 -3
  80. package/app/routes/model-types.ts +57 -0
  81. package/app/routes/promise-tree.ts +63 -0
  82. package/app/routes/records.ts +78 -0
  83. package/app/routes/render-tree.ts +93 -0
  84. package/app/routes/route-tree.js +0 -1
  85. package/app/routes/{tab.js → tab.ts} +9 -2
  86. package/app/routes/whats-new.js +2 -2
  87. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  88. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  89. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  90. package/app/services/adapters/{web-extension.js → web-extension.ts} +46 -46
  91. package/app/services/adapters/websocket.ts +40 -0
  92. package/app/services/layout.ts +124 -0
  93. package/app/services/port.ts +195 -0
  94. package/app/services/storage/{local.js → local.ts} +7 -20
  95. package/app/services/storage/{memory.js → memory.ts} +6 -21
  96. package/app/services/{storage.js → storage.ts} +9 -20
  97. package/app/styles/app.scss +1 -0
  98. package/app/styles/base.scss +6 -2
  99. package/app/styles/colors.scss +33 -31
  100. package/app/styles/component_tree.scss +56 -51
  101. package/app/styles/dropdown.scss +2 -2
  102. package/app/styles/ember-table.scss +3 -3
  103. package/app/styles/mixin.scss +26 -26
  104. package/app/styles/object_inspector.scss +30 -21
  105. package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +3 -1
  106. package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +7 -7
  107. package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +1 -1
  108. package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +8 -7
  109. package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +46 -45
  110. package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +29 -27
  111. package/app/styles/ui/_object-inspector-toggle.scss +4 -0
  112. package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +4 -4
  113. package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +1 -1
  114. package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +26 -20
  115. package/app/styles/ui/_ui.scss +13 -0
  116. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +5 -5
  117. package/app/styles/ui/toolbar/_icon-button.scss +80 -0
  118. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +6 -5
  119. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +10 -10
  120. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +5 -3
  121. package/app/styles/utils.scss +408 -122
  122. package/app/templates/application.hbs +21 -19
  123. package/app/templates/component-tree.hbs +4 -1
  124. package/app/templates/deprecations.hbs +2 -3
  125. package/app/templates/info.hbs +10 -10
  126. package/app/templates/promise-tree.hbs +1 -1
  127. package/app/templates/render-tree.hbs +1 -1
  128. package/app/templates/route-tree.hbs +1 -1
  129. package/app/utils/escape-reg-exp.ts +3 -2
  130. package/app/utils/nullish.ts +7 -0
  131. package/app/utils/parse-text.ts +4 -5
  132. package/app/utils/truncate.js +0 -1
  133. package/config/ember-cli-update.json +5 -3
  134. package/config/ember-try.js +117 -72
  135. package/config/environment.js +1 -1
  136. package/config/optional-features.json +2 -1
  137. package/dist/bookmarklet/load_inspector.js +31 -11
  138. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  139. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  140. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.3530526ca8a0822af855.js +40 -0
  141. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
  142. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +997 -156
  143. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +557 -609
  144. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  145. package/dist/bookmarklet/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  146. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  147. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  148. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  149. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  150. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  151. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  152. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  153. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  154. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  155. package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  156. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +4 -841
  157. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +4277 -5152
  158. package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  159. package/dist/bookmarklet/panes-3-16-0/basic-DfbgtngO.js +144 -0
  160. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +6 -0
  161. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +34 -0
  162. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +12 -0
  163. package/dist/bookmarklet/panes-3-16-0/ember.js +115 -0
  164. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +24 -11011
  165. package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
  166. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +32 -0
  167. package/dist/bookmarklet/panes-3-16-0/index.html +4 -23
  168. package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  169. package/dist/bookmarklet/panes-3-16-0/main.js +7663 -0
  170. package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
  171. package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
  172. package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
  173. package/dist/bookmarklet/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  174. package/dist/bookmarklet/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  175. package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
  176. package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
  177. package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
  178. package/dist/bookmarklet/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  179. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +60 -0
  180. package/dist/chrome/background.js +26 -21
  181. package/dist/chrome/boot.js +1 -1
  182. package/dist/chrome/content-script.js +12 -11
  183. package/dist/chrome/devtools.js +12 -3
  184. package/dist/chrome/manifest.json +3 -3
  185. package/dist/chrome/options.js +17 -12
  186. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  187. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  188. package/dist/chrome/panes-3-16-0/assets/chunk.524.3530526ca8a0822af855.js +40 -0
  189. package/dist/chrome/panes-3-16-0/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
  190. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +997 -156
  191. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +557 -609
  192. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  193. package/dist/chrome/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  194. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  195. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  196. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  197. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  198. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  199. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  200. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  201. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  202. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  203. package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  204. package/dist/chrome/panes-3-16-0/assets/vendor.css +4 -841
  205. package/dist/chrome/panes-3-16-0/assets/vendor.js +4277 -5152
  206. package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  207. package/dist/chrome/panes-3-16-0/basic-DfbgtngO.js +144 -0
  208. package/dist/chrome/panes-3-16-0/basic-debug.js +6 -0
  209. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +34 -0
  210. package/dist/chrome/panes-3-16-0/chrome-debug.js +12 -0
  211. package/dist/chrome/panes-3-16-0/ember.js +115 -0
  212. package/dist/chrome/panes-3-16-0/ember_debug.js +12 -11021
  213. package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
  214. package/dist/chrome/panes-3-16-0/firefox-debug.js +32 -0
  215. package/dist/chrome/panes-3-16-0/index.html +4 -23
  216. package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  217. package/dist/chrome/panes-3-16-0/main.js +7663 -0
  218. package/dist/chrome/panes-3-16-0/port.js +108 -0
  219. package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
  220. package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
  221. package/dist/chrome/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  222. package/dist/chrome/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  223. package/dist/chrome/panes-3-16-0/type-check.js +119 -0
  224. package/dist/chrome/panes-3-16-0/version.js +90 -0
  225. package/dist/chrome/panes-3-16-0/versions.js +4 -0
  226. package/dist/chrome/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  227. package/dist/chrome/panes-3-16-0/websocket-debug.js +60 -0
  228. package/dist/chrome/scripts/in-page-script.js +19 -13
  229. package/dist/firefox/background.js +26 -21
  230. package/dist/firefox/boot.js +1 -1
  231. package/dist/firefox/content-script.js +12 -11
  232. package/dist/firefox/devtools.js +12 -3
  233. package/dist/firefox/manifest.json +3 -3
  234. package/dist/firefox/options.js +17 -12
  235. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  236. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  237. package/dist/firefox/panes-3-16-0/assets/chunk.524.3530526ca8a0822af855.js +40 -0
  238. package/dist/firefox/panes-3-16-0/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
  239. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +997 -156
  240. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +557 -609
  241. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  242. package/dist/firefox/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  243. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  244. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  245. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  246. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  247. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  248. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  249. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  250. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  251. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  252. package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  253. package/dist/firefox/panes-3-16-0/assets/vendor.css +4 -841
  254. package/dist/firefox/panes-3-16-0/assets/vendor.js +4277 -5152
  255. package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  256. package/dist/firefox/panes-3-16-0/basic-DfbgtngO.js +144 -0
  257. package/dist/firefox/panes-3-16-0/basic-debug.js +6 -0
  258. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +34 -0
  259. package/dist/firefox/panes-3-16-0/chrome-debug.js +12 -0
  260. package/dist/firefox/panes-3-16-0/ember.js +115 -0
  261. package/dist/firefox/panes-3-16-0/ember_debug.js +27 -11016
  262. package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
  263. package/dist/firefox/panes-3-16-0/firefox-debug.js +32 -0
  264. package/dist/firefox/panes-3-16-0/index.html +4 -23
  265. package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  266. package/dist/firefox/panes-3-16-0/main.js +7663 -0
  267. package/dist/firefox/panes-3-16-0/port.js +108 -0
  268. package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
  269. package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
  270. package/dist/firefox/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  271. package/dist/firefox/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  272. package/dist/firefox/panes-3-16-0/type-check.js +119 -0
  273. package/dist/firefox/panes-3-16-0/version.js +90 -0
  274. package/dist/firefox/panes-3-16-0/versions.js +4 -0
  275. package/dist/firefox/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  276. package/dist/firefox/panes-3-16-0/websocket-debug.js +60 -0
  277. package/dist/firefox/scripts/in-page-script.js +19 -13
  278. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  279. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  280. package/dist/websocket/assets/chunk.524.3530526ca8a0822af855.js +40 -0
  281. package/dist/websocket/assets/chunk.582.0ae94a39ca88591dff80.js +42 -0
  282. package/dist/websocket/assets/ember-inspector.css +997 -156
  283. package/dist/websocket/assets/ember-inspector.js +557 -609
  284. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  285. package/dist/websocket/assets/svg/focus-point-round.svg +9 -0
  286. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  287. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  288. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  289. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  290. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  291. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  292. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  293. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  294. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  295. package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
  296. package/dist/websocket/assets/vendor.css +4 -841
  297. package/dist/websocket/assets/vendor.js +4277 -5152
  298. package/dist/websocket/base-object-HAEdWjmg.js +59 -0
  299. package/dist/websocket/basic-DfbgtngO.js +144 -0
  300. package/dist/websocket/basic-debug.js +6 -0
  301. package/dist/websocket/bookmarklet-debug.js +34 -0
  302. package/dist/websocket/chrome-debug.js +12 -0
  303. package/dist/websocket/ember.js +115 -0
  304. package/dist/websocket/ember_debug.js +48 -11009
  305. package/dist/websocket/evented-BCTya3yE.js +62 -0
  306. package/dist/websocket/firefox-debug.js +32 -0
  307. package/dist/websocket/index.html +4 -23
  308. package/dist/websocket/internals-CRmXMEzb.js +12 -0
  309. package/dist/websocket/main.js +7663 -0
  310. package/dist/websocket/port.js +108 -0
  311. package/dist/websocket/profile-node.js +60 -0
  312. package/dist/websocket/promise-assembler.js +218 -0
  313. package/dist/websocket/runloop-CF-Qpqgy.js +1138 -0
  314. package/dist/websocket/start-inspector-BPAW_WLv.js +376 -0
  315. package/dist/websocket/type-check.js +119 -0
  316. package/dist/websocket/version.js +90 -0
  317. package/dist/websocket/versions.js +4 -0
  318. package/dist/websocket/web-extension-C3pMNVSY.js +144 -0
  319. package/dist/websocket/websocket-debug.js +60 -0
  320. package/ember-cli-build.js +31 -140
  321. package/ember_debug/adapters/basic.js +10 -29
  322. package/ember_debug/adapters/bookmarklet.js +1 -0
  323. package/ember_debug/adapters/firefox.js +3 -3
  324. package/ember_debug/adapters/web-extension.js +6 -5
  325. package/ember_debug/adapters/websocket.js +2 -2
  326. package/ember_debug/babel.config.cjs +11 -0
  327. package/ember_debug/container-debug.js +1 -1
  328. package/ember_debug/data-debug.js +7 -8
  329. package/ember_debug/debug-port.js +1 -1
  330. package/ember_debug/deprecation-debug.js +14 -14
  331. package/ember_debug/entrypoints/basic-debug.js +6 -0
  332. package/ember_debug/entrypoints/bookmarklet-debug.js +6 -0
  333. package/ember_debug/entrypoints/chrome-debug.js +6 -0
  334. package/ember_debug/entrypoints/firefox-debug.js +6 -0
  335. package/ember_debug/entrypoints/websocket-debug.js +6 -0
  336. package/ember_debug/general-debug.js +4 -4
  337. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  338. package/ember_debug/lib/get-applications.js +27 -0
  339. package/ember_debug/lib/load-ember-debug-in-webpage.js +30 -0
  340. package/ember_debug/lib/send-apps.js +14 -0
  341. package/ember_debug/lib/send-version-miss.js +39 -0
  342. package/ember_debug/lib/setup-instance-initializer.js +16 -0
  343. package/ember_debug/lib/start-inspector.js +211 -0
  344. package/ember_debug/lib/version-test.js +73 -0
  345. package/ember_debug/lib/versions.js +3 -0
  346. package/ember_debug/libs/capture-render-tree.js +1 -2
  347. package/ember_debug/libs/promise-assembler.js +5 -4
  348. package/ember_debug/libs/render-tree.js +37 -44
  349. package/ember_debug/libs/source-map.js +7 -6
  350. package/ember_debug/libs/view-inspection.js +25 -17
  351. package/ember_debug/main.js +18 -21
  352. package/ember_debug/models/profile-manager.js +6 -6
  353. package/ember_debug/models/profile-node.js +1 -1
  354. package/ember_debug/models/promise.js +2 -2
  355. package/ember_debug/object-inspector.js +71 -65
  356. package/ember_debug/package.json +27 -0
  357. package/ember_debug/port.js +5 -4
  358. package/ember_debug/promise-debug.js +5 -5
  359. package/ember_debug/render-debug.js +5 -5
  360. package/ember_debug/rollup.config.js +24 -0
  361. package/ember_debug/route-debug.js +10 -9
  362. package/ember_debug/services/session.js +2 -2
  363. package/ember_debug/utils/classify.js +1 -1
  364. package/ember_debug/utils/ember/object/internals.js +1 -11
  365. package/ember_debug/utils/ember/own-runloop.js +1 -1
  366. package/ember_debug/utils/ember/runloop.js +7 -10
  367. package/ember_debug/utils/ember-object-names.js +7 -8
  368. package/ember_debug/utils/ember.js +120 -14
  369. package/ember_debug/utils/evented.js +1 -1
  370. package/ember_debug/utils/get-object-name.js +3 -3
  371. package/ember_debug/utils/type-check.js +9 -5
  372. package/ember_debug/view-debug.js +12 -6
  373. package/eslint.config.mjs +173 -0
  374. package/gulpfile.js +1 -1
  375. package/package.json +97 -95
  376. package/pnpm-workspace.yaml +3 -0
  377. package/public/assets/svg/ellipsis.svg +3 -3
  378. package/public/assets/svg/focus-point-round.svg +9 -0
  379. package/public/assets/svg/nav-bug.svg +1 -1
  380. package/public/assets/svg/nav-components.svg +2 -2
  381. package/public/assets/svg/nav-container.svg +1 -1
  382. package/public/assets/svg/nav-data.svg +1 -1
  383. package/public/assets/svg/nav-deprecations.svg +3 -3
  384. package/public/assets/svg/nav-info.svg +3 -3
  385. package/public/assets/svg/nav-promises.svg +2 -2
  386. package/public/assets/svg/nav-render-performance.svg +2 -2
  387. package/public/assets/svg/nav-route-tree.svg +7 -7
  388. package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
  389. package/scripts/download-panes.js +1 -1
  390. package/skeletons/bookmarklet/load_inspector.js +31 -11
  391. package/skeletons/web-extension/background.js +26 -21
  392. package/skeletons/web-extension/boot.js +1 -1
  393. package/skeletons/web-extension/content-script.js +12 -11
  394. package/skeletons/web-extension/devtools.js +12 -3
  395. package/skeletons/web-extension/manifest.json +3 -3
  396. package/skeletons/web-extension/options.js +17 -12
  397. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  398. package/testem.js +0 -1
  399. package/tests/acceptance/app-picker-test.js +4 -4
  400. package/tests/acceptance/component-tree-test.js +96 -57
  401. package/tests/acceptance/container-test.js +0 -2
  402. package/tests/acceptance/data-test.js +8 -10
  403. package/tests/acceptance/deprecation-test.js +8 -12
  404. package/tests/acceptance/info-test.js +2 -2
  405. package/tests/acceptance/object-inspector-test.js +62 -110
  406. package/tests/acceptance/promise-test.js +1 -11
  407. package/tests/acceptance/render-tree-test.js +2 -2
  408. package/tests/acceptance/route-tree-test.js +12 -14
  409. package/tests/acceptance/whats-new-test.js +4 -4
  410. package/tests/ember_debug/container-debug-test.js +4 -4
  411. package/tests/ember_debug/deprecation-debug-test.js +8 -5
  412. package/tests/ember_debug/ember-debug-test.js +1 -4
  413. package/tests/ember_debug/object-inspector-test.js +108 -49
  414. package/tests/ember_debug/profile-manager-test.js +142 -169
  415. package/tests/ember_debug/profile-node-test.js +4 -4
  416. package/tests/ember_debug/promise-assembler-test.js +13 -10
  417. package/tests/ember_debug/promise-debug-test.js +5 -6
  418. package/tests/ember_debug/route-debug-test.js +8 -7
  419. package/tests/ember_debug/view-debug-test.js +257 -182
  420. package/tests/helpers/{index.js → index.ts} +6 -5
  421. package/tests/helpers/setup-ember-debug-test.js +14 -0
  422. package/tests/index.html +1 -2
  423. package/tests/integration/injection-test.js +14 -15
  424. package/tests/test-adapter.js +15 -15
  425. package/tests/test-helper.js +6 -4
  426. package/tests/unit/check-current-route-test.js +0 -4
  427. package/tests/unit/resizable-columns-test.js +53 -51
  428. package/tests/unit/utils/parse-text-test.js +3 -3
  429. package/tests/unit/utils/search-match-test.js +5 -5
  430. package/tests/unit/utils/type-check-test.js +22 -0
  431. package/tsconfig.json +3 -1
  432. package/types/ember-inspector/index.d.ts +2 -1
  433. package/types/global.d.ts +1 -7
  434. package/.editorconfig +0 -19
  435. package/.ember-cli +0 -15
  436. package/.eslintignore +0 -33
  437. package/.eslintrc.js +0 -86
  438. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  439. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  440. package/.github/dependabot.yml +0 -14
  441. package/.github/pull_request_template.md +0 -4
  442. package/.github/workflows/build.yml +0 -339
  443. package/.github/workflows/plan-release.yml +0 -83
  444. package/.github/workflows/publish.yml +0 -60
  445. package/.prettierignore +0 -25
  446. package/.prettierrc.js +0 -14
  447. package/.release-plan.json +0 -17
  448. package/.stylelintrc.js +0 -3
  449. package/.template-lintrc.js +0 -12
  450. package/.tool-versions +0 -2
  451. package/.watchmanconfig +0 -3
  452. package/app/components/.gitkeep +0 -0
  453. package/app/components/list-content.js +0 -130
  454. package/app/controllers/.gitkeep +0 -0
  455. package/app/controllers/promise-tree.js +0 -130
  456. package/app/helpers/.gitkeep +0 -0
  457. package/app/libs/promise-assembler.js +0 -169
  458. package/app/models/.gitkeep +0 -0
  459. package/app/routes/.gitkeep +0 -0
  460. package/app/routes/model-types.js +0 -47
  461. package/app/routes/promise-tree.js +0 -48
  462. package/app/routes/records.js +0 -55
  463. package/app/routes/render-tree.js +0 -66
  464. package/app/services/adapters/websocket.js +0 -31
  465. package/app/services/layout.js +0 -39
  466. package/app/services/port.js +0 -90
  467. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
  468. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
  469. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  470. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  471. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  472. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  473. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  474. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  475. package/dist/chrome/panes-3-16-0/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
  476. package/dist/chrome/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
  477. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  478. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  479. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  480. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  481. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  482. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  483. package/dist/firefox/panes-3-16-0/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
  484. package/dist/firefox/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
  485. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  486. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  487. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  488. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  489. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  490. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  491. package/dist/websocket/assets/chunk.143.152107b52f1d9b56abd2.js +0 -28
  492. package/dist/websocket/assets/chunk.178.fd17fd3a54b4e3a24554.js +0 -9
  493. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  494. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  495. package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
  496. package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
  497. package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
  498. package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
  499. package/ember_debug/.eslintrc.js +0 -13
  500. package/ember_debug/utils/ember/debug.js +0 -20
  501. package/ember_debug/utils/ember/instrumentation.js +0 -11
  502. package/ember_debug/utils/ember/loader.js +0 -22
  503. package/ember_debug/utils/rsvp.js +0 -20
  504. package/ember_debug/vendor/loader.js +0 -54
  505. package/ember_debug/vendor/startup-wrapper.js +0 -399
  506. package/lib/ui/addon/styles/_object-inspector-toggle.scss +0 -12
  507. package/lib/ui/addon/styles/addon.scss +0 -13
  508. package/lib/ui/addon/styles/toolbar/_icon-button.scss +0 -61
  509. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  510. package/lib/ui/app/components/ui/disclosure.js +0 -1
  511. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  512. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  513. package/lib/ui/app/components/ui/empty-message.js +0 -1
  514. package/lib/ui/app/components/ui/error-page.js +0 -1
  515. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  516. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  517. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  518. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  519. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  520. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  521. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  522. package/lib/ui/app/components/ui/warning-message.js +0 -1
  523. package/lib/ui/index.js +0 -34
  524. package/lib/ui/package.json +0 -13
  525. package/public/assets/fonts/Inter-Bold.woff +0 -0
  526. package/public/assets/fonts/Inter-Bold.woff2 +0 -0
  527. package/public/assets/fonts/Inter-Regular.woff +0 -0
  528. package/public/assets/fonts/Inter-Regular.woff2 +0 -0
  529. package/tests/helpers/trigger-port.js +0 -6
  530. package/tests/unit/.gitkeep +0 -0
  531. /package/app/{app.js → app.ts} +0 -0
  532. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  533. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  534. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  535. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  536. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  537. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  538. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  539. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  540. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  541. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  542. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  543. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  544. /package/app/controllers/{info.js → info.ts} +0 -0
  545. /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
  546. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  547. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  548. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
@@ -1,9 +1,9 @@
1
- import DebugPort from './debug-port';
2
- import SourceMap from 'ember-debug/libs/source-map';
1
+ import DebugPort from './debug-port.js';
2
+ import SourceMap from './libs/source-map';
3
3
 
4
- import { registerDeprecationHandler } from 'ember-debug/utils/ember/debug';
5
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
6
- import { cancel, debounce } from 'ember-debug/utils/ember/runloop';
4
+ import { Debug } from './utils/ember';
5
+ import { guidFor } from './utils/ember/object/internals';
6
+ import { cancel, debounce } from './utils/ember/runloop';
7
7
 
8
8
  export default class extends DebugPort {
9
9
  static {
@@ -32,7 +32,7 @@ export default class extends DebugPort {
32
32
  let stack = source.stackStr;
33
33
  stack = stack.split('\n');
34
34
  stack.unshift(
35
- `Ember Inspector (Deprecation Trace): ${deprecation.message || ''}`
35
+ `Ember Inspector (Deprecation Trace): ${deprecation.message || ''}`,
36
36
  );
37
37
  this.adapter.log(stack.join('\n'));
38
38
  });
@@ -100,8 +100,8 @@ export default class extends DebugPort {
100
100
  (item) =>
101
101
  item.source &&
102
102
  !!item.source.match(
103
- new RegExp(this.emberCliConfig.modulePrefix)
104
- )
103
+ new RegExp(this.emberCliConfig.modulePrefix),
104
+ ),
105
105
  );
106
106
 
107
107
  if (source) {
@@ -114,7 +114,7 @@ export default class extends DebugPort {
114
114
  }
115
115
  },
116
116
  null,
117
- 'ember-inspector'
117
+ 'ember-inspector',
118
118
  );
119
119
  } else {
120
120
  return Promise.resolve(null);
@@ -147,7 +147,7 @@ export default class extends DebugPort {
147
147
  grouped[id] = obj;
148
148
  }
149
149
  let found = obj.sources.find(
150
- (s) => s.stackStr === deprecation.stackStr
150
+ (s) => s.stackStr === deprecation.stackStr,
151
151
  );
152
152
  if (!found) {
153
153
  let stackStr = deprecation.stackStr;
@@ -159,7 +159,7 @@ export default class extends DebugPort {
159
159
  }
160
160
  },
161
161
  null,
162
- 'ember-inspector'
162
+ 'ember-inspector',
163
163
  );
164
164
  }
165
165
  return promise.then(() => {
@@ -168,7 +168,7 @@ export default class extends DebugPort {
168
168
  deprecations.push(obj);
169
169
  }
170
170
  }, null);
171
- })
171
+ }),
172
172
  );
173
173
 
174
174
  promises.then(() => {
@@ -194,7 +194,7 @@ export default class extends DebugPort {
194
194
  }
195
195
 
196
196
  handleDeprecations() {
197
- registerDeprecationHandler((message, options, next) => {
197
+ Debug.registerDeprecationHandler((message, options, next) => {
198
198
  if (!this.adapter) {
199
199
  next(message, options);
200
200
  return;
@@ -253,7 +253,7 @@ export default class extends DebugPort {
253
253
  }
254
254
  if (!this._warned) {
255
255
  this.adapter.warn(
256
- 'Deprecations were detected, see the Ember Inspector deprecations tab for more details.'
256
+ 'Deprecations were detected, see the Ember Inspector deprecations tab for more details.',
257
257
  );
258
258
  this._warned = true;
259
259
  }
@@ -0,0 +1,6 @@
1
+ import loadEmberDebugInWebpage from '../lib/load-ember-debug-in-webpage';
2
+ import { onEmberReady, startInspector } from '../lib/start-inspector';
3
+
4
+ import adapter from '../adapters/basic';
5
+
6
+ loadEmberDebugInWebpage(() => onEmberReady(startInspector(adapter)));
@@ -0,0 +1,6 @@
1
+ import loadEmberDebugInWebpage from '../lib/load-ember-debug-in-webpage';
2
+ import { onEmberReady, startInspector } from '../lib/start-inspector';
3
+
4
+ import adapter from '../adapters/bookmarklet';
5
+
6
+ loadEmberDebugInWebpage(() => onEmberReady(startInspector(adapter)));
@@ -0,0 +1,6 @@
1
+ import loadEmberDebugInWebpage from '../lib/load-ember-debug-in-webpage';
2
+ import { onEmberReady, startInspector } from '../lib/start-inspector';
3
+
4
+ import adapter from '../adapters/chrome';
5
+
6
+ loadEmberDebugInWebpage(() => onEmberReady(startInspector(adapter)));
@@ -0,0 +1,6 @@
1
+ import loadEmberDebugInWebpage from '../lib/load-ember-debug-in-webpage';
2
+ import { onEmberReady, startInspector } from '../lib/start-inspector';
3
+
4
+ import adapter from '../adapters/firefox';
5
+
6
+ loadEmberDebugInWebpage(() => onEmberReady(startInspector(adapter)));
@@ -0,0 +1,6 @@
1
+ import loadEmberDebugInWebpage from '../lib/load-ember-debug-in-webpage';
2
+ import { onEmberReady, startInspector } from '../lib/start-inspector';
3
+
4
+ import adapter from '../adapters/websocket';
5
+
6
+ loadEmberDebugInWebpage(() => onEmberReady(startInspector(adapter)));
@@ -1,7 +1,7 @@
1
1
  /* eslint no-empty:0 */
2
- import DebugPort from './debug-port';
2
+ import DebugPort from './debug-port.js';
3
3
 
4
- import Ember from 'ember-debug/utils/ember';
4
+ import { libraries } from './utils/ember';
5
5
 
6
6
  /**
7
7
  * Class that handles gathering general information of the inspected app.
@@ -22,7 +22,7 @@ export default class extends DebugPort {
22
22
  if (found) {
23
23
  try {
24
24
  return JSON.parse(unescape(found.getAttribute('content')));
25
- } catch (e) {}
25
+ } catch {}
26
26
  }
27
27
  }
28
28
 
@@ -88,7 +88,7 @@ export default class extends DebugPort {
88
88
  */
89
89
  getLibraries() {
90
90
  this.sendMessage('libraries', {
91
- libraries: Ember.libraries?._registry,
91
+ libraries: libraries?._registry,
92
92
  });
93
93
  },
94
94
 
@@ -0,0 +1,9 @@
1
+ export default function bootEmberInspector(appInstance) {
2
+ appInstance.application.__inspector__booted = true;
3
+ appInstance.__inspector__booted = true;
4
+
5
+ // Boot the inspector (or re-boot if already booted, for example in tests)
6
+ window.EmberInspector._application = appInstance.application;
7
+ window.EmberInspector.owner = appInstance;
8
+ window.EmberInspector.start(true);
9
+ }
@@ -0,0 +1,27 @@
1
+ /* eslint-disable ember/new-module-imports */
2
+ /**
3
+ * Get all the Ember.Application instances from Ember.Namespace.NAMESPACES
4
+ * and add our own applicationId and applicationName to them
5
+ * @return {*}
6
+ */
7
+ export default function getApplications(Ember) {
8
+ var namespaces = Ember.A(Ember.Namespace.NAMESPACES);
9
+
10
+ var apps = namespaces.filter(function (namespace) {
11
+ return namespace instanceof Ember.Application;
12
+ });
13
+
14
+ return apps.map(function (app) {
15
+ // Add applicationId and applicationName to the app
16
+ var applicationId = Ember.guidFor(app);
17
+ var applicationName =
18
+ app.name || app.modulePrefix || `(unknown app - ${applicationId})`;
19
+
20
+ Object.assign(app, {
21
+ applicationId,
22
+ applicationName,
23
+ });
24
+
25
+ return app;
26
+ });
27
+ }
@@ -0,0 +1,30 @@
1
+ export default function loadEmberDebugInWebpage(callback) {
2
+ const waitForEmberLoad = new Promise((resolve) => {
3
+ if (window.requireModule) {
4
+ const has =
5
+ window.requireModule.has ||
6
+ function has(id) {
7
+ return !!(
8
+ window.requireModule.entries[id] ||
9
+ window.requireModule.entries[id + '/index']
10
+ );
11
+ };
12
+ if (has('ember')) {
13
+ return resolve();
14
+ }
15
+ }
16
+
17
+ /**
18
+ * NOTE: if the above (for some reason) fails and the consuming app has
19
+ * deprecation-workflow's throwOnUnhandled: true
20
+ * or set \`ember-global\`'s handler to 'throw'
21
+ * and is using at least \`ember-source@3.27\`
22
+ *
23
+ * this will throw an exception in the consuming project
24
+ */
25
+ if (window.Ember) return resolve();
26
+
27
+ window.addEventListener('Ember', resolve, { once: true });
28
+ });
29
+ waitForEmberLoad.then(callback);
30
+ }
@@ -0,0 +1,14 @@
1
+ export default function sendApps(adapter, apps) {
2
+ const serializedApps = apps.map((app) => {
3
+ return {
4
+ applicationName: app.applicationName,
5
+ applicationId: app.applicationId,
6
+ };
7
+ });
8
+
9
+ adapter.sendMessage({
10
+ type: 'apps-loaded',
11
+ apps: serializedApps,
12
+ from: 'inspectedWindow',
13
+ });
14
+ }
@@ -0,0 +1,39 @@
1
+ /* eslint-disable ember/new-module-imports */
2
+ let channel = new MessageChannel();
3
+ let port = channel.port1;
4
+ window.postMessage('debugger-client', '*', [channel.port2]);
5
+
6
+ let registeredMiss = false;
7
+
8
+ /**
9
+ * This function is called if the app's Ember version
10
+ * is not supported by this version of the inspector.
11
+ *
12
+ * It sends a message to the inspector app to redirect
13
+ * to an inspector version that supports this Ember version.
14
+ */
15
+ export default function sendVersionMiss(Ember) {
16
+ if (registeredMiss) {
17
+ return;
18
+ }
19
+
20
+ registeredMiss = true;
21
+
22
+ port.addEventListener('message', (message) => {
23
+ if (message.type === 'check-version') {
24
+ sendVersionMismatch();
25
+ }
26
+ });
27
+
28
+ sendVersionMismatch();
29
+
30
+ port.start();
31
+
32
+ function sendVersionMismatch() {
33
+ port.postMessage({
34
+ name: 'version-mismatch',
35
+ version: Ember.VERSION,
36
+ from: 'inspectedWindow',
37
+ });
38
+ }
39
+ }
@@ -0,0 +1,16 @@
1
+ /* eslint-disable ember/new-module-imports */
2
+ export default function setupInstanceInitializer(Ember, app, callback) {
3
+ if (!app.__inspector__setup) {
4
+ app.__inspector__setup = true;
5
+
6
+ // We include the app's guid in the initializer name because in Ember versions < 3
7
+ // registering an instance initializer with the same name, even if on a different app,
8
+ // triggers an error because instance initializers seem to be global instead of per app.
9
+ app.instanceInitializer({
10
+ name: 'ember-inspector-app-instance-booted-' + Ember.guidFor(app),
11
+ initialize: function (instance) {
12
+ callback(instance);
13
+ },
14
+ });
15
+ }
16
+ }
@@ -0,0 +1,211 @@
1
+ /* eslint-disable ember/new-module-imports, ember/no-test-import-export */
2
+
3
+ import versionTest from './version-test';
4
+ import { EMBER_VERSIONS_SUPPORTED } from './versions';
5
+ import sendApps from './send-apps';
6
+ import getApplications from './get-applications';
7
+ import bootEmberInspector from './boot-ember-inspector';
8
+ import setupInstanceInitializer from './setup-instance-initializer';
9
+ import sendVersionMiss from './send-version-miss';
10
+
11
+ let Ember;
12
+
13
+ function onReady(callback) {
14
+ if (
15
+ document.readyState === 'complete' ||
16
+ document.readyState === 'interactive'
17
+ ) {
18
+ setTimeout(completed);
19
+ } else {
20
+ document.addEventListener('DOMContentLoaded', completed, false);
21
+ // For some reason DOMContentLoaded doesn't always work
22
+ window.addEventListener('load', completed, false);
23
+ }
24
+
25
+ function completed() {
26
+ document.removeEventListener('DOMContentLoaded', completed, false);
27
+ window.removeEventListener('load', completed, false);
28
+ callback();
29
+ }
30
+ }
31
+
32
+ export function onEmberReady(callback) {
33
+ var triggered = false;
34
+ var triggerOnce = function () {
35
+ if (triggered) {
36
+ return;
37
+ }
38
+
39
+ if (!Ember) {
40
+ try {
41
+ Ember = requireModule('ember/barrel')['default'];
42
+ } catch {
43
+ // noop
44
+ }
45
+ try {
46
+ Ember = Ember || requireModule('ember')['default'];
47
+ } catch {
48
+ Ember = window.Ember;
49
+ }
50
+ }
51
+
52
+ if (!Ember) {
53
+ return;
54
+ }
55
+ // `Ember.Application` load hook triggers before all of Ember is ready.
56
+ // In this case we ignore and wait for the `Ember` load hook.
57
+ if (!Ember.RSVP) {
58
+ return;
59
+ }
60
+ triggered = true;
61
+ callback();
62
+ };
63
+
64
+ // Newest Ember versions >= 1.10
65
+
66
+ const later = () => setTimeout(triggerOnce, 0);
67
+ window.addEventListener('Ember', later, { once: true });
68
+ // Oldest Ember versions or if this was injected after Ember has loaded.
69
+ onReady(triggerOnce);
70
+ }
71
+
72
+ export function startInspector(adapter) {
73
+ // There's probably a better way
74
+ // to determine when the application starts
75
+ // but this definitely works
76
+ function onApplicationStart(callback) {
77
+ if (typeof Ember === 'undefined') {
78
+ return;
79
+ }
80
+
81
+ const adapterInstance = new adapter();
82
+
83
+ adapterInstance.onMessageReceived(function (message) {
84
+ if (message.type === 'app-picker-loaded') {
85
+ sendApps(adapterInstance, getApplications(Ember));
86
+ }
87
+
88
+ if (message.type === 'app-selected') {
89
+ let current = window.EmberInspector._application;
90
+ let selected = getApplications(Ember).find(
91
+ (app) => Ember.guidFor(app) === message.applicationId,
92
+ );
93
+
94
+ if (
95
+ selected &&
96
+ current !== selected &&
97
+ selected.__deprecatedInstance__
98
+ ) {
99
+ bootEmberInspector(selected.__deprecatedInstance__);
100
+ }
101
+ }
102
+ });
103
+
104
+ var apps = getApplications(Ember);
105
+
106
+ sendApps(adapterInstance, apps);
107
+
108
+ function loadInstance(app) {
109
+ const applicationInstances = app._applicationInstances && [
110
+ ...app._applicationInstances,
111
+ ];
112
+ let instance = app.__deprecatedInstance__ || applicationInstances[0];
113
+ if (instance) {
114
+ // App started
115
+ setupInstanceInitializer(Ember, app, callback);
116
+ callback(instance);
117
+ return true;
118
+ }
119
+ }
120
+
121
+ var app;
122
+ for (var i = 0, l = apps.length; i < l; i++) {
123
+ app = apps[i];
124
+ // We check for the existance of an application instance because
125
+ // in Ember > 3 tests don't destroy the app when they're done but the app has no booted instances.
126
+ if (app._readinessDeferrals === 0) {
127
+ if (loadInstance(app)) {
128
+ break;
129
+ }
130
+ }
131
+
132
+ // app already run initializers, but no instance, use _bootPromise and didBecomeReady
133
+ if (app._bootPromise) {
134
+ app._bootPromise.then((app) => {
135
+ loadInstance(app);
136
+ });
137
+ }
138
+
139
+ app.reopen({
140
+ didBecomeReady() {
141
+ this._super.apply(this, arguments);
142
+ setTimeout(() => loadInstance(app), 0);
143
+ },
144
+ });
145
+ }
146
+ Ember.Application.initializer({
147
+ name: 'ember-inspector-booted',
148
+ initialize: function (app) {
149
+ setupInstanceInitializer(app, callback);
150
+ },
151
+ });
152
+ }
153
+
154
+ return async function startInspector() {
155
+ // global to prevent injection
156
+ if (window.NO_EMBER_DEBUG) {
157
+ return;
158
+ }
159
+
160
+ // If Ember doesn't exist, we should stop here to avoid issues with accessing `Ember.VERSION`
161
+ if (!Ember) {
162
+ return;
163
+ }
164
+
165
+ if (!versionTest(Ember.VERSION, EMBER_VERSIONS_SUPPORTED)) {
166
+ // Wrong inspector version. Redirect to the correct version.
167
+ sendVersionMiss(Ember);
168
+ return;
169
+ }
170
+
171
+ // prevent from injecting twice
172
+ if (!window.EmberInspector) {
173
+ let emberDebugMainModule = (await import('../main')).default;
174
+ if (!emberDebugMainModule) {
175
+ return;
176
+ }
177
+ window.EmberInspector = emberDebugMainModule;
178
+ window.EmberInspector.Adapter = adapter;
179
+
180
+ onApplicationStart(function appStarted(instance) {
181
+ let app = instance.application;
182
+ if (!('__inspector__booted' in app)) {
183
+ // Watch for app reset/destroy
184
+ app.reopen({
185
+ reset: function () {
186
+ this.__inspector__booted = false;
187
+ this._super.apply(this, arguments);
188
+ },
189
+ });
190
+ }
191
+
192
+ if (instance && !('__inspector__booted' in instance)) {
193
+ instance.reopen({
194
+ // Clean up on instance destruction
195
+ willDestroy() {
196
+ if (window.EmberInspector.owner === instance) {
197
+ window.EmberInspector.destroyContainer();
198
+ window.EmberInspector.clear();
199
+ }
200
+ return this._super.apply(this, arguments);
201
+ },
202
+ });
203
+
204
+ if (!window.EmberInspector._application) {
205
+ setTimeout(() => bootEmberInspector(instance), 0);
206
+ }
207
+ }
208
+ });
209
+ }
210
+ };
211
+ }
@@ -0,0 +1,73 @@
1
+ /* eslint-disable ember/no-test-import-export */
2
+
3
+ /**
4
+ * @method compare
5
+ * @param {Number} val
6
+ * @param {Number} number
7
+ * @return {Number}
8
+ * 0: same
9
+ * -1: <
10
+ * 1: >
11
+ */
12
+ function compare(val, number) {
13
+ if (val === number) {
14
+ return 0;
15
+ } else if (val < number) {
16
+ return -1;
17
+ } else if (val > number) {
18
+ return 1;
19
+ }
20
+ }
21
+
22
+ /**
23
+ * Remove -alpha, -beta, etc from versions
24
+ *
25
+ * @param {String} version
26
+ * @return {String} The cleaned up version
27
+ */
28
+ function cleanupVersion(version) {
29
+ return version.replace(/-.*/g, '');
30
+ }
31
+
32
+ /**
33
+ * Compares two Ember versions.
34
+ *
35
+ * Returns:
36
+ * `-1` if version1 < version
37
+ * 0 if version1 == version2
38
+ * 1 if version1 > version2
39
+ *
40
+ * @param {String} version1
41
+ * @param {String} version2
42
+ * @return {Boolean} result of the comparison
43
+ */
44
+ function compareVersion(version1, version2) {
45
+ let compared, i;
46
+ version1 = cleanupVersion(version1).split('.');
47
+ version2 = cleanupVersion(version2).split('.');
48
+ for (i = 0; i < 3; i++) {
49
+ compared = compare(+version1[i], +version2[i]);
50
+ if (compared !== 0) {
51
+ return compared;
52
+ }
53
+ }
54
+ return 0;
55
+ }
56
+
57
+ /**
58
+ * Checks if a version is between two different versions.
59
+ * version should be >= left side, < right side
60
+ *
61
+ * @param {String} version1
62
+ * @param {String} version2
63
+ * @return {Boolean}
64
+ */
65
+ export default function versionTest(version, between) {
66
+ var fromVersion = between[0];
67
+ var toVersion = between[1];
68
+
69
+ if (compareVersion(version, fromVersion) === -1) {
70
+ return false;
71
+ }
72
+ return !toVersion || compareVersion(version, toVersion) === -1;
73
+ }
@@ -0,0 +1,3 @@
1
+ export const EMBER_VERSIONS_SUPPORTED = ['3.16.0', ''];
2
+
3
+ export const PREVIOUS_EMBER_VERSIONS_SUPPORTED = ['0.0.0', '2.7.0', '3.4.0'];
@@ -1,6 +1,5 @@
1
- import { captureRenderTree, getEnv } from 'ember-debug/utils/ember';
1
+ import { captureRenderTree, getEnv } from '../utils/ember';
2
2
 
3
- /* eslint-disable no-console, no-inner-declarations */
4
3
  let capture = captureRenderTree;
5
4
  // Ember 3.14+ comes with debug render tree, but the version in 3.14.0/3.14.1 is buggy
6
5
  if (captureRenderTree) {
@@ -5,10 +5,10 @@
5
5
  and Yapp Labs (@yapplabs).
6
6
  */
7
7
 
8
- import Promise from 'ember-debug/models/promise';
9
- import RSVP from 'ember-debug/utils/rsvp';
10
- import BaseObject from 'ember-debug/utils/base-object';
11
- import Evented from 'ember-debug/utils/evented';
8
+ import Promise from '../models/promise';
9
+ import { RSVP } from '../utils/ember';
10
+ import BaseObject from '../utils/base-object';
11
+ import Evented from '../utils/evented';
12
12
 
13
13
  class PromiseAssembler extends BaseObject {
14
14
  // RSVP lib to debug
@@ -23,6 +23,7 @@ class PromiseAssembler extends BaseObject {
23
23
  Evented.applyTo(this);
24
24
  }
25
25
 
26
+ // eslint-disable-next-line ember/classic-decorator-hooks
26
27
  init() {
27
28
  super.init();
28
29
  this.all = [];