Skip to content

Commit d406b5b

Browse files
committed
fix vite test app
1 parent 176aac4 commit d406b5b

File tree

11 files changed

+2182
-202
lines changed

11 files changed

+2182
-202
lines changed

pnpm-lock.yaml

Lines changed: 1998 additions & 138 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test-apps/shared/tests/ember_debug/object-inspector-test.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,13 @@ import { VERSION } from '@ember/version';
1616
import { tracked } from '@glimmer/tracking';
1717
import { module, skip, test } from 'qunit';
1818
import { hbs } from 'ember-cli-htmlbars';
19-
import require from 'require';
2019
import hasEmberVersion from '@ember/test-helpers/has-ember-version';
2120
import { compareVersion } from 'ember-debug/version';
2221
import EmberDebug from 'ember-debug/main';
2322
import setupEmberDebugTest from '../helpers/setup-ember-debug-test';
2423
import EmberRoute from '@ember/routing/route';
2524
import Controller from '@ember/controller';
26-
27-
const GlimmerComponent = (function () {
28-
try {
29-
return require('@glimmer/component').default;
30-
} catch {
31-
// ignore, return undefined
32-
}
33-
})();
25+
import GlimmerComponent from '@glimmer/component';
3426

3527
let objectInspector;
3628

test-apps/shared/tests/ember_debug/view-debug-test.js

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,8 @@ import { isInVersionSpecifier } from 'ember-debug/version';
2424
import { VERSION } from 'ember-debug/ember';
2525
import GlimmerComponent from '@glimmer/component';
2626
import { tracked } from '@glimmer/tracking';
27+
import templateOnlyComponent from '@ember/component/template-only';
2728

28-
let templateOnlyComponent = null;
29-
try {
30-
// eslint-disable-next-line no-undef,ember/new-module-imports
31-
templateOnlyComponent = Ember._templateOnlyComponent;
32-
// eslint-disable-next-line no-empty
33-
} catch {}
34-
try {
35-
// eslint-disable-next-line no-undef
36-
templateOnlyComponent = require('ember').default._templateOnlyComponent;
37-
// eslint-disable-next-line no-empty
38-
} catch {}
3929

4030
// TODO switch to an adapter architecture, similar to the acceptance tests
4131
async function captureMessage(type, callback) {

test-apps/shared/tests/test-helper.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,9 @@ export async function waitForEmberDebug() {
2929
await new Promise((res) => setTimeout(res, 1));
3030
}
3131
}
32-
waitForEmberDebug().then(() => start());
32+
33+
if (!globalThis.NO_TEST_AUTO_START) {
34+
waitForEmberDebug().then(() => start());
35+
}
36+
37+
export { start };

test-apps/vite-app/app/app.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable */
12
import Application from '@ember/application';
23
import compatModules from '@embroider/virtual/compat-modules';
34
import Resolver from 'ember-resolver';
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// this is to support ember > 6
2+
3+
import Ember from 'ember';
4+
import * as runtime from '@glimmer/runtime';
5+
import * as tracking from '@glimmer/tracking';
6+
import * as validator from '@glimmer/validator';
7+
import * as component from '@glimmer/component';
8+
import { RSVP } from '@ember/-internals/runtime';
9+
import * as metal from '@ember/-internals/metal';
10+
import * as runloop from '@ember/runloop';
11+
12+
import config from 'test-app/config/environment';
13+
14+
window.define('@glimmer/tracking', () => tracking);
15+
window.define('@glimmer/runtime', () => runtime);
16+
window.define('@ember/-internals/metal', () => metal);
17+
window.define('@glimmer/validator', () => validator);
18+
window.define('@glimmer/component', () => component);
19+
window.define('@ember/runloop', () => runloop);
20+
window.define('rsvp', () => RSVP);
21+
window.define('ember', () => ({ default: Ember }));
22+
window.define('test-app/config/environment', () => ({
23+
default: config,
24+
}));
25+
document.dispatchEvent(new Event('Ember'));

