ember-inspector 4.13.1-alpha.2025.7.8 → 4.13.1-alpha.2025.8.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 (234) hide show
  1. package/app/index.html +1 -1
  2. package/app/styles/app.scss +1 -0
  3. package/dist/bookmarklet/load_inspector.js +1 -0
  4. package/dist/bookmarklet/panes-3-16-0/assets/{chunk.524.da00a6f90eaebf44c4a7.js → chunk.524.659d83812026e721dfd0.js} +4 -4
  5. package/dist/{firefox/panes-3-16-0/assets/chunk.582.1294decb8a46b69a538a.js → bookmarklet/panes-3-16-0/assets/chunk.582.5b4008f88fe48ebd8416.js} +5 -5
  6. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +835 -0
  7. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +42 -4
  8. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +0 -836
  9. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +3967 -4019
  10. package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  11. package/dist/bookmarklet/panes-3-16-0/basic-DfbgtngO.js +144 -0
  12. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +6 -0
  13. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +34 -0
  14. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +12 -0
  15. package/dist/bookmarklet/panes-3-16-0/ember.js +108 -0
  16. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +22 -10646
  17. package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
  18. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +32 -0
  19. package/dist/bookmarklet/panes-3-16-0/index.html +3 -3
  20. package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  21. package/dist/bookmarklet/panes-3-16-0/main.js +7642 -0
  22. package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
  23. package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
  24. package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
  25. package/dist/bookmarklet/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  26. package/dist/bookmarklet/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  27. package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
  28. package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
  29. package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
  30. package/dist/bookmarklet/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  31. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +60 -0
  32. package/dist/chrome/content-script.js +1 -0
  33. package/dist/chrome/manifest.json +3 -3
  34. package/dist/{firefox/panes-3-16-0/assets/chunk.524.da00a6f90eaebf44c4a7.js → chrome/panes-3-16-0/assets/chunk.524.659d83812026e721dfd0.js} +4 -4
  35. package/dist/{bookmarklet/panes-3-16-0/assets/chunk.582.1294decb8a46b69a538a.js → chrome/panes-3-16-0/assets/chunk.582.5b4008f88fe48ebd8416.js} +5 -5
  36. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +835 -0
  37. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +42 -4
  38. package/dist/chrome/panes-3-16-0/assets/vendor.css +0 -836
  39. package/dist/chrome/panes-3-16-0/assets/vendor.js +3967 -4019
  40. package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  41. package/dist/chrome/panes-3-16-0/basic-DfbgtngO.js +144 -0
  42. package/dist/chrome/panes-3-16-0/basic-debug.js +6 -0
  43. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +34 -0
  44. package/dist/chrome/panes-3-16-0/chrome-debug.js +12 -0
  45. package/dist/chrome/panes-3-16-0/ember.js +108 -0
  46. package/dist/chrome/panes-3-16-0/ember_debug.js +12 -10658
  47. package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
  48. package/dist/chrome/panes-3-16-0/firefox-debug.js +32 -0
  49. package/dist/chrome/panes-3-16-0/index.html +3 -3
  50. package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  51. package/dist/chrome/panes-3-16-0/main.js +7642 -0
  52. package/dist/chrome/panes-3-16-0/port.js +108 -0
  53. package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
  54. package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
  55. package/dist/chrome/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  56. package/dist/chrome/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  57. package/dist/chrome/panes-3-16-0/type-check.js +119 -0
  58. package/dist/chrome/panes-3-16-0/version.js +90 -0
  59. package/dist/chrome/panes-3-16-0/versions.js +4 -0
  60. package/dist/chrome/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  61. package/dist/chrome/panes-3-16-0/websocket-debug.js +60 -0
  62. package/dist/firefox/content-script.js +1 -0
  63. package/dist/firefox/manifest.json +3 -3
  64. package/dist/{chrome/panes-3-16-0/assets/chunk.524.da00a6f90eaebf44c4a7.js → firefox/panes-3-16-0/assets/chunk.524.659d83812026e721dfd0.js} +4 -4
  65. package/dist/{websocket/assets/chunk.582.1294decb8a46b69a538a.js → firefox/panes-3-16-0/assets/chunk.582.5b4008f88fe48ebd8416.js} +5 -5
  66. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +835 -0
  67. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +42 -4
  68. package/dist/firefox/panes-3-16-0/assets/vendor.css +0 -836
  69. package/dist/firefox/panes-3-16-0/assets/vendor.js +3967 -4019
  70. package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  71. package/dist/firefox/panes-3-16-0/basic-DfbgtngO.js +144 -0
  72. package/dist/firefox/panes-3-16-0/basic-debug.js +6 -0
  73. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +34 -0
  74. package/dist/firefox/panes-3-16-0/chrome-debug.js +12 -0
  75. package/dist/firefox/panes-3-16-0/ember.js +108 -0
  76. package/dist/firefox/panes-3-16-0/ember_debug.js +28 -10654
  77. package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
  78. package/dist/firefox/panes-3-16-0/firefox-debug.js +32 -0
  79. package/dist/firefox/panes-3-16-0/index.html +3 -3
  80. package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  81. package/dist/firefox/panes-3-16-0/main.js +7642 -0
  82. package/dist/firefox/panes-3-16-0/port.js +108 -0
  83. package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
  84. package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
  85. package/dist/firefox/panes-3-16-0/runloop-CF-Qpqgy.js +1138 -0
  86. package/dist/firefox/panes-3-16-0/start-inspector-BPAW_WLv.js +376 -0
  87. package/dist/firefox/panes-3-16-0/type-check.js +119 -0
  88. package/dist/firefox/panes-3-16-0/version.js +90 -0
  89. package/dist/firefox/panes-3-16-0/versions.js +4 -0
  90. package/dist/firefox/panes-3-16-0/web-extension-C3pMNVSY.js +144 -0
  91. package/dist/firefox/panes-3-16-0/websocket-debug.js +60 -0
  92. package/dist/websocket/assets/{chunk.524.da00a6f90eaebf44c4a7.js → chunk.524.659d83812026e721dfd0.js} +4 -4
  93. package/dist/{chrome/panes-3-16-0/assets/chunk.582.1294decb8a46b69a538a.js → websocket/assets/chunk.582.5b4008f88fe48ebd8416.js} +5 -5
  94. package/dist/websocket/assets/ember-inspector.css +835 -0
  95. package/dist/websocket/assets/ember-inspector.js +42 -4
  96. package/dist/websocket/assets/vendor.css +0 -836
  97. package/dist/websocket/assets/vendor.js +3967 -4019
  98. package/dist/websocket/base-object-HAEdWjmg.js +59 -0
  99. package/dist/websocket/basic-DfbgtngO.js +144 -0
  100. package/dist/websocket/basic-debug.js +6 -0
  101. package/dist/websocket/bookmarklet-debug.js +34 -0
  102. package/dist/websocket/chrome-debug.js +12 -0
  103. package/dist/websocket/ember.js +108 -0
  104. package/dist/websocket/ember_debug.js +36 -10634
  105. package/dist/websocket/evented-BCTya3yE.js +62 -0
  106. package/dist/websocket/firefox-debug.js +32 -0
  107. package/dist/websocket/index.html +3 -3
  108. package/dist/websocket/internals-CRmXMEzb.js +12 -0
  109. package/dist/websocket/main.js +7642 -0
  110. package/dist/websocket/port.js +108 -0
  111. package/dist/websocket/profile-node.js +60 -0
  112. package/dist/websocket/promise-assembler.js +218 -0
  113. package/dist/websocket/runloop-CF-Qpqgy.js +1138 -0
  114. package/dist/websocket/start-inspector-BPAW_WLv.js +376 -0
  115. package/dist/websocket/type-check.js +119 -0
  116. package/dist/websocket/version.js +90 -0
  117. package/dist/websocket/versions.js +4 -0
  118. package/dist/websocket/web-extension-C3pMNVSY.js +144 -0
  119. package/dist/websocket/websocket-debug.js +60 -0
  120. package/ember-cli-build.js +28 -91
  121. package/ember_debug/adapters/basic.js +9 -29
  122. package/ember_debug/adapters/web-extension.js +4 -4
  123. package/ember_debug/adapters/websocket.js +2 -2
  124. package/ember_debug/container-debug.js +1 -1
  125. package/ember_debug/data-debug.js +2 -2
  126. package/ember_debug/debug-port.js +1 -1
  127. package/ember_debug/deprecation-debug.js +6 -6
  128. package/ember_debug/entrypoints/basic-debug.js +6 -0
  129. package/ember_debug/entrypoints/bookmarklet-debug.js +6 -0
  130. package/ember_debug/entrypoints/chrome-debug.js +6 -0
  131. package/ember_debug/entrypoints/firefox-debug.js +6 -0
  132. package/ember_debug/entrypoints/websocket-debug.js +6 -0
  133. package/ember_debug/general-debug.js +3 -3
  134. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  135. package/ember_debug/lib/get-applications.js +27 -0
  136. package/ember_debug/lib/load-ember-debug-in-webpage.js +30 -0
  137. package/ember_debug/lib/send-apps.js +14 -0
  138. package/ember_debug/lib/send-version-miss.js +39 -0
  139. package/ember_debug/lib/setup-instance-initializer.js +16 -0
  140. package/ember_debug/lib/start-inspector.js +211 -0
  141. package/ember_debug/lib/version-test.js +73 -0
  142. package/ember_debug/lib/versions.js +3 -0
  143. package/ember_debug/libs/capture-render-tree.js +1 -1
  144. package/ember_debug/libs/promise-assembler.js +4 -4
  145. package/ember_debug/libs/render-tree.js +5 -5
  146. package/ember_debug/libs/source-map.js +1 -1
  147. package/ember_debug/libs/view-inspection.js +3 -3
  148. package/ember_debug/main.js +17 -20
  149. package/ember_debug/models/profile-manager.js +5 -6
  150. package/ember_debug/models/profile-node.js +1 -1
  151. package/ember_debug/models/promise.js +2 -2
  152. package/ember_debug/object-inspector.js +9 -9
  153. package/ember_debug/package.json +3 -1
  154. package/ember_debug/port.js +4 -4
  155. package/ember_debug/promise-debug.js +4 -4
  156. package/ember_debug/render-debug.js +5 -5
  157. package/ember_debug/rollup.config.js +5 -29
  158. package/ember_debug/route-debug.js +7 -7
  159. package/ember_debug/services/session.js +1 -1
  160. package/ember_debug/utils/ember/object/internals.js +1 -6
  161. package/ember_debug/utils/ember/runloop.js +2 -7
  162. package/ember_debug/utils/ember-object-names.js +2 -2
  163. package/ember_debug/utils/ember.js +72 -28
  164. package/ember_debug/utils/get-object-name.js +1 -1
  165. package/ember_debug/utils/type-check.js +2 -2
  166. package/ember_debug/view-debug.js +4 -4
  167. package/package.json +6 -9
  168. package/skeletons/bookmarklet/load_inspector.js +1 -0
  169. package/skeletons/web-extension/content-script.js +1 -0
  170. package/skeletons/web-extension/manifest.json +3 -3
  171. package/tests/ember_debug/profile-manager-test.js +1 -3
  172. package/tests/index.html +1 -2
  173. package/tests/integration/injection-test.js +3 -3
  174. package/tests/test-helper.js +0 -3
  175. package/ember_debug/utils/ember/debug.js +0 -21
  176. package/ember_debug/utils/ember/instrumentation.js +0 -11
  177. package/ember_debug/utils/rsvp.js +0 -14
  178. package/ember_debug/vendor/loader.js +0 -54
  179. package/ember_debug/vendor/startup-wrapper.js +0 -402
  180. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  181. package/lib/ui/app/components/ui/disclosure.js +0 -1
  182. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  183. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  184. package/lib/ui/app/components/ui/empty-message.js +0 -1
  185. package/lib/ui/app/components/ui/error-page.js +0 -1
  186. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  187. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  188. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  189. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  190. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  191. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  192. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  193. package/lib/ui/app/components/ui/warning-message.js +0 -1
  194. package/lib/ui/index.js +0 -34
  195. package/lib/ui/package.json +0 -13
  196. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  197. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  198. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  199. /package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +0 -0
  200. /package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +0 -0
  201. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  202. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  203. /package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +0 -0
  204. /package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +0 -0
  205. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  206. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  207. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  208. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +0 -0
  209. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  210. /package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +0 -0
  211. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  212. /package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +0 -0
  213. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +0 -0
  214. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  215. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  216. /package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +0 -0
  217. /package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +0 -0
  218. /package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +0 -0
  219. /package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +0 -0
  220. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  221. /package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +0 -0
  222. /package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +0 -0
  223. /package/{lib/ui/addon/styles → app/styles/ui}/_object-inspector-toggle.scss +0 -0
  224. /package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +0 -0
  225. /package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +0 -0
  226. /package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +0 -0
  227. /package/{lib/ui/addon/styles/addon.scss → app/styles/ui/_ui.scss} +0 -0
  228. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  229. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +0 -0
  230. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
  231. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_icon-button.scss +0 -0
  232. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +0 -0
  233. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +0 -0
  234. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +0 -0
