ember-inspector 4.13.1-alpha.2025.9.9 → 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 (158) hide show
  1. package/.editorconfig +19 -0
  2. package/.ember-cli +7 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +30 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. package/.github/dependabot.yml +14 -0
  6. package/.github/pull_request_template.md +4 -0
  7. package/.github/workflows/build.yml +260 -0
  8. package/.github/workflows/plan-release.yml +61 -0
  9. package/.github/workflows/publish.yml +158 -0
  10. package/.prettierignore +14 -0
  11. package/.prettierrc.js +20 -0
  12. package/.release-plan.json +26 -0
  13. package/.stylelintignore +8 -0
  14. package/.stylelintrc.js +12 -0
  15. package/.template-lintrc.js +13 -0
  16. package/.tool-versions +2 -0
  17. package/.watchmanconfig +3 -0
  18. package/CHANGELOG.md +137 -0
  19. package/DEVELOPMENT.md +50 -0
  20. package/PRIVACY.md +3 -0
  21. package/README.md +6 -50
  22. package/RELEASE.md +15 -50
  23. package/app/components/.gitkeep +0 -0
  24. package/app/controllers/.gitkeep +0 -0
  25. package/app/controllers/model-types.js +7 -14
  26. package/app/helpers/.gitkeep +0 -0
  27. package/app/models/.gitkeep +0 -0
  28. package/app/routes/.gitkeep +0 -0
  29. package/app/routes/whats-new.js +6 -4
  30. package/app/services/storage.ts +17 -4
  31. package/app/templates/application.hbs +1 -0
  32. package/dist/bookmarklet/panes-3-16-0/assets/{chunk.524.497b4588088a7fe03056.js → chunk.524.aca67dc376e8cd35b522.js} +4 -4
  33. package/dist/{firefox/panes-3-16-0/assets/chunk.582.3f979b82d5ad515f2254.js → bookmarklet/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js} +5 -5
  34. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +23 -24
  35. package/dist/{firefox/panes-3-16-0/basic-DfbgtngO.js → bookmarklet/panes-3-16-0/basic-B1dkgN3d.js} +6 -1
  36. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +9 -5
  37. package/dist/bookmarklet/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  38. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +9 -33
  39. package/dist/bookmarklet/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  40. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +9 -11
  41. package/dist/bookmarklet/panes-3-16-0/ember.js +101 -50
  42. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +9 -33
  43. package/dist/bookmarklet/panes-3-16-0/firefox-8F84zphP.js +30 -0
  44. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +9 -31
  45. package/dist/bookmarklet/panes-3-16-0/index.html +2 -2
  46. package/dist/bookmarklet/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  47. package/dist/bookmarklet/panes-3-16-0/main.js +11 -5
  48. package/dist/bookmarklet/panes-3-16-0/port.js +1 -1
  49. package/dist/{chrome/panes-3-16-0/runloop-CF-Qpqgy.js → bookmarklet/panes-3-16-0/runloop-6_0lpzTA.js} +1 -1
  50. package/dist/bookmarklet/panes-3-16-0/{start-inspector-BPAW_WLv.js → start-inspector-BIYQArZn.js} +32 -74
  51. package/dist/bookmarklet/panes-3-16-0/{web-extension-C3pMNVSY.js → web-extension-OWnXJ_XK.js} +2 -2
  52. package/dist/bookmarklet/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  53. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +9 -59
  54. package/dist/chrome/devtools.js +1 -1
  55. package/dist/chrome/manifest.json +22 -23
  56. package/dist/{firefox/panes-3-16-0/assets/chunk.524.497b4588088a7fe03056.js → chrome/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js} +4 -4
  57. package/dist/{bookmarklet/panes-3-16-0/assets/chunk.582.3f979b82d5ad515f2254.js → chrome/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js} +5 -5
  58. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +23 -24
  59. package/dist/chrome/panes-3-16-0/{basic-DfbgtngO.js → basic-B1dkgN3d.js} +6 -1
  60. package/dist/chrome/panes-3-16-0/basic-debug.js +9 -5
  61. package/dist/chrome/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  62. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +9 -33
  63. package/dist/chrome/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  64. package/dist/chrome/panes-3-16-0/chrome-debug.js +9 -11
  65. package/dist/chrome/panes-3-16-0/ember.js +101 -50
  66. package/dist/chrome/panes-3-16-0/ember_debug.js +9 -11
  67. package/dist/chrome/panes-3-16-0/firefox-8F84zphP.js +30 -0
  68. package/dist/chrome/panes-3-16-0/firefox-debug.js +9 -31
  69. package/dist/chrome/panes-3-16-0/index.html +2 -2
  70. package/dist/chrome/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  71. package/dist/chrome/panes-3-16-0/main.js +11 -5
  72. package/dist/chrome/panes-3-16-0/port.js +1 -1
  73. package/dist/{firefox/panes-3-16-0/runloop-CF-Qpqgy.js → chrome/panes-3-16-0/runloop-6_0lpzTA.js} +1 -1
  74. package/dist/{firefox/panes-3-16-0/start-inspector-BPAW_WLv.js → chrome/panes-3-16-0/start-inspector-BIYQArZn.js} +32 -74
  75. package/dist/{firefox/panes-3-16-0/web-extension-C3pMNVSY.js → chrome/panes-3-16-0/web-extension-OWnXJ_XK.js} +2 -2
  76. package/dist/chrome/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  77. package/dist/chrome/panes-3-16-0/websocket-debug.js +9 -59
  78. package/dist/firefox/devtools.js +1 -1
  79. package/dist/firefox/manifest.json +22 -23
  80. package/dist/{websocket/assets/chunk.524.497b4588088a7fe03056.js → firefox/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js} +4 -4
  81. package/dist/{websocket/assets/chunk.582.3f979b82d5ad515f2254.js → firefox/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js} +5 -5
  82. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +23 -24
  83. package/dist/{bookmarklet/panes-3-16-0/basic-DfbgtngO.js → firefox/panes-3-16-0/basic-B1dkgN3d.js} +6 -1
  84. package/dist/firefox/panes-3-16-0/basic-debug.js +9 -5
  85. package/dist/firefox/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  86. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +9 -33
  87. package/dist/firefox/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  88. package/dist/firefox/panes-3-16-0/chrome-debug.js +9 -11
  89. package/dist/firefox/panes-3-16-0/ember.js +101 -50
  90. package/dist/firefox/panes-3-16-0/ember_debug.js +9 -31
  91. package/dist/firefox/panes-3-16-0/firefox-8F84zphP.js +30 -0
  92. package/dist/firefox/panes-3-16-0/firefox-debug.js +9 -31
  93. package/dist/firefox/panes-3-16-0/index.html +2 -2
  94. package/dist/firefox/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  95. package/dist/firefox/panes-3-16-0/main.js +11 -5
  96. package/dist/firefox/panes-3-16-0/port.js +1 -1
  97. package/dist/{websocket/runloop-CF-Qpqgy.js → firefox/panes-3-16-0/runloop-6_0lpzTA.js} +1 -1
  98. package/dist/{chrome/panes-3-16-0/start-inspector-BPAW_WLv.js → firefox/panes-3-16-0/start-inspector-BIYQArZn.js} +32 -74
  99. package/dist/{websocket/web-extension-C3pMNVSY.js → firefox/panes-3-16-0/web-extension-OWnXJ_XK.js} +2 -2
  100. package/dist/firefox/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  101. package/dist/firefox/panes-3-16-0/websocket-debug.js +9 -59
  102. package/dist/{chrome/panes-3-16-0/assets/chunk.524.497b4588088a7fe03056.js → websocket/assets/chunk.524.aca67dc376e8cd35b522.js} +4 -4
  103. package/dist/{chrome/panes-3-16-0/assets/chunk.582.3f979b82d5ad515f2254.js → websocket/assets/chunk.582.d3d80e94c4f59dc3b65d.js} +5 -5
  104. package/dist/websocket/assets/ember-inspector.js +23 -24
  105. package/dist/websocket/{basic-DfbgtngO.js → basic-B1dkgN3d.js} +6 -1
  106. package/dist/websocket/basic-debug.js +9 -5
  107. package/dist/websocket/bookmarklet-BZWtwuX-.js +32 -0
  108. package/dist/websocket/bookmarklet-debug.js +9 -33
  109. package/dist/websocket/chrome-P6FSEUf1.js +10 -0
  110. package/dist/websocket/chrome-debug.js +9 -11
  111. package/dist/websocket/ember.js +101 -50
  112. package/dist/websocket/ember_debug.js +9 -59
  113. package/dist/websocket/firefox-8F84zphP.js +30 -0
  114. package/dist/websocket/firefox-debug.js +9 -31
  115. package/dist/websocket/index.html +2 -2
  116. package/dist/websocket/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  117. package/dist/websocket/main.js +11 -5
  118. package/dist/websocket/port.js +1 -1
  119. package/dist/{bookmarklet/panes-3-16-0/runloop-CF-Qpqgy.js → websocket/runloop-6_0lpzTA.js} +1 -1
  120. package/dist/websocket/{start-inspector-BPAW_WLv.js → start-inspector-BIYQArZn.js} +32 -74
  121. package/dist/{chrome/panes-3-16-0/web-extension-C3pMNVSY.js → websocket/web-extension-OWnXJ_XK.js} +2 -2
  122. package/dist/websocket/websocket-BSUvUqER.js +58 -0
  123. package/dist/websocket/websocket-debug.js +9 -59
  124. package/ember_debug/entrypoints/basic-debug.js +7 -3
  125. package/ember_debug/entrypoints/bookmarklet-debug.js +7 -3
  126. package/ember_debug/entrypoints/chrome-debug.js +7 -3
  127. package/ember_debug/entrypoints/firefox-debug.js +7 -3
  128. package/ember_debug/entrypoints/websocket-debug.js +7 -3
  129. package/ember_debug/lib/get-applications.js +6 -5
  130. package/ember_debug/lib/load-ember-debug-in-webpage.js +2 -0
  131. package/ember_debug/lib/send-version-miss.js +2 -3
  132. package/ember_debug/lib/setup-instance-initializer.js +4 -3
  133. package/ember_debug/lib/start-inspector.js +23 -39
  134. package/ember_debug/object-inspector.js +4 -1
  135. package/ember_debug/utils/ember/runloop.js +1 -1
  136. package/ember_debug/utils/ember-object-names.js +4 -1
  137. package/ember_debug/utils/ember.js +132 -56
  138. package/package.json +5 -5
  139. package/patches/ember-cli-inject-live-reload.patch +16 -0
  140. package/skeletons/web-extension/manifest.json +22 -23
  141. package/tests/acceptance/data-test.js +6 -1
  142. package/tests/acceptance/whats-new-test.js +9 -9
  143. package/tests/ember_debug/container-debug-test.js +1 -10
  144. package/tests/ember_debug/deprecation-debug-test.js +7 -1
  145. package/tests/ember_debug/ember-data-test.js +7 -1
  146. package/tests/ember_debug/ember-debug-test.js +12 -9
  147. package/tests/ember_debug/object-inspector-test.js +7 -1
  148. package/tests/ember_debug/profile-manager-test.js +13 -3
  149. package/tests/ember_debug/profile-node-test.js +6 -2
  150. package/tests/ember_debug/promise-assembler-test.js +6 -1
  151. package/tests/ember_debug/promise-debug-test.js +14 -9
  152. package/tests/ember_debug/render-debug-test.js +8 -1
  153. package/tests/ember_debug/route-debug-test.js +6 -1
  154. package/tests/ember_debug/view-debug-test.js +11 -2
  155. package/tests/helpers/setup-ember-debug-test.js +8 -2
  156. package/tests/integration/injection-test.js +26 -69
  157. package/tests/unit/.gitkeep +0 -0
  158. package/tests/unit/utils/type-check-test.js +7 -2
