Skip to content

Commit cd89456

Browse files
authored
Merge pull request #1301 from lblod/tooling/vite-ember-inspector
Add workaround to get ember-inspector working on vite builds
2 parents 48de2f8 + 9114d5e commit cd89456

File tree

5 files changed

+40
-2
lines changed

5 files changed

+40
-2
lines changed

pnpm-lock.yaml

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test-app/app/app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Application from '@ember/application';
22
import Resolver from 'ember-resolver';
33
import loadInitializers from 'ember-load-initializers';
44
import config from './config/environment';
5-
5+
import './inspector-support';
66
import compatModules from '@embroider/virtual/compat-modules';
77
import './styles/app.scss';
88

test-app/app/inspector-support.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* Workaround to get the ember-inspector working with vite applications.
3+
* Once ember-inspector gets native vite support, we can remove this.
4+
*/
5+
6+
import Ember from 'ember';
7+
import * as runtime from '@glimmer/runtime';
8+
import * as tracking from '@glimmer/tracking';
9+
import * as validator from '@glimmer/validator';
10+
// @ts-expect-error this dep is not installed directly
11+
import * as reference from '@glimmer/reference';
12+
// @ts-expect-error this dep is not installed directly
13+
import * as destroyable from '@glimmer/destroyable';
14+
import { RSVP } from '@ember/-internals/runtime';
15+
import config from './config/environment';
16+
17+
window.define('@glimmer/tracking', () => tracking);
18+
window.define('@glimmer/runtime', () => runtime);
19+
window.define('@glimmer/validator', () => validator);
20+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
21+
window.define('@glimmer/reference', () => reference);
22+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
23+
window.define('@glimmer/destroyable', () => destroyable);
24+
window.define('rsvp', () => RSVP);
25+
window.define('ember', () => ({ default: Ember }));
26+
window.define('test-app/config/environment', () => ({
27+
default: config,
28+
}));

test-app/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
{{content-for "body"}}
1919

2020
<script src="/@embroider/virtual/vendor.js"></script>
21+
<!-- Needed for ember-inspector workaround. May be removed once it gets native vite support. -->
22+
<script src="/node_modules/loader.js"></script>
2123
<script type="module">
2224
import Application from './app/app';
2325
import environment from './app/config/environment';

test-app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@
123123
"eslint-plugin-prettier": "^5.2.1",
124124
"eslint-plugin-qunit": "^8.1.2",
125125
"globals": "^15.14.0",
126+
"loader.js": "^4.7.0",
126127
"prettier": "^3.4.2",
127128
"prettier-plugin-ember-template-tag": "^2.0.4",
128129
"prosemirror-dev-tools": "^4.2.0",

0 commit comments

Comments
 (0)