ember-inspector 4.13.1-alpha.2025.7.29 → 4.13.1-alpha.2025.7.30

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 (200) 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.4d9a488d82e60abd83d3.js → chunk.524.984a16186ec2ee340140.js} +4 -4
  5. package/dist/{firefox/panes-3-16-0/assets/chunk.582.688907397cfa1358668e.js → bookmarklet/panes-3-16-0/assets/chunk.582.866bd83d4661b3b843fd.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 -10556
  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.4d9a488d82e60abd83d3.js → chrome/panes-3-16-0/assets/chunk.524.984a16186ec2ee340140.js} +4 -4
  35. package/dist/{bookmarklet/panes-3-16-0/assets/chunk.582.688907397cfa1358668e.js → chrome/panes-3-16-0/assets/chunk.582.866bd83d4661b3b843fd.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 -10568
  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.4d9a488d82e60abd83d3.js → firefox/panes-3-16-0/assets/chunk.524.984a16186ec2ee340140.js} +4 -4
  65. package/dist/{websocket/assets/chunk.582.688907397cfa1358668e.js → firefox/panes-3-16-0/assets/chunk.582.866bd83d4661b3b843fd.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 -10564
  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.4d9a488d82e60abd83d3.js → chunk.524.984a16186ec2ee340140.js} +4 -4
  93. package/dist/{chrome/panes-3-16-0/assets/chunk.582.688907397cfa1358668e.js → websocket/assets/chunk.582.866bd83d4661b3b843fd.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 -10544
  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/entrypoints/basic-debug.js +6 -0
  122. package/ember_debug/entrypoints/bookmarklet-debug.js +6 -0
  123. package/ember_debug/entrypoints/chrome-debug.js +6 -0
  124. package/ember_debug/entrypoints/firefox-debug.js +6 -0
  125. package/ember_debug/entrypoints/websocket-debug.js +6 -0
  126. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  127. package/ember_debug/lib/get-applications.js +27 -0
  128. package/ember_debug/lib/load-ember-debug-in-webpage.js +30 -0
  129. package/ember_debug/lib/send-apps.js +14 -0
  130. package/ember_debug/lib/send-version-miss.js +39 -0
  131. package/ember_debug/lib/setup-instance-initializer.js +16 -0
  132. package/ember_debug/lib/start-inspector.js +211 -0
  133. package/ember_debug/lib/version-test.js +73 -0
  134. package/ember_debug/lib/versions.js +3 -0
  135. package/ember_debug/package.json +2 -0
  136. package/ember_debug/rollup.config.js +5 -29
  137. package/package.json +5 -9
  138. package/skeletons/bookmarklet/load_inspector.js +1 -0
  139. package/skeletons/web-extension/content-script.js +1 -0
  140. package/skeletons/web-extension/manifest.json +3 -3
  141. package/tests/index.html +1 -2
  142. package/tests/integration/injection-test.js +3 -3
  143. package/tests/test-helper.js +0 -3
  144. package/ember_debug/vendor/loader.js +0 -54
  145. package/ember_debug/vendor/startup-wrapper.js +0 -390
  146. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  147. package/lib/ui/app/components/ui/disclosure.js +0 -1
  148. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  149. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  150. package/lib/ui/app/components/ui/empty-message.js +0 -1
  151. package/lib/ui/app/components/ui/error-page.js +0 -1
  152. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  153. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  154. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  155. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  156. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  157. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  158. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  159. package/lib/ui/app/components/ui/warning-message.js +0 -1
  160. package/lib/ui/index.js +0 -34
  161. package/lib/ui/package.json +0 -13
  162. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  163. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  164. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  165. /package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +0 -0
  166. /package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +0 -0
  167. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  168. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  169. /package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +0 -0
  170. /package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +0 -0
  171. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  172. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  173. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  174. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +0 -0
  175. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  176. /package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +0 -0
  177. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  178. /package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +0 -0
  179. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +0 -0
  180. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  181. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  182. /package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +0 -0
  183. /package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +0 -0
  184. /package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +0 -0
  185. /package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +0 -0
  186. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  187. /package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +0 -0
  188. /package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +0 -0
  189. /package/{lib/ui/addon/styles → app/styles/ui}/_object-inspector-toggle.scss +0 -0
  190. /package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +0 -0
  191. /package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +0 -0
  192. /package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +0 -0
  193. /package/{lib/ui/addon/styles/addon.scss → app/styles/ui/_ui.scss} +0 -0
  194. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  195. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +0 -0
  196. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
  197. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_icon-button.scss +0 -0
  198. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +0 -0
  199. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +0 -0
  200. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +0 -0
@@ -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,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,6 +18,7 @@
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": {
@@ -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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-inspector",
3
- "version": "4.13.1-alpha.2025.7.29+4b5ac6d",
3
+ "version": "4.13.1-alpha.2025.7.30+5226815",
4
4
  "description": "Extends developer tools to allow you to better inspect your Ember.js apps.",
5
5
  "repository": "https://github.com/emberjs/ember-inspector",
6
6
  "license": "MIT",
@@ -124,14 +124,15 @@
124
124
  "tracked-toolbox": "^2.0.0",
125
125
  "typescript": "^5.7.2",
126
126
  "typescript-eslint": "^8.18.2",
127
- "webpack": "^5.97.1"
127
+ "webpack": "^5.97.1",
128
+ "ember-debug": "0.0.0"
128
129
  },
129
130
  "engines": {
130
- "node": ">= 18",
131
+ "node": ">= 22",
131
132
  "pnpm": "^9.0.0"
132
133
  },
133
134
  "volta": {
134
- "node": "18.20.4",
135
+ "node": "22.17.1",
135
136
  "pnpm": "9.12.1"
136
137
  },
