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,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,28 @@
1
+ import { Application, Namespace, guidFor } from '../utils/ember';
2
+
3
+ /**
4
+ * Get all the Ember.Application instances from Ember.Namespace.NAMESPACES
5
+ * and add our own applicationId and applicationName to them
6
+ * @return {*}
7
+ */
8
+ export default function getApplications() {
9
+ var namespaces = Namespace.NAMESPACES;
10
+
11
+ var apps = namespaces.filter(function (namespace) {
12
+ return namespace instanceof Application;
13
+ });
14
+
15
+ return apps.map(function (app) {
16
+ // Add applicationId and applicationName to the app
17
+ var applicationId = guidFor(app);
18
+ var applicationName =
19
+ app.name || app.modulePrefix || `(unknown app - ${applicationId})`;
20
+
21
+ Object.assign(app, {
22
+ applicationId,
23
+ applicationName,
24
+ });
25
+
26
+ return app;
27
+ });
28
+ }
@@ -0,0 +1,32 @@
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
+ if (globalThis.emberInspectorApps) return resolve();
28
+
29
+ window.addEventListener('Ember', resolve, { once: true });
30
+ });
31
+ waitForEmberLoad.then(callback);
32
+ }
@@ -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,38 @@
1
+ let channel = new MessageChannel();
2
+ let port = channel.port1;
3
+ window.postMessage('debugger-client', '*', [channel.port2]);
4
+
5
+ let registeredMiss = false;
6
+
7
+ /**
8
+ * This function is called if the app's Ember version
9
+ * is not supported by this version of the inspector.
10
+ *
11
+ * It sends a message to the inspector app to redirect
12
+ * to an inspector version that supports this Ember version.
13
+ */
14
+ export default function sendVersionMiss(VERSION) {
15
+ if (registeredMiss) {
16
+ return;
17
+ }
18
+
19
+ registeredMiss = true;
20
+
21
+ port.addEventListener('message', (message) => {
22
+ if (message.type === 'check-version') {
23
+ sendVersionMismatch();
24
+ }
25
+ });
26
+
27
+ sendVersionMismatch();
28
+
29
+ port.start();
30
+
31
+ function sendVersionMismatch() {
32
+ port.postMessage({
33
+ name: 'version-mismatch',
34
+ version: VERSION,
35
+ from: 'inspectedWindow',
36
+ });
37
+ }
38
+ }
@@ -0,0 +1,17 @@
1
+ import { guidFor } from '../utils/ember';
2
+
3
+ export default function setupInstanceInitializer(app, callback) {
4
+ if (!app.__inspector__setup) {
5
+ app.__inspector__setup = true;
6
+
7
+ // We include the app's guid in the initializer name because in Ember versions < 3
8
+ // registering an instance initializer with the same name, even if on a different app,
9
+ // triggers an error because instance initializers seem to be global instead of per app.
10
+ app.instanceInitializer({
11
+ name: 'ember-inspector-app-instance-booted-' + guidFor(app),
12
+ initialize: function (instance) {
13
+ callback(instance);
14
+ },
15
+ });
16
+ }
17
+ }
@@ -0,0 +1,195 @@
1
+ /* eslint-disable ember/no-test-import-export */
2
+ import versionTest from './version-test';
3
+ import { EMBER_VERSIONS_SUPPORTED } from './versions';
4
+ import sendApps from './send-apps';
5
+ import getApplications from './get-applications';
6
+ import bootEmberInspector from './boot-ember-inspector';
7
+ import setupInstanceInitializer from './setup-instance-initializer';
8
+ import sendVersionMiss from './send-version-miss';
9
+ import { guidFor, Application, VERSION } from '../utils/ember';
10
+
11
+ function onReady(callback) {
12
+ if (
13
+ document.readyState === 'complete' ||
14
+ document.readyState === 'interactive'
15
+ ) {
16
+ setTimeout(completed);
17
+ } else {
18
+ document.addEventListener('DOMContentLoaded', completed, false);
19
+ // For some reason DOMContentLoaded doesn't always work
20
+ window.addEventListener('load', completed, false);
21
+ }
22
+
23
+ function completed() {
24
+ document.removeEventListener('DOMContentLoaded', completed, false);
25
+ window.removeEventListener('load', completed, false);
26
+ callback();
27
+ }
28
+ }
29
+
30
+ export function onEmberReady(callback) {
31
+ var triggered = false;
32
+ var triggerOnce = function () {
33
+ if (triggered) {
34
+ return;
35
+ }
36
+
37
+ triggered = true;
38
+ callback();
39
+ };
40
+
41
+ // Newest Ember versions >= 1.10
42
+
43
+ const later = () => setTimeout(triggerOnce, 0);
44
+ window.addEventListener('Ember', later, { once: true });
45
+ // Oldest Ember versions or if this was injected after Ember has loaded.
46
+ onReady(triggerOnce);
47
+ }
48
+
49
+ export function startInspector(adapter) {
50
+ // There's probably a better way
51
+ // to determine when the application starts
52
+ // but this definitely works
53
+ function onApplicationStart(callback) {
54
+ const adapterInstance = new adapter();
55
+
56
+ adapterInstance.onMessageReceived(function (message) {
57
+ if (message.type === 'app-picker-loaded') {
58
+ sendApps(adapterInstance, getApplications());
59
+ }
60
+
61
+ if (message.type === 'app-selected') {
62
+ let current = window.EmberInspector._application;
63
+ let selected = getApplications().find(
64
+ (app) => guidFor(app) === message.applicationId,
65
+ );
66
+
67
+ if (
68
+ selected &&
69
+ current !== selected &&
70
+ selected.__deprecatedInstance__
71
+ ) {
72
+ bootEmberInspector(selected.__deprecatedInstance__);
73
+ }
74
+ }
75
+ });
76
+
77
+ var apps = getApplications();
78
+
79
+ sendApps(adapterInstance, apps);
80
+
81
+ function loadInstance(app) {
82
+ const applicationInstances = app._applicationInstances && [
83
+ ...app._applicationInstances,
84
+ ];
85
+ let instance = app.__deprecatedInstance__ || applicationInstances[0];
86
+ if (instance) {
87
+ // App started
88
+ setupInstanceInitializer(app, callback);
89
+ callback(instance);
90
+ return true;
91
+ }
92
+ }
93
+
94
+ var app;
95
+ for (var i = 0, l = apps.length; i < l; i++) {
96
+ app = apps[i];
97
+ // We check for the existance of an application instance because
98
+ // in Ember > 3 tests don't destroy the app when they're done but the app has no booted instances.
99
+ if (app._readinessDeferrals === 0) {
100
+ if (loadInstance(app)) {
101
+ break;
102
+ }
103
+ }
104
+
105
+ // app already run initializers, but no instance, use _bootPromise and didBecomeReady
106
+ if (app._bootPromise) {
107
+ app._bootPromise.then((app) => {
108
+ loadInstance(app);
109
+ });
110
+ }
111
+
112
+ app.reopen({
113
+ didBecomeReady() {
114
+ this._super.apply(this, arguments);
115
+ setTimeout(() => loadInstance(app), 0);
116
+ },
117
+ });
118
+ }
119
+ Application.initializer({
120
+ name: 'ember-inspector-booted',
121
+ initialize: function (app) {
122
+ setupInstanceInitializer(app, callback);
123
+ },
124
+ });
125
+ }
126
+
127
+ return async function startInspector() {
128
+ // global to prevent injection
129
+ if (window.NO_EMBER_DEBUG) {
130
+ return;
131
+ }
132
+
133
+ /**
134
+ * If we don't have a way to know the Ember version at this point
135
+ * because the Ember app has not loaded and provided it somehow,
136
+ * we can't continue (we need the version to know what version of
137
+ * the Inspector to load).
138
+ */
139
+ if (!VERSION) {
140
+ return;
141
+ }
142
+
143
+ /**
144
+ * This is used to redirect to an old snapshot of the Inspector if the
145
+ * inspected app uses an older Ember version than supported versions.
146
+ * The code fits the Inspector supporting Ember back to 3.16: any version
147
+ * before 3.16 is necessarily a classic Ember app with Ember defined.
148
+ */
149
+ if ((VERSION, !versionTest(VERSION, EMBER_VERSIONS_SUPPORTED))) {
150
+ // Wrong inspector version. Redirect to the correct version.
151
+ sendVersionMiss(VERSION);
152
+ return;
153
+ }
154
+
155
+ // prevent from injecting twice
156
+ if (!window.EmberInspector) {
157
+ let emberDebugMainModule = (await import('../main')).default;
158
+ if (!emberDebugMainModule) {
159
+ return;
160
+ }
161
+ window.EmberInspector = emberDebugMainModule;
162
+ window.EmberInspector.Adapter = adapter;
163
+
164
+ onApplicationStart(function appStarted(instance) {
165
+ let app = instance.application;
166
+ if (!('__inspector__booted' in app)) {
167
+ // Watch for app reset/destroy
168
+ app.reopen({
169
+ reset: function () {
170
+ this.__inspector__booted = false;
171
+ this._super.apply(this, arguments);
172
+ },
173
+ });
174
+ }
175
+
176
+ if (instance && !('__inspector__booted' in instance)) {
177
+ instance.reopen({
178
+ // Clean up on instance destruction
179
+ willDestroy() {
180
+ if (window.EmberInspector.owner === instance) {
181
+ window.EmberInspector.destroyContainer();
182
+ window.EmberInspector.clear();
183
+ }
184
+ return this._super.apply(this, arguments);
185
+ },
186
+ });
187
+
188
+ if (!window.EmberInspector._application) {
189
+ setTimeout(() => bootEmberInspector(instance), 0);
190
+ }
191
+ }
192
+ });
193
+ }
194
+ };
195
+ }
@@ -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 = [];
@@ -1,41 +1,37 @@
1
- import captureRenderTree from './capture-render-tree';
2
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
3
- import { EmberLoader, emberSafeRequire } from 'ember-debug/utils/ember/loader';
4
- import { inspect } from 'ember-debug/utils/type-check';
5
- import { isInVersionSpecifier } from 'ember-debug/utils/version';
6
- import { VERSION } from 'ember-debug/utils/ember';
1
+ import captureRenderTree from './capture-render-tree.js';
2
+ import { guidFor } from '../utils/ember/object/internals';
3
+ import { inspect } from '../utils/type-check';
4
+ import { isInVersionSpecifier } from '../utils/version';
5
+ import {
6
+ VERSION,
7
+ EmberDestroyable,
8
+ GlimmerManager,
9
+ GlimmerReference,
10
+ GlimmerRuntime,
11
+ GlimmerUtil,
12
+ } from '../utils/ember';
7
13
 