test-apps/vite-app/babel.config.cjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ module.exports = {
1616
'ember-cli-htmlbars-inline-precompile',
1717
'htmlbars-inline-precompile',
1818
],
19-
transforms: [...templateCompatSupport()],
19+
// remove resolver-transform so that it does not change the hbs
20+
transforms: [...templateCompatSupport()].slice(0, -1),
2021
},
2122
],
2223
[

test-apps/vite-app/config/environment.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module.exports = function (environment) {
44
const ENV = {
5-
modulePrefix: 'test-app',
5+
modulePrefix: 'vite-app',
66
environment,
77
rootURL: '/',
88
locationType: 'history',

test-apps/vite-app/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"lint:hbs:fix": "ember-template-lint . --fix",
2525
"lint:js": "eslint . --cache",
2626
"lint:js:fix": "eslint . --fix",
27-
"start": "ember serve",
27+
"start": "vite",
2828
"test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
2929
"test:ember": "ember test"
3030
},
@@ -75,6 +75,8 @@
7575
"ember-resolver": "^13.1.0",
7676
"ember-source": "~5.12.0",
7777
"ember-try": "^4.0.0",
78+
"loader.js": "^4.7.0",
79+
"send": "^1.2.0",
7880
"eslint-plugin-n": "^16.1.0",
7981
"prettier": "^3.0.3",
8082
"qunit": "^2.19.4",
Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,52 @@
11
<!DOCTYPE html>
22
<html>
3-
<head>
4-
<meta charset="utf-8">
5-
<title>TsAppTemplate Tests</title>
6-
<meta name="description" content="">
7-
<meta name="viewport" content="width=device-width, initial-scale=1">
8-
9-
{{content-for "head"}}
10-
{{content-for "test-head"}}
11-
12-
<link rel="stylesheet" href="/@embroider/virtual/vendor.css">
13-
<link rel="stylesheet" href="/@embroider/virtual/app.css">
14-
<link rel="stylesheet" href="/@embroider/virtual/test-support.css">
15-
16-
{{content-for "head-footer"}}
17-
{{content-for "test-head-footer"}}
18-
</head>
19-
<body>
20-
{{content-for "body"}}
21-
{{content-for "test-body"}}
22-
23-
<div id="qunit"></div>
24-
<div id="qunit-fixture">
25-
<div id="ember-testing-container">
26-
<div id="ember-testing"></div>
27-
</div>
28-
</div>
29-
30-
<script src="/testem.js" integrity="" data-embroider-ignore></script>
31-
<script src="/@embroider/virtual/vendor.js"></script>
32-
<script src="/@embroider/virtual/test-support.js"></script>
33-
<script type="module">import "ember-testing";</script>
34-
35-
<script type="module">
36-
import { start } from './test-helper';
37-
import.meta.glob("./**/*.{js,ts,gjs,gts}", { eager: true });
38-
start();
39-
</script>
40-
41-
{{content-for "body-footer"}}
42-
</body>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>TsAppTemplate Tests</title>
6+
<meta name="description" content="">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
9+
{{content-for "head"}}
10+
{{content-for "test-head"}}
11+
12+
<link rel="stylesheet" href="/@embroider/virtual/vendor.css">
13+
<link rel="stylesheet" href="/@embroider/virtual/app.css">
14+
<link rel="stylesheet" href="/@embroider/virtual/test-support.css">
15+
16+
{{content-for "head-footer"}}
17+
{{content-for "test-head-footer"}}
18+
</head>
19+
<body>
20+
{{content-for "body"}}
21+
{{content-for "test-body"}}
22+
23+
<div id="qunit"></div>
24+
<div id="qunit-fixture">
25+
<div id="ember-testing-container">
26+
<div id="ember-testing"></div>
27+
</div>
28+
</div>
29+
30+
<script src="/testem.js" integrity="" data-embroider-ignore></script>
31+
<script src="/@embroider/virtual/vendor.js"></script>
32+
<script src="/@embroider/virtual/test-support.js"></script>
33+
<script type="module">import "ember-testing";</script>
34+
35+
<script type='module'>
36+
import '../app/inspector-support';
37+
globalThis.NO_TEST_AUTO_START = true;
38+
</script>
39+
40+
<script src="/ember_debug"></script>
41+
42+
<script type="module">
43+
import { waitForEmberDebug, start } from '../../shared/tests/test-helper';
44+
const tests = import.meta.glob("../../shared/tests/**/*.{js,ts,gjs,gts}");
45+
await waitForEmberDebug();
46+
await Promise.all(Object.values(tests).map(load => load()));
47+
start();
48+
</script>
49+
50+
{{content-for "body-footer"}}
51+
</body>
4352
</html>

0 commit comments

Comments
 (0)