Skip to content

Commit 775c88c

Browse files
committed
feat(showcase): vite
temp test fixes fix(showcase): add ember-inspector support cleanup after rebase
1 parent f8f4331 commit 775c88c

File tree

16 files changed

+785
-313
lines changed

16 files changed

+785
-313
lines changed

pnpm-lock.yaml

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

showcase/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/tmp/
2+
13
# compiled output
24
/dist/
35
/declarations/

showcase/app/app.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,21 @@
66
import Application from '@ember/application';
77
import Resolver from 'ember-resolver';
88
import loadInitializers from 'ember-load-initializers';
9+
import compatModules from '@embroider/virtual/compat-modules';
910
import config from 'showcase/config/environment';
10-
import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros';
11+
import { isDevelopingApp, macroCondition } from '@embroider/macros';
12+
import setupInspector from '@embroider/legacy-inspector-support/ember-source-4.12';
1113

1214
if (macroCondition(isDevelopingApp())) {
13-
importSync('./deprecation-workflow');
15+
await import('./deprecation-workflow');
1416
}
1517

1618
export default class App extends Application {
1719
modulePrefix = config.modulePrefix;
1820
podModulePrefix = config.podModulePrefix;
19-
Resolver = Resolver;
21+
Resolver = Resolver.withModules(compatModules);
22+
23+
inspector = setupInspector(this);
2024
}
2125

22-
loadInitializers(App, config.modulePrefix);
26+
loadInitializers(App, config.modulePrefix, compatModules);

showcase/app/config/environment.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import loadConfigFromMeta from '@embroider/config-meta-loader';
2+
3+
export default loadConfigFromMeta('showcase');

showcase/app/router.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: MPL-2.0
44
*/
55

6-
import EmberRouter from '@ember/routing/router';
6+
import EmberRouter from '@embroider/router';
77
import config from 'showcase/config/environment';
88