@@ -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,4 +1,4 @@
1
- import { captureRenderTree, getEnv } from 'ember-debug/utils/ember';
1
+ import { captureRenderTree, getEnv } from '../utils/ember';
2
2
 
3
3
  let capture = captureRenderTree;
4
4
  // Ember 3.14+ comes with debug render tree, but the version in 3.14.0/3.14.1 is buggy
@@ -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
@@ -1,7 +1,7 @@
1
- import captureRenderTree from './capture-render-tree';
2
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
3
- import { inspect } from 'ember-debug/utils/type-check';
4
- import { isInVersionSpecifier } from 'ember-debug/utils/version';
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
5
  import {
6
6
  VERSION,
7
7
  EmberDestroyable,
@@ -9,7 +9,7 @@ import {
9
9
  GlimmerReference,
10
10
  GlimmerRuntime,
11
11
  GlimmerUtil,
12
- } from 'ember-debug/utils/ember';
12
+ } from '../utils/ember';
13
13
 
14
14
  class InElementSupportProvider {
15
15
  constructor(owner) {
@@ -1,4 +1,4 @@
1
- import BaseObject from 'ember-debug/utils/base-object';
1
+ import BaseObject from '../utils/base-object';
2
2
  import * as SourceMap from 'source-map-js';
3
3
  const notFoundError = new Error('Source map url not found');
4
4
 
@@ -1,6 +1,6 @@
1
- import classify from 'ember-debug/utils/classify';
2
- import bound from 'ember-debug/utils/bound-method';
3
- import getObjectName from '../utils/get-object-name';
1
+ import classify from '../utils/classify';
2
+ import bound from '../utils/bound-method';
3
+ import getObjectName from '../utils/get-object-name.js';
4
4
 
5
5
  function makeHighlight(id) {
6
6
  return `<div id="ember-inspector-highlight-${id}" role="presentation"></div>`;
@@ -1,23 +1,20 @@
1
- import BasicAdapter from 'ember-debug/adapters/basic';
2
- import Port from 'ember-debug/port';
3
- import ObjectInspector from 'ember-debug/object-inspector';
4
- import GeneralDebug from 'ember-debug/general-debug';
5
- import RenderDebug from 'ember-debug/render-debug';
6
- import ViewDebug from 'ember-debug/view-debug';
7
- import RouteDebug from 'ember-debug/route-debug';
8
- import DataDebug from 'ember-debug/data-debug';
9
- import PromiseDebug from 'ember-debug/promise-debug';
10
- import ContainerDebug from 'ember-debug/container-debug';
11
- import DeprecationDebug from 'ember-debug/deprecation-debug';
12
- import Session from 'ember-debug/services/session';
13
-
14
- import { Application, Namespace } from 'ember-debug/utils/ember';
15
- import {
16
- guidFor,
17
- setGuidPrefix,
18
- } from 'ember-debug/utils/ember/object/internals';
19
- import { run } from 'ember-debug/utils/ember/runloop';
20
- import BaseObject from 'ember-debug/utils/base-object';
1
+ import BasicAdapter from './adapters/basic';
2
+ import Port from './port';
3
+ import ObjectInspector from './object-inspector';
4
+ import GeneralDebug from './general-debug';
5
+ import RenderDebug from './render-debug';
6
+ import ViewDebug from './view-debug';
7
+ import RouteDebug from './route-debug';
8
+ import DataDebug from './data-debug';
9
+ import PromiseDebug from './promise-debug';
10
+ import ContainerDebug from './container-debug';
11
+ import DeprecationDebug from './deprecation-debug';
12
+ import Session from './services/session';
13
+
14
+ import { Application, Namespace } from './utils/ember';
15
+ import { guidFor, setGuidPrefix } from './utils/ember/object/internals';
16
+ import { run } from './utils/ember/runloop';
17
+ import BaseObject from './utils/base-object';
21
18
 
22
19
  class EmberDebug extends BaseObject {
23
20
  /**
@@ -1,8 +1,8 @@
1
- import ProfileNode from './profile-node';
2
- import Ember from 'ember-debug/utils/ember';
3
- import { compareVersion } from 'ember-debug/utils/version';
1
+ import ProfileNode from './profile-node.js';
2
+ import { VERSION } from '../utils/ember';
3
+ import { compareVersion } from '../utils/version';
4
4
 
5
- import { later, scheduleOnce, cancel } from 'ember-debug/utils/ember/runloop';
5
+ import { later, scheduleOnce, cancel } from '../utils/ember/runloop';
6
6
 
7
7
  function getEdges(first, last, closest) {
8
8
  let start = null;
@@ -75,8 +75,7 @@ export default class ProfileManager {
75
75
  this.stylesheet = insertStylesheet();
76
76
  // keep track of all the active highlights
77
77
  this.highlights = [];
78
- // eslint-disable-next-line ember/new-module-imports
79
- this.isHighlightEnabled = compareVersion(Ember?.VERSION, '3.20.0') !== -1;
78
+ this.isHighlightEnabled = compareVersion(VERSION, '3.20.0') !== -1;
80
79
  }
81
80
 
82
81
  began(timestamp, payload, now) {
@@ -3,7 +3,7 @@
3
3
 
4
4
  @class ProfileNode
5
5
  **/
6
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
6
+ import { guidFor } from '../utils/ember/object/internals';
7
7
 
8
8
  function get(obj, key) {
9
9
  return obj.get ? obj.get(key) : obj[key];
@@ -1,5 +1,5 @@
1
- import { typeOf } from 'ember-debug/utils/type-check';
2
- import BaseObject from 'ember-debug/utils/base-object';
1
+ import { typeOf } from '../utils/type-check';
2
+ import BaseObject from '../utils/base-object';
3
3
 
4
4
  const dateComputed = function () {
5
5
  return function (target, propertyKey) {
@@ -1,13 +1,13 @@
1
1
  /* eslint-disable ember/no-private-routing-service */
2
- import DebugPort from './debug-port';
3
- import bound from 'ember-debug/utils/bound-method';
2
+ import DebugPort from './debug-port.js';
3
+ import bound from './utils/bound-method';
4
4
  import {
5
5
  isComputed,
6
6
  getDescriptorFor,
7
7
  typeOf,
8
8
  inspect,
9
- } from 'ember-debug/utils/type-check';
10
- import { compareVersion } from 'ember-debug/utils/version';
9
+ } from './utils/type-check';
10
+ import { compareVersion } from './utils/version';
11
11
  import {
12
12
  EmberObject,
13
13
  meta as emberMeta,
@@ -21,11 +21,11 @@ import {
21
21
  GlimmerComponent,
22
22
  GlimmerReference,
23
23
  GlimmerValidator,
24
- } from 'ember-debug/utils/ember';
25
- import { cacheFor, guidFor } from 'ember-debug/utils/ember/object/internals';
26
- import { _backburner, join } from 'ember-debug/utils/ember/runloop';
27
- import emberNames from './utils/ember-object-names';
28
- import getObjectName from './utils/get-object-name';
24
+ } from './utils/ember';
25
+ import { cacheFor, guidFor } from './utils/ember/object/internals';
26
+ import { _backburner, join } from './utils/ember/runloop';
27
+ import emberNames from './utils/ember-object-names.js';
28
+ import getObjectName from './utils/get-object-name.js';
29
29
 
30
30
  let tagValue, tagValidate, track, tagForProperty;
31
31
 
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "ember-debug",
3
+ "version": "0.0.0",
3
4
  "private": true,
4
5
  "type": "module",
5
6
  "scripts": {
@@ -17,9 +18,10 @@
17
18
  "backburner.js": "^2.8.0",
18
19
  "glob": "^11.0.2",
19
20
  "rollup": "^4.39.0",
21
+ "rollup-plugin-delete": "^3.0.1",
20
22
  "source-map-js": "^1.2.1"
21
23
  },
22
24
  "exports": {
23
- "./*": "./*.js"
25
+ "./*": "./dist/*.js"
24
26
  }
25
27
  }
@@ -1,7 +1,7 @@
1
- import { guidFor } from 'ember-debug/utils/ember/object/internals';
2
- import { run } from 'ember-debug/utils/ember/runloop';
3
- import BaseObject from 'ember-debug/utils/base-object';
4
- import Evented from 'ember-debug/utils/evented';
1
+ import { guidFor } from './utils/ember/object/internals';
2
+ import { run } from './utils/ember/runloop';
3
+ import BaseObject from './utils/base-object';
4
+ import Evented from './utils/evented';
5
5
 
6
6
  export default class extends BaseObject {
7
7
  constructor(data) {
@@ -1,7 +1,7 @@
1
- import DebugPort from './debug-port';
2
- import PromiseAssembler from 'ember-debug/libs/promise-assembler';
3
- import { debounce } from 'ember-debug/utils/ember/runloop';
4
- import RSVP from 'ember-debug/utils/rsvp';
1
+ import DebugPort from './debug-port.js';
2
+ import PromiseAssembler from './libs/promise-assembler';
3
+ import { debounce } from './utils/ember/runloop';
4
+ import { RSVP } from './utils/ember';
5
5
 
6
6
  export default class extends DebugPort {
7
7
  get objectInspector() {
@@ -1,9 +1,9 @@
1
- import DebugPort from './debug-port';
2
- import ProfileManager from './models/profile-manager';
1
+ import DebugPort from './debug-port.js';
2
+ import ProfileManager from './models/profile-manager.js';
3
3
 
4
- import { subscribe } from 'ember-debug/utils/ember/instrumentation';
5
- import { _backburner } from 'ember-debug/utils/ember/runloop';
6
- import bound from 'ember-debug/utils/bound-method';
4
+ import { subscribe } from './utils/ember';
5
+ import { _backburner } from './utils/ember/runloop';
6
+ import bound from './utils/bound-method';
7
7
 
8
8
  // Initial setup, that has to occur before the EmberObject init for some reason
9
9
  let profileManager = new ProfileManager();
@@ -2,47 +2,23 @@ import { nodeResolve } from '@rollup/plugin-node-resolve';
2
2
  import commonjs from '@rollup/plugin-commonjs';
3
3
  import { babel } from '@rollup/plugin-babel';
4
4
  import { globSync } from 'glob';
5
+ import del from 'rollup-plugin-delete';
5
6
 
6
7
  export default {
7
8
  input: [
8
9
  'main.js',
9
- ...globSync('adapters/**/*.js'),
10
10
  'utils/version.js',
11
+ 'utils/type-check.js',
11
12
  'port.js',
12
13
  'utils/ember.js',
13
14
  'models/profile-node.js',
14
15
  'libs/promise-assembler.js',
16
+ 'lib/versions.js',
17
+ ...globSync('entrypoints/*.js'),
15
18
  ],
16
19
  output: {
17
- format: 'amd',
18
- amd: {
19
- autoId: true,
20
- // id: 'ember-debug/[name]',
21
- basePath: 'ember-debug',
22
- },
23
- chunkFileNames: '[name].js',
24
20
  dir: 'dist',
25
21
  },
26
22
 
27
- plugins: [
28
- babel(),
29
- nodeResolve(),
30
- commonjs(),
31
- /**
32
- * this plugin forces each of the intenral dependencies for each of the chunks to be prefixed with ember-debug
33
- */
34
- {
35
- name: 'rollup-plugin-name-amd-modules',
36
- renderChunk(code) {
37
- let splitCode = code.split('\n');
38
-
39
- splitCode[0] = splitCode[0].replaceAll(
40
- /'\.\/([^']*)'/g,
41
- `'ember-debug/$1'`,
42
- );
43
-
44
- return splitCode.join('\n');
45
- },
46
- },
47
- ],
23
+ plugins: [babel(), nodeResolve(), commonjs(), del({ targets: 'dist' })],
48
24
  };
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable ember/no-private-routing-service */
2
- import DebugPort from './debug-port';
3
- import { compareVersion } from 'ember-debug/utils/version';
4
- import { VERSION } from 'ember-debug/utils/ember';
5
- import classify from 'ember-debug/utils/classify';
6
- import dasherize from 'ember-debug/utils/dasherize';
7
- import { _backburner, later } from 'ember-debug/utils/ember/runloop';
8
- import bound from 'ember-debug/utils/bound-method';
2
+ import DebugPort from './debug-port.js';
3
+ import { compareVersion } from './utils/version';
4
+ import { VERSION } from './utils/ember';
5
+ import classify from './utils/classify';
6
+ import dasherize from './utils/dasherize';
7
+ import { _backburner, later } from './utils/ember/runloop';
8
+ import bound from './utils/bound-method';
9
9
 
10
10
  const { hasOwnProperty } = Object.prototype;
11
11
 
@@ -1,4 +1,4 @@
1
- import BaseObject from 'ember-debug/utils/base-object';
1
+ import BaseObject from '../utils/base-object';
2
2
 
3
3
  class Session extends BaseObject {
4
4
  setItem(/*key, val*/) {}
@@ -1,9 +1,4 @@
1
- import Ember, { ObjectInternals } from '../../ember';
2
-
3
- // eslint-disable-next-line ember/new-module-imports
4
- let cacheFor = ObjectInternals?.cacheFor ?? Ember.cacheFor;
5
- // eslint-disable-next-line ember/new-module-imports
6
- let emberGuidFor = ObjectInternals?.guidFor ?? Ember.guidFor;
1
+ import { cacheFor, guidFor as emberGuidFor } from '../../ember.js';
7
2
 
8
3
  // it can happen that different ember apps/iframes have the same id for different objects
9
4
  // since the implementation is just a counter, so we add a prefix per iframe & app
@@ -1,5 +1,5 @@
1
- import Ember, { Runloop as EmberRunloop } from '../ember';
2
- import * as runloop from './own-runloop';
1
+ import { Runloop as EmberRunloop } from '../ember.js';
2
+ import * as runloop from './own-runloop.js';
3
3
 
4
4
  // it could happen that runloop is available but _backburner is not exported (dead code)
5
5
  // then we need to use our own.
@@ -11,11 +11,6 @@ const keys = ['cancel', 'debounce', 'join', 'later', 'scheduleOnce'];
11
11
  if (EmberRunloop) {
12
12
  module = EmberRunloop;
13
13
  _backburner = EmberRunloop._backburner || EmberRunloop.backburner;
14
- } else {
15
- // eslint-disable-next-line ember/new-module-imports
16
- module = Ember?.run || module;
17
- // eslint-disable-next-line ember/new-module-imports
18
- _backburner = Ember?.run?.backburner || _backburner;
19
14
  }
20
15
 
21
16
  if (!keys.every((k) => k in module)) {