8
14
  class InElementSupportProvider {
9
15
  constructor(owner) {
10
16
  this.nodeMap = new Map();
11
17
  this.remoteRoots = [];
12
- this.runtime = this.require('@glimmer/runtime');
13
- this.reference = this.require('@glimmer/reference');
14
- try {
15
- this.Wormhole = requireModule('ember-wormhole/components/ember-wormhole');
16
- } catch (e) {
17
- // nope
18
- }
18
+ this.runtime = GlimmerRuntime;
19
+ this.reference = GlimmerReference;
19
20
 
20
- try {
21
- requireModule(
22
- '@glimmer/manager'
23
- ).CustomModifierManager.prototype.getDebugInstance = (args) =>
24
- args.modifier || args.delegate;
25
- } catch (e) {
26
- // nope
21
+ if (GlimmerManager) {
22
+ GlimmerManager.CustomModifierManager.prototype.getDebugInstance = (
23
+ args,
24
+ ) => args.modifier || args.delegate;
27
25
  }
28
26
 
29
- this.DESTROY = emberSafeRequire('@glimmer/util')?.DESTROY;
30
- this.registerDestructor =
31
- emberSafeRequire('@glimmer/destroyable')?.registerDestructor ||
32
- emberSafeRequire('@ember/destroyable')?.registerDestructor ||
33
- emberSafeRequire('@ember/runtime')?.registerDestructor;
27
+ this.DESTROY = GlimmerUtil?.DESTROY;
28
+ this.registerDestructor = EmberDestroyable?.registerDestructor;
34
29
 
35
30
  this.debugRenderTree =
36
31
  owner.lookup('renderer:-dom')?.debugRenderTree ||
37
32
  owner.lookup('service:-glimmer-environment')._debugRenderTree;
38
- this.NewElementBuilder = this.runtime.NewElementBuilder;
33
+ this.NewElementBuilder =
34
+ this.runtime.NewElementBuilder || this.runtime.NewTreeBuilder;
39
35
 
40
36
  this.patch();
41
37
  }
@@ -56,7 +52,7 @@ class InElementSupportProvider {
56
52
  !isInVersionSpecifier('>5.9.0', VERSION);
57
53
  const hasModifierAndInElementSupport = isInVersionSpecifier(
58
54
  '>5.9.0',
59
- VERSION
55
+ VERSION,
60
56
  );
61
57
 
62
58
  function createRef(value) {
@@ -151,7 +147,7 @@ class InElementSupportProvider {
151
147
  if (!name) {
152
148
  try {
153
149
  name = modifier.manager?.getDebugName?.();
154
- } catch (e) {
150
+ } catch {
155
151
  // failed
156
152
  }
157
153
  name = name || 'unknown-modifier';
@@ -175,12 +171,12 @@ class InElementSupportProvider {
175
171
  if (!self.reference.createUnboundRef) {
176
172
  try {
177
173
  named = modifierState?.args?.named?.constructor;
178
- } catch (e) {
174
+ } catch {
179
175
  //
180
176
  }
181
177
  try {
182
178
  named = named || modifierState?.args?.named?.map;
183
- } catch (e) {
179
+ } catch {
184
180
  //
185
181
  }
186
182
  }
@@ -213,7 +209,7 @@ class InElementSupportProvider {
213
209
  NewElementBuilder.prototype.pushRemoteElement = function (
214
210
  element,
215
211
  guid,
216
- insertBefore
212
+ insertBefore,
217
213
  ) {
218
214
  const ref = createRef(element);
219
215
  const capturedArgs = {
@@ -285,16 +281,10 @@ class InElementSupportProvider {
285
281
  Object.assign(this.debugRenderTree, this.debugRenderTreeFunctions);
286
282
  Object.assign(
287
283
  this.NewElementBuilder.prototype,
288
- this.NewElementBuilderFunctions
284
+ this.NewElementBuilderFunctions,
289
285
  );
290
286
  this.NewElementBuilderFunctions = null;
291
287
  }
292
-
293
- require(req) {
294
- return requireModule.has(req)
295
- ? requireModule(req)
296
- : EmberLoader.require(req);
297
- }
298
288
  }
299
289
 
300
290
  export default class RenderTree {
@@ -412,7 +402,7 @@ export default class RenderTree {
412
402
 
413
403
  renderNode = this._matchRenderNodes(
414
404
  [...hints, ...remoteRoots, ...this.tree],
415
- node
405
+ node,
416
406
  );
417
407
 
418
408
  if (renderNode) {
@@ -612,9 +602,11 @@ export default class RenderTree {
612
602
  this.inElementSupport?.remoteRoots.push(node);
613
603
  }
614
604
 
605
+ // EmberWormhole component from ember-wormhole was used to provide
606
+ // rendering into a given DOM element prior to built-in in-element.
615
607
  if (
616
- this.inElementSupport?.Wormhole &&
617
- node.instance instanceof this.inElementSupport.Wormhole.default
608
+ node.template ===
609
+ 'ember-wormhole/templates/components/ember-wormhole.hbs'
618
610
  ) {
619
611
  this.inElementSupport?.remoteRoots.push(node);
620
612
  const bounds = node.bounds;
@@ -642,10 +634,11 @@ export default class RenderTree {
642
634
  node.args.named[attr.nodeName] = attr.nodeValue;
643
635
  });
644
636
  // move modifiers and components into the element children
637
+
645
638
  parentNode.children.forEach((child) => {
646
639
  if (
647
- child.bounds.parentElement === node.instance ||
648
- child.meta?.parentElement === node.instance ||
640
+ node.instance.contains(child.bounds.parentElement) ||
641
+ node.instance.contains(child.meta?.parentElement) ||
649
642
  (child.type === 'modifier' &&
650
643
  child.bounds.firstNode === node.instance)
651
644
  ) {
@@ -672,7 +665,7 @@ export default class RenderTree {
672
665
  }
673
666
  node.instance = this._createSimpleInstance(
674
667
  'TemplateOnlyComponent',
675
- node.args.named
668
+ node.args.named,
676
669
  );
677
670
  }
678
671
 
@@ -1,8 +1,9 @@
1
- import BaseObject from 'ember-debug/utils/base-object';
2
- import * as SourceMap from 'ember-debug/deps/source-map';
1
+ import BaseObject from '../utils/base-object';
2
+ import * as SourceMap from 'source-map-js';
3
3
  const notFoundError = new Error('Source map url not found');
4
4
 
5
5
  export default class extends BaseObject {
6
+ // eslint-disable-next-line ember/classic-decorator-hooks
6
7
  init() {
7
8
  super.init();
8
9
  this._lastPromise = Promise.resolve(undefined);
@@ -62,7 +63,7 @@ export default class extends BaseObject {
62
63
  function () {
63
64
  sourceMaps[url] = null;
64
65
  },
65
- 'ember-inspector'
66
+ 'ember-inspector',
66
67
  );
67
68
  }
68
69
  }
@@ -81,7 +82,7 @@ function retrieveSourceMap(source) {
81
82
  return mapURL;
82
83
  },
83
84
  null,
84
- 'ember-inspector'
85
+ 'ember-inspector',
85
86
  )
86
87
  .then(retrieveFile, null, 'ember-inspector')
87
88
  .then(
@@ -95,7 +96,7 @@ function retrieveSourceMap(source) {
95
96
  };
96
97
  },
97
98
  null,
98
- 'ember-inspector'
99
+ 'ember-inspector',
99
100
  );
100
101
  }
101
102
 
@@ -142,7 +143,7 @@ function retrieveSourceMapURL(source) {
142
143
  return url;
143
144
  },
144
145
  null,
145
- 'ember-inspector'
146
+ 'ember-inspector',
146
147
  );
147
148
  }
148
149