99
export default class Router extends EmberRouter {

showcase/babel.config.cjs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
const {
2+
babelCompatSupport,
3+
templateCompatSupport,
4+
} = require('@embroider/compat/babel');
5+
6+
module.exports = {
7+
plugins: [
8+
[
9+
'@babel/plugin-transform-typescript',
10+
{
11+
allExtensions: true,
12+
onlyRemoveTypeImports: true,
13+
allowDeclareFields: true,
14+
},
15+
],
16+
[
17+
'babel-plugin-ember-template-compilation',
18+
{
19+
compilerPath: 'ember-source/dist/ember-template-compiler.js',
20+
enableLegacyModules: [
21+
'ember-cli-htmlbars',
22+
'ember-cli-htmlbars-inline-precompile',
23+
'htmlbars-inline-precompile',
24+
],
25+
transforms: [...templateCompatSupport()],
26+
},
27+
],
28+
[
29+
'module:decorator-transforms',
30+
{
31+
runtime: {
32+
import: require.resolve('decorator-transforms/runtime-esm'),
33+
},
34+
},
35+
],
36+
[
37+
'@babel/plugin-transform-runtime',
38+
{
39+
absoluteRuntime: __dirname,
40+
useESModules: true,
41+
regenerator: false,
42+
},
43+
],
44+
...babelCompatSupport(),
45+
],
46+
47+
generatorOpts: {
48+
compact: false,
49+
},
50+
};

showcase/ember-cli-build.js

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
*/
55

66
'use strict';
7-
87
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
98

10-
module.exports = function (defaults) {
9+
const { compatBuild } = require('@embroider/compat');
10+
11+
module.exports = async function (defaults) {
12+
const { buildOnce } = await import('@embroider/vite');
13+
1114
const app = new EmberApp(defaults, {
1215
'ember-cli-babel': {
1316
enableTypeScriptTransform: true,
@@ -37,15 +40,5 @@ module.exports = function (defaults) {
3740
behave. You most likely want to be modifying `./index.js` or app's build file
3841
*/
3942

40-
const { maybeEmbroider } = require('@embroider/test-setup');
41-
return maybeEmbroider(app, {
42-
skipBabel: [
43-
{
44-
package: 'qunit',
45-
},
46-
{
47-
package: '@hashicorp/flight-icons',
48-
},
49-
],
50-
});
43+
return compatBuild(app, buildOnce);
5144
};

showcase/eslint.config.mjs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,6 @@ const parserOptions = {
3535
js: {
3636
ecmaFeatures: { modules: true },
3737
ecmaVersion: 'latest',
38-
requireConfigFile: false,
39-
babelOptions: {
40-
plugins: [
41-
[
42-
'@babel/plugin-proposal-decorators',
43-
{ decoratorsBeforeExport: true },
44-
],
45-
],
46-
},
4738
},
4839
ts: {
4940
projectService: true,
@@ -109,10 +100,8 @@ export default ts.config(
109100
files: [
110101
'**/*.cjs',
111102
'config/**/*.js',
112-
'tests/dummy/config/**/*.js',
113103
'testem.js',
114104
'testem*.js',
115-
'index.js',
116105
'.prettierrc.js',
117106
'.stylelintrc.js',
118107
'.template-lintrc.js',

showcase/app/index.html renamed to showcase/index.html

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
{{content-for "head"}}
1616

17-
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
18-
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/showcase.css">
17+
<link integrity="" rel="stylesheet" href="/@embroider/virtual/vendor.css">
18+
<link integrity="" rel="stylesheet" href="/@embroider/virtual/app.css">
1919

2020
<link rel="shortcut icon" href="/assets/logos/favicon.png" />
2121

@@ -24,8 +24,13 @@
2424
<body class="showcase-app">
2525
{{content-for "body"}}
2626

27-
<script src="{{rootURL}}assets/vendor.js"></script>
28-
<script src="{{rootURL}}assets/showcase.js"></script>
27+
<script src="/@embroider/virtual/vendor.js"></script>
28+
<script type="module">
29+
import Application from './app/app';
30+
import environment from './app/config/environment';
31+
32+
Application.create(environment.APP);
33+
</script>
2934

3035
{{content-for "body-footer"}}
3136
</body>

showcase/package.json

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,15 @@
1010
},
1111
"license": "MPL-2.0",
1212
"author": "HashiCorp Design Systems <[email protected]>",
13+
"exports": {
14+
"./tests/*": "./tests/*",
15+
"./*": "./app/*"
16+
},
1317
"directories": {
1418
"test": "tests"
1519
},
1620
"scripts": {
17-
"build": "pnpm build:packages && ember build --environment=production",
21+
"build": "pnpm build:packages && vite build",
1822
"build:packages": "pnpm -F @hashicorp/design-system-components build",
1923
"format": "prettier . --cache --write",
2024
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto",
@@ -27,27 +31,35 @@
2731
"lint:js": "eslint . --cache",
2832
"lint:js:fix": "eslint . --fix",
2933
"lint:types": "glint",
30-
"start": "pnpm build:packages && ember serve",
34+
"start": "pnpm build:packages && vite",
3135
"test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\"",
32-
"test:ember": "pnpm build:packages && ember test",
33-
"test:ember-compatibility": "ember try:each",
34-
"test:ember:percy": "percy exec ember test",
3536
"test:a11y": "pnpm build:packages && ENABLE_A11Y_AUDIT=true ember test --server -f=\"Acceptance\"",
36-
"test:a11y-report": "pnpm build:packages && ENABLE_A11Y_AUDIT=true ENABLE_A11Y_MIDDLEWARE_REPORTER=true ember test -f=\"Acceptance\""
37+
"test:a11y-report": "pnpm build:packages && ENABLE_A11Y_AUDIT=true ENABLE_A11Y_MIDDLEWARE_REPORTER=true ember test -f=\"Acceptance\"",
38+
"test:ember": "vite build --mode test && ember test --path dist",
39+
"test:ember-compatibility": "ember try:each",
40+
"test:ember:percy": "percy exec ember test"
3741
},
3842
"devDependencies": {
3943
"@babel/core": "^7.27.1",
4044
"@babel/eslint-parser": "^7.27.1",
41-
"@babel/plugin-proposal-decorators": "^7.27.1",
45+
"@babel/plugin-transform-runtime": "^7.28.3",
46+
"@babel/plugin-transform-typescript": "^7.27.1",
47+
"@babel/runtime": "^7.27.1",
4248
"@codemirror/lint": "^6.8.4",
4349
"@codemirror/state": "^6.5.0",
4450
"@ember/optional-features": "^2.2.0",
4551
"@ember/render-modifiers": "^3.0.0",
4652
"@ember/string": "^4.0.1",
4753
"@ember/test-helpers": "^5.2.1",
4854
"@ember/test-waiters": "^3.1.0",
49-
"@embroider/macros": "^1.18.1",
55+
"@embroider/compat": "^4.1.8",
56+
"@embroider/config-meta-loader": "^1.0.0",
57+
"@embroider/core": "^4.2.5",
58+
"@embroider/legacy-inspector-support": "^0.1.3",
59+
"@embroider/macros": "^1.19.2",
60+
"@embroider/router": "^3.0.4",
5061
"@embroider/test-setup": "^4.0.0",
62+
"@embroider/vite": "^1.3.4",
5163
"@eslint/js": "^9.27.0",
5264
"@glimmer/component": "^2.0.0",
5365
"@glimmer/tracking": "^1.1.2",
@@ -59,45 +71,41 @@
5971
"@hashicorp/design-system-tokens": "workspace:*",
6072
"@nullvoxpopuli/ember-composable-helpers": "^5.2.11",
6173
"@percy/cli": "^1.30.5",
62-
"@percy/ember": "^4.2.0",
74+
"@percy/ember": "^5.0.0",
75+
"@rollup/plugin-babel": "^6.0.4",
6376
"@tsconfig/ember": "^3.0.10",
6477
"@types/qunit": "^2.19.12",
6578
"@types/rsvp": "^4.0.9",
66-
"broccoli-asset-rev": "^3.0.0",
79+
"babel-plugin-ember-template-compilation": "^2.4.1",
6780
"concurrently": "^9.1.2",
81+
"decorator-transforms": "^2.3.0",
6882
"ember-a11y-testing": "^7.1.2",
6983
"ember-auto-import": "^2.10.0",
7084
"ember-basic-dropdown": "^8.6.1",
7185
"ember-body-class": "^3.0.0",
7286
"ember-cli": "~6.5.0",
7387
"ember-cli-app-version": "^7.0.0",
7488
"ember-cli-babel": "^8.2.0",
75-
"ember-cli-clean-css": "^3.0.0",
76-
"ember-cli-dependency-checker": "^3.3.3",
7789
"ember-cli-deprecation-workflow": "^3.3.0",
7890
"ember-cli-htmlbars": "^6.3.0",
79-
"ember-cli-inject-live-reload": "^2.1.0",
8091
"ember-cli-sass": "^11.0.1",
81-
"ember-cli-sri": "^2.1.1",
8292
"ember-cli-string-helpers": "^8.0.1",
8393
"ember-cli-string-utils": "^1.1.0",
84-
"ember-cli-terser": "^4.0.2",
85-
"ember-concurrency": "^4.0.4",
94+
"ember-concurrency": "^4.0.2",
8695
"ember-deep-tracked": "^2.0.1",
8796
"ember-intl": "^7.3.0",
8897
"ember-load-initializers": "^3.0.1",
89-
"ember-math-helpers": "^5.0.0",
90-
"ember-modifier": "^4.2.2",
91-
"ember-page-title": "^9.0.2",
92-
"ember-power-select": "^8.7.1",
98+
"ember-math-helpers": "^3.0.0",
99+
"ember-modifier": "^4.2.0",
100+
"ember-page-title": "^8.2.3",
101+
"ember-power-select": "^8.6.2",
93102
"ember-qunit": "^9.0.3",
94-
"ember-resolver": "^13.1.1",
103+
"ember-resolver": "^13.1.0",
95104
"ember-router-generator": "^2.0.0",
96105
"ember-set-helper": "^3.0.1",
97106
"ember-source": "~6.5.0",
98107
"ember-source-channel-url": "^3.0.0",
99108
"ember-style-modifier": "^4.4.0",
100-
"ember-template-imports": "^4.3.0",
101109
"ember-template-lint": "^7.7.0",
102110
"ember-truth-helpers": "^4.0.3",
103111
"ember-try": "^4.0.0",
@@ -108,7 +116,6 @@
108116
"eslint-plugin-qunit": "^8.1.2",
109117
"fs-extra": "^11.3.0",
110118
"globals": "^16.1.0",
111-
"loader.js": "^4.7.0",
112119
"postcss": "^8.5.3",
113120
"prettier": "^3.5.3",
114121
"prettier-plugin-ember-template-tag": "^2.0.5",
@@ -123,12 +130,16 @@
123130
"tracked-built-ins": "^4.0.0",
124131
"typescript": "^5.8.3",
125132
"typescript-eslint": "^8.32.1",
126-
"webpack": "^5.99.9"
133+
"vite": "^6.3.5"
127134
},
128135
"engines": {
129136
"node": ">= 22"
130137
},
131138
"ember": {
132139
"edition": "octane"
140+
},
141+
"ember-addon": {
142+
"type": "app",
143+
"version": 2
133144
}
134145
}

0 commit comments

Comments
 (0)