@@ -7,14 +7,18 @@ import EmberRoute from '@ember/routing/route';
7
7
  import Controller from '@ember/controller';
8
8
  import { module, test } from 'qunit';
9
9
  import { hbs } from 'ember-cli-htmlbars';
10
- import EmberDebug from 'ember-debug/main';
11
10
  import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
12
11
  import { run } from '@ember/runloop';
13
- import { VERSION } from 'ember-debug/ember';
12
+
13
+ import EmberDebugImport from 'ember-debug/main';
14
+ import EmberImport from 'ember-debug/ember';
15
+
14
16
  import { compareVersion } from 'ember-debug/version';
15
17
  import { setComponentTemplate } from '@ember/component';
16
18
 
17
- const isComponentHighlightSupported = compareVersion(VERSION, '3.20.0') !== -1;
19
+ let EmberDebug;
20
+
21
+ let isComponentHighlightSupported;
18
22
 
19
23
  const getRounded = (value) => {
20
24
  let data = value;
@@ -384,6 +388,12 @@ async function highlightsPromise(testedRoute, isGlimmerComponent) {
384
388
  }
385
389
 
386
390
  module('Ember Debug - profile manager component highlight', function (hooks) {
391
+ hooks.before(async function () {
392
+ EmberDebug = (await EmberDebugImport).default;
393
+ let VERSION = (await EmberImport).VERSION;
394
+ isComponentHighlightSupported = compareVersion(VERSION, '3.20.0') !== -1;
395
+ });
396
+
387
397
  setupEmberDebugTest(hooks, {
388
398
  routes() {
389
399
  this.route('home');
@@ -1,7 +1,11 @@
1
1
  import { module, test } from 'qunit';
2
- import ProfileNode from 'ember-debug/profile-node';
2
+ import ProfileNodeImport from 'ember-debug/profile-node';
3
+ let ProfileNode;
3
4
 
4
- module('Ember Debug - ProfileNode', function () {
5
+ module('Ember Debug - ProfileNode', function (hooks) {
6
+ hooks.before(async function () {
7
+ ProfileNode = (await ProfileNodeImport).default;
8
+ });
5
9
  test('It can create a ProfileNode', function (assert) {
6
10
  let p = new ProfileNode(1001, { template: 'application' });
7
11
 
@@ -2,7 +2,8 @@ import { run } from '@ember/runloop';
2
2
  import Evented from '@ember/object/evented';
3
3
  import EmberObject from '@ember/object';
4
4
  import { module, test } from 'qunit';
5
- import PromiseAssembler from 'ember-debug/promise-assembler';
5
+ import PromiseAssemblerImport from 'ember-debug/promise-assembler';
6
+ let PromiseAssembler;
6
7
 
7
8
  let assembler;
8
9
 
@@ -21,6 +22,10 @@ function startAssembler() {
21
22
  }
22
23
 
23
24
  module('Ember Debug - PromiseAssembler', function (hooks) {
25
+ hooks.before(async () => {
26
+ PromiseAssembler = (await PromiseAssemblerImport).default;
27
+ });
28
+
24
29
  hooks.beforeEach(() => {
25
30
  stubRSVP();
26
31
  // eslint-disable-next-line ember/no-runloop
@@ -5,9 +5,11 @@ import { A as emberA } from '@ember/array';
5
5
  import RSVP from 'rsvp';
6
6
  import { module, skip, test } from 'qunit';
7
7
  import { settled } from '@ember/test-helpers';
8
- import EmberDebug from 'ember-debug/main';
9
8
  import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
10
- import Port from 'ember-debug/port';
9
+
10
+ import EmberDebugImport from 'ember-debug/main';
11
+
12
+ let EmberDebug;
11
13
 
12
14
  // RSVP instrumentation is out of band (50 ms delay)
13
15
  async function rsvpDelay() {
@@ -18,17 +20,20 @@ async function rsvpDelay() {
18
20
  module('Ember Debug - Promise Debug', function (hooks) {
19
21
  let name, message;
20
22
 
21
- setupEmberDebugTest(hooks, {
22
- Port: class extends Port {
23
- init() {}
23
+ hooks.before(async function () {
24
+ EmberDebug = (await EmberDebugImport).default;
25
+ });
26
+
27
+ setupEmberDebugTest(hooks);
28
+
29
+ hooks.beforeEach(async function () {
30
+ EmberDebug.port.reopen({
24
31
  send(n, m) {
25
32
  name = n;
26
33
  message = m;
27
- }
28
- },
29
- });
34
+ },
35
+ });
30
36
 
31
- hooks.beforeEach(async function () {
32
37
  EmberDebug.promiseDebug.reopen({
33
38
  delay: 5,
34
39
  session: {
@@ -1,9 +1,16 @@
1
1
  import { settled, visit } from '@ember/test-helpers';
2
2
  import { module, test } from 'qunit';
3
3
  import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
4
- import EmberDebug from 'ember-debug/main';
4
+
5
+ import EmberDebugImport from 'ember-debug/main';
6
+
7
+ let EmberDebug;
5
8
 
6
9
  module('Ember Debug - Render Debug', function (hooks) {
10
+ hooks.before(async function () {
11
+ EmberDebug = (await EmberDebugImport).default;
12
+ });
13
+
7
14
  setupEmberDebugTest(hooks, {
8
15
  routes: function () {
9
16
  this.route('simple');
@@ -4,13 +4,18 @@ import { run } from '@ember/runloop';
4
4
  import Route from '@ember/routing/route';
5
5
  import { module, test } from 'qunit';
6
6
  import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
7
- import EmberDebug from 'ember-debug/main';
7
+ import EmberDebugImport from 'ember-debug/main';
8
+ let EmberDebug;
8
9
 
9
10
  function getChildrenProperty(route, prop) {
10
11
  return route.children.map((item) => get(item.value, prop));
11
12
  }
12
13
 
13
14
  module('Ember Debug - Route Tree', function (hooks) {
15
+ hooks.before(async function () {
16
+ EmberDebug = (await EmberDebugImport).default;
17
+ });
18
+
14
19
  setupEmberDebugTest(hooks, {
15
20
  routes() {
16
21
  this.route('simple');
@@ -18,13 +18,17 @@ import Controller from '@ember/controller';
18
18
  import didInsert from '@ember/render-modifiers/modifiers/did-insert';
19
19
  import QUnit, { module, test } from 'qunit';
20
20
  import { hbs } from 'ember-cli-htmlbars';
21
- import EmberDebug from 'ember-debug/main';
22
21
  import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
23
22
  import { isInVersionSpecifier } from 'ember-debug/version';
24
- import { VERSION } from 'ember-debug/ember';
25
23
  import GlimmerComponent from '@glimmer/component';
26
24
  import { tracked } from '@glimmer/tracking';
27
25
 
26
+ import EmberImport from 'ember-debug/ember';
27
+ import EmberDebugImport from 'ember-debug/main';
28
+
29
+ let EmberDebug;
30
+ let VERSION;
31
+
28
32
  let templateOnlyComponent = null;
29
33
  try {
30
34
  // eslint-disable-next-line no-undef,ember/new-module-imports
@@ -368,6 +372,11 @@ function findInspectorElement(kind) {
368
372
  }
369
373
 
370
374
  module('Ember Debug - View', function (hooks) {
375
+ hooks.before(async function () {
376
+ EmberDebug = (await EmberDebugImport).default;
377
+ VERSION = (await EmberImport).VERSION;
378
+ });
379
+
371
380
  setupEmberDebugTest(hooks, {
372
381
  routes() {
373
382
  this.route('simple');
@@ -14,14 +14,20 @@ import Route from '@ember/routing/route';
14
14
  import Controller from '@ember/controller';
15
15
  import BasicAdapter from 'ember-inspector/services/adapters/basic';
16
16
  import config from 'ember-inspector/config/environment';
17
- import EmberDebug from 'ember-debug/main';
18
17
  import { hbs } from 'ember-cli-htmlbars';
19
- import Port from 'ember-debug/port';
18
+
19
+ import EmberDebugImport from 'ember-debug/main';
20
+ import PortImport from 'ember-debug/port';
21
+
22
+ let Port;
23
+ let EmberDebug;
20
24
 
21
25
  export default function setupEmberDebugTest(hooks, options = {}) {
22
26
  let app, originalApp, originalPort, originalIgnoreDeprecations;
23
27
 
24
28
  hooks.beforeEach(async function () {
29
+ Port = (await PortImport).default;
30
+ EmberDebug = (await EmberDebugImport).default;
25
31
  originalPort = EmberDebug.Port;
26
32
  originalApp = getApplication();
27
33
  originalIgnoreDeprecations = EmberDebug.IGNORE_DEPRECATIONS;
@@ -162,65 +162,6 @@ class ChromeApi {
162
162
  }
163
163
  }
164
164
 
165
- let loaderInstance = {};
166
- function getLoader(def, req) {
167
- let { define, requireModule } = loaderInstance;
168
- if (typeof define !== 'function' || typeof requireModule !== 'function') {
169
- (function () {
170
- let registry = {},
171
- seen = {};
172
-
173
- define = function (name, deps, callback) {
174
- if (arguments.length < 3) {
175
- callback = deps;
176
- deps = [];
177
- }
178
- registry[name] = { deps, callback };
179
- };
180
-
181
- requireModule = function (name) {
182
- if (!name.startsWith('ember-debug')) {
183
- return req(name);
184
- }
185
- if (seen[name]) {
186
- return seen[name];
187
- }
188
-
189
- let mod = registry[name];
190
- if (!mod) {
191
- throw new Error(`Module: '${name}' not found.`);
192
- }
193
-
194
- seen[name] = {};
195
-
196
- let deps = mod.deps;
197
- let callback = mod.callback;
198
- let reified = [];
199
- let exports;
200
-
201
- for (let i = 0, l = deps.length; i < l; i++) {
202
- if (deps[i] === 'exports') {
203
- reified.push((exports = {}));
204
- } else {
205
- reified.push(requireModule(deps[i]));
206
- }
207
- }
208
-
209
- let value = callback.apply(this, reified);
210
- seen[name] = exports || value;
211
- return seen[name];
212
- };
213
-
214
- requireModule.has = req.has;
215
-
216
- define.registry = registry;
217
- define.seen = seen;
218
- })();
219
- }
220
- loaderInstance = { define, requireModule };
221
- return loaderInstance;
222
- }
223
-
224
165
  module('Integration | Injection', function (hooks) {
225
166
  setupApplicationTest(hooks);
226
167
 
@@ -230,11 +171,14 @@ module('Integration | Injection', function (hooks) {
230
171
  let contentChromeApi, inspectorChromeApi, backgroundChromeApi;
231
172
  const olddefine = window.define;
232
173
  const olddrequireModule = window.requireModule;
174
+ const oldEmber = window.Ember;
233
175
 
234
176
  let injected;
177
+ let EmberService = Service;
235
178
 
236
179
  async function inject(owner, assert) {
237
180
  if (injected) return;
181
+
238
182
  const backgroundScript = await (await fetch('/background.js')).text();
239
183
  {
240
184
  const chrome = backgroundChromeApi;
@@ -250,14 +194,6 @@ module('Integration | Injection', function (hooks) {
250
194
 
251
195
  let windowMessages = 0;
252
196
 
253
- // setup global loader for ember-debug, will be reset after test
254
-
255
- const { define, requireModule } = getLoader(
256
- window.define,
257
- window.requireModule,
258
- );
259
- window.define = define;
260
- window.requireModule = requireModule;
261
197
  {
262
198
  // eslint-disable-next-line no-unused-vars
263
199
  const chrome = contentChromeApi;
@@ -275,6 +211,14 @@ module('Integration | Injection', function (hooks) {
275
211
 
276
212
  window.chrome = inspectorChromeApi;
277
213
 
214
+ owner.register('service:port', class extends EmberService {});
215
+ owner.lookup('service:adapters/web-extension');
216
+ window.requireModule = null;
217
+ Object.defineProperty(window, 'Ember', {
218
+ value: null,
219
+ writable: true,
220
+ });
221
+
278
222
  const emberDebugStarted = new Promise((resolve) => {
279
223
  inspectorChromeApi.runtime.onMessage.addListener((msg) => {
280
224
  if (msg.type === 'general:applicationBooted') {
@@ -290,8 +234,21 @@ module('Integration | Injection', function (hooks) {
290
234
  }
291
235
  });
292
236
  });
293
- owner.register('service:port', class extends Service {});
294
- owner.lookup('service:adapters/web-extension');
237
+
238
+ // check that we do not have any errors
239
+ await new Promise((resolve, reject) => {
240
+ window.addEventListener('error', reject);
241
+ contentChromeApi.runtime.onMessage.addListener((message) => {
242
+ if (message?.type === 'inject-ember-debug') {
243
+ setTimeout(resolve, 200);
244
+ }
245
+ });
246
+ });
247
+
248
+ window.requireModule = olddrequireModule;
249
+ window.Ember = oldEmber;
250
+ window.dispatchEvent(new Event('Ember'));
251
+
295
252
  await p;
296
253
  await emberDebugStarted;
297
254
  injected = true;
File without changes
@@ -1,7 +1,12 @@
1
- import { inspect } from 'ember-debug/type-check';
2
1
  import { module, test } from 'qunit';
2
+ import TypeCheckImport from 'ember-debug/type-check';
3
+ let inspect;
4
+
5
+ module('Unit | Utility | type-check', function (hooks) {
6
+ hooks.before(async function () {
7
+ inspect = (await TypeCheckImport).inspect;
8
+ });
3
9
 
4
- module('Unit | Utility | type-check', function () {
5
10
  test('inspect | An POJO with Symbols is correctly transformed into preview', async function (assert) {
6
11
  let symbol = Symbol('test');
7
12
  let symbolValue = Symbol('value');