137
138
  "publishConfig": {
@@ -140,11 +141,6 @@
140
141
  "ember": {
141
142
  "edition": "octane"
142
143
  },
143
- "ember-addon": {
144
- "paths": [
145
- "lib/ui"
146
- ]
147
- },
148
144
  "emberVersionsSupported": [
149
145
  "3.16.0",
150
146
  ""
@@ -72,6 +72,7 @@
72
72
 
73
73
  function injectEmberDebug(fileName) {
74
74
  var script = document.createElement('script');
75
+ script.type = 'module';
75
76
  script.src = url + '/' + fileName;
76
77
  document.body.appendChild(script);
77
78
  }
@@ -90,6 +90,7 @@
90
90
  if (!injected) {
91
91
  // cannot use eval here, as the context is limited to the content script-
92
92
  const elem = document.createElement('script');
93
+ elem.type = 'module';
93
94
  elem.src = message.value;
94
95
  document.head.appendChild(elem);
95
96
  injected = true;
@@ -2,7 +2,7 @@
2
2
  "manifest_version": 3,
3
3
  "name": "Ember Inspector (Nightly)",
4
4
  "description": "Tool for debugging Ember applications.",
5
- "version": "2025.7.29",
5
+ "version": "2025.7.30",
6
6
  "icons": {
7
7
  "16": "{{PANE_ROOT}}/assets/images/icon16.png",
8
8
  "38": "{{PANE_ROOT}}/assets/images/icon38.png",
@@ -67,12 +67,12 @@
67
67
  {
68
68
  "resources": [
69
69
  "scripts/in-page-script.js",
70
- "panes-*/ember_debug.js"
70
+ "panes-*/*.js"
71
71
  ],
72
72
  "matches": [
73
73
  "*://*/*"
74
74
  ]
75
75
  }
76
76
  ],
77
- "version_name": "4.13.1 (nightly build 2025.7.29 / 4b5ac6d)"
77
+ "version_name": "4.13.1 (nightly build 2025.7.30 / 5226815)"
78
78
  }
package/tests/index.html CHANGED
@@ -31,7 +31,7 @@
31
31
  {{content-for "head-footer"}}
32
32
  {{content-for "test-head-footer"}}
33
33
  </head>
34
- <body class="theme--light">
34
+ <body class="theme-light">
35
35
 
36
36
  {{content-for "body"}}
37
37
  {{content-for "test-body"}}
@@ -47,7 +47,6 @@
47
47
  <script src="{{rootURL}}assets/vendor.js"></script>
48
48
  <script src="{{rootURL}}assets/test-support.js"></script>
49
49
  <script src="{{rootURL}}assets/ember-inspector.js"></script>
50
- <script src="{{rootURL}}ember_debug.js"></script>
51
50
  <script src="{{rootURL}}assets/tests.js"></script>
52
51
 
53
52
  {{content-for "body-footer"}}
@@ -317,8 +317,8 @@ module('Integration | Injection', function (hooks) {
317
317
 
318
318
  test('inject ember debug via content and background scripts', async function (assert) {
319
319
  await inject(this.owner, assert);
320
- const { requireModule } = getLoader(window.define, window.requireModule);
321
- const emberDebug = requireModule('ember-debug/main');
320
+ const emberDebug = globalThis.EmberInspector;
321
+
322
322
  assert.notStrictEqual(
323
323
  emberDebug,
324
324
  undefined,
@@ -338,7 +338,7 @@ module('Integration | Injection', function (hooks) {
338
338
  await inject(this.owner, assert);
339
339
  assert.timeout(100);
340
340
 
341
- const emberDebug = requireModule('ember-debug/main');
341
+ const emberDebug = globalThis.EmberInspector;
342
342
  const viewInspection = emberDebug.viewDebug.viewInspection;
343
343
 
344
344
  const inspectNearestCalled = new Promise((resolve) => {
@@ -8,9 +8,6 @@ import TestAdapter from './test-adapter';
8
8
  import setupSinon from 'ember-sinon-qunit';
9
9
  import registerWaiter from 'ember-raf-scheduler/test-support/register-waiter';
10
10
 
11
- // ensure ember-debug is required
12
- import 'ember-debug/main';
13
-
14
11
  registerWaiter();
15
12
 
16
13
  /**
@@ -1,54 +0,0 @@
1
- /* eslint-disable */
2
- let define = window.define && ((...args) => window.define(...args)),
3
- exports = undefined,
4
- module = undefined,
5
- require = window.requireModule,
6
- requireModule = window.requireModule;
7
- /* eslint-enable */
8
- if (typeof define !== 'function' || typeof requireModule !== 'function') {
9
- (function () {
10
- let registry = {},
11
- seen = {};
12
-
13
- define = function (name, deps, callback) {
14
- if (arguments.length < 3) {
15
- callback = deps;
16
- deps = [];
17
- }
18
- registry[name] = { deps, callback };
19
- };
20
-
21
- requireModule = function (name) {
22
- if (seen[name]) {
23
- return seen[name];
24
- }
25
-
26
- let mod = registry[name];
27
- if (!mod) {
28
- throw new Error(`Module: '${name}' not found.`);
29
- }
30
-
31
- seen[name] = {};
32
-
33
- let deps = mod.deps;
34
- let callback = mod.callback;
35
- let reified = [];
36
- let exports;
37
-
38
- for (let i = 0, l = deps.length; i < l; i++) {
39
- if (deps[i] === 'exports') {
40
- reified.push((exports = {}));
41
- } else {
42
- reified.push(requireModule(deps[i]));
43
- }
44
- }
45
-
46
- let value = callback.apply(this, reified);
47
- seen[name] = exports || value;
48
- return seen[name];
49
- };
50
-
51
- define.registry = registry;
52
- define.seen = seen;
53
- })();
54
- }