@ember/app-blueprint 6.10.0-alpha.7 → 6.10.0-alpha.9
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.
- package/.release-plan.json +6 -10
- package/CHANGELOG.md +23 -0
- package/README.md +43 -0
- package/conditional-files/minimal/app/app.ts +10 -0
- package/conditional-files/minimal/app/templates/application.gts +7 -0
- package/conditional-files/no-compat/_js_babel.config.mjs +47 -0
- package/conditional-files/no-compat/_ts_babel.config.mjs +55 -0
- package/conditional-files/no-compat/app/app.ts +18 -0
- package/conditional-files/no-compat/app/config/environment.ts +38 -0
- package/eslint.config.mjs +5 -0
- package/files/app/templates/application.gts +2 -2
- package/files/index.html +8 -5
- package/files/package.json +29 -30
- package/files/testem.cjs +2 -1
- package/files/tests/index.html +10 -3
- package/files/tests/test-helper.ts +3 -2
- package/files/vite.config.mjs +3 -3
- package/index.js +213 -3
- package/package.json +8 -3
- package/tests/fixtures/tests-js-no-compat-10/app/components/.gitkeep +0 -0
- package/tests/fixtures/tests-js-no-compat-10/app/components/sweet.gjs +3 -0
- package/tests/fixtures/tests-js-no-compat-10/app/router.js +11 -0
- package/tests/fixtures/tests-js-no-compat-10/app/routes/fancy.js +6 -0
- package/tests/fixtures/tests-js-no-compat-10/app/styles/app.css +3 -0
- package/tests/fixtures/tests-js-no-compat-10/app/templates/application.gjs +7 -0
- package/tests/fixtures/tests-js-no-compat-10/app/templates/fancy.gjs +9 -0
- package/tests/fixtures/tests-js-no-compat-10/tests/acceptance/index-test.js +26 -0
- package/tests/fixtures/tests-js-no-compat-10/tests/integration/components/sweet-test.gjs +28 -0
- package/tests/fixtures/tests-js-no-compat-10/tests/routes/fancy-test.js +11 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/components/.gitkeep +0 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/components/sweet.gts +3 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/router.ts +11 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/routes/fancy.ts +8 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/styles/app.css +3 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/templates/application.gts +7 -0
- package/tests/fixtures/tests-ts-no-compat-10/app/templates/fancy.gts +9 -0
- package/tests/fixtures/tests-ts-no-compat-10/tests/acceptance/index-test.ts +26 -0
- package/tests/fixtures/tests-ts-no-compat-10/tests/integration/components/sweet-test.gjs +28 -0
- package/tests/fixtures/tests-ts-no-compat-10/tests/routes/fancy-test.js +11 -0
- package/tests/minimal.test.mjs +120 -0
- package/tests/no-compat.test.mjs +181 -0
package/.release-plan.json
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"solution": {
|
|
3
3
|
"@ember/app-blueprint": {
|
|
4
|
-
"impact": "
|
|
5
|
-
"oldVersion": "6.10.0-alpha.
|
|
6
|
-
"newVersion": "6.10.0-alpha.
|
|
4
|
+
"impact": "minor",
|
|
5
|
+
"oldVersion": "6.10.0-alpha.8",
|
|
6
|
+
"newVersion": "6.10.0-alpha.9",
|
|
7
7
|
"tagName": "alpha",
|
|
8
8
|
"constraints": [
|
|
9
9
|
{
|
|
10
|
-
"impact": "
|
|
11
|
-
"reason": "Appears in changelog section :
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"impact": "patch",
|
|
15
|
-
"reason": "Appears in changelog section :house: Internal"
|
|
10
|
+
"impact": "minor",
|
|
11
|
+
"reason": "Appears in changelog section :rocket: Enhancement"
|
|
16
12
|
}
|
|
17
13
|
],
|
|
18
14
|
"pkgJSONPath": "./package.json"
|
|
19
15
|
}
|
|
20
16
|
},
|
|
21
|
-
"description": "## Release (2025-12-
|
|
17
|
+
"description": "## Release (2025-12-24)\n\n* @ember/app-blueprint 6.10.0-alpha.9 (minor)\n\n#### :rocket: Enhancement\n* `@ember/app-blueprint`\n * [#160](https://github.com/ember-cli/ember-app-blueprint/pull/160) Remove tracked-built-ins (it's built in (ish)) ([@NullVoxPopuli](https://github.com/NullVoxPopuli))\n * [#163](https://github.com/ember-cli/ember-app-blueprint/pull/163) Update package.json via `update-blueprint-deps` ([@NullVoxPopuli](https://github.com/NullVoxPopuli))\n\n#### Committers: 1\n- [@NullVoxPopuli](https://github.com/NullVoxPopuli)\n"
|
|
22
18
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Release (2025-12-24)
|
|
4
|
+
|
|
5
|
+
* @ember/app-blueprint 6.10.0-alpha.9 (minor)
|
|
6
|
+
|
|
7
|
+
#### :rocket: Enhancement
|
|
8
|
+
* `@ember/app-blueprint`
|
|
9
|
+
* [#160](https://github.com/ember-cli/ember-app-blueprint/pull/160) Remove tracked-built-ins (it's built in (ish)) ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
|
|
10
|
+
* [#163](https://github.com/ember-cli/ember-app-blueprint/pull/163) Update package.json via `update-blueprint-deps` ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
|
|
11
|
+
|
|
12
|
+
#### Committers: 1
|
|
13
|
+
- [@NullVoxPopuli](https://github.com/NullVoxPopuli)
|
|
14
|
+
|
|
15
|
+
## Release (2025-12-24)
|
|
16
|
+
|
|
17
|
+
* @ember/app-blueprint 6.10.0-alpha.8 (minor)
|
|
18
|
+
|
|
19
|
+
#### :rocket: Enhancement
|
|
20
|
+
* `@ember/app-blueprint`
|
|
21
|
+
* [#49](https://github.com/ember-cli/ember-app-blueprint/pull/49) Add `--minimal` and `--no-compat` ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
|
|
22
|
+
|
|
23
|
+
#### Committers: 1
|
|
24
|
+
- [@NullVoxPopuli](https://github.com/NullVoxPopuli)
|
|
25
|
+
|
|
3
26
|
## Release (2025-12-09)
|
|
4
27
|
|
|
5
28
|
* @ember/app-blueprint 6.10.0-alpha.7 (patch)
|
package/README.md
CHANGED
|
@@ -9,3 +9,46 @@ If you have an existing app that you would like to upgrade to use Vite consider
|
|
|
9
9
|
```
|
|
10
10
|
pnpm dlx ember-cli@latest new my-app-name -b @ember/app-blueprint --pnpm
|
|
11
11
|
```
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
### `--no-compat`
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
pnpm dlx ember-cli@latest new my-app-name \
|
|
19
|
+
--blueprint @ember/app-blueprint@alpha \
|
|
20
|
+
--pnpm \
|
|
21
|
+
--no-compat
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Does the following:
|
|
25
|
+
- enables `type=module` in package.json (required for vite-ssr, and many ESM tools)
|
|
26
|
+
- makes the build and boot _MUCH FASTER_
|
|
27
|
+
(in large apps, this can have your app's boot be up to 1 minute faster)
|
|
28
|
+
- removes `@embroider/compat`
|
|
29
|
+
- removes support for:
|
|
30
|
+
- hbs (both for component files, and testing)
|
|
31
|
+
- content-for (in the HTML files)
|
|
32
|
+
- v1 addons
|
|
33
|
+
- node-land config/environment.js
|
|
34
|
+
- removes `ember-cli`
|
|
35
|
+
- ember-cli brings in a ton of old dependencies, so removing it makes installs much faster
|
|
36
|
+
- downside though is that you no longer have scaffolding (`ember g`) -- however, you could use `pnpm dlx ember-cli g ...` (or `npx ember-cli g`)
|
|
37
|
+
|
|
38
|
+
### `--minimal`
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
pnpm dlx ember-cli@latest new my-app-name \
|
|
42
|
+
--blueprint @ember/app-blueprint@alpha \
|
|
43
|
+
--pnpm \
|
|
44
|
+
--minimal
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Does the following
|
|
48
|
+
- everything listed under `--no-compat`
|
|
49
|
+
- Removes all linting, formatting, and testing support
|
|
50
|
+
- leaves you with a minimal app that you can use for demos, and PRing to other repositories that have multi-framework support (and probably use other testing tools for that multi-framework support)
|
|
51
|
+
- different defaults:
|
|
52
|
+
- warp-drive becomes _opt-in_ (pass `--warp-drive` if you want it -- normally requires `--no-warp-drive` to remove)
|
|
53
|
+
- ember-welcome-page becomes _opt-in_ (normally requires `--no-welcome` to remove)
|
|
54
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<% if (warpDrive) { %>import '@warp-drive/ember/install';
|
|
2
|
+
<% } %>import Application from 'ember-strict-application-resolver';
|
|
3
|
+
|
|
4
|
+
export default class App extends Application {
|
|
5
|
+
modules = {
|
|
6
|
+
...import.meta.glob('./router.*', { eager: true }),
|
|
7
|
+
...import.meta.glob('./templates/**/*', { eager: true }),
|
|
8
|
+
...import.meta.glob('./services/**/*', { eager: true }),
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { dirname } from 'node:path';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
<% if (warpDrive) { %>import { setConfig } from '@warp-drive/core/build-config';
|
|
4
|
+
<% } %>import { buildMacros } from '@embroider/macros/babel';
|
|
5
|
+
|
|
6
|
+
<% if (warpDrive) { %>const macros = buildMacros({
|
|
7
|
+
configure: (config) => {
|
|
8
|
+
setConfig(config, {
|
|
9
|
+
// for universal apps this MUST be at least 5.6
|
|
10
|
+
compatWith: '5.6',
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
<% } else { %>const macros = buildMacros();
|
|
15
|
+
<% } %>
|
|
16
|
+
export default {
|
|
17
|
+
plugins: [
|
|
18
|
+
[
|
|
19
|
+
'babel-plugin-ember-template-compilation',
|
|
20
|
+
{
|
|
21
|
+
compilerPath: 'ember-source/dist/ember-template-compiler.js',
|
|
22
|
+
transforms: [...macros.templateMacros],
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
[
|
|
26
|
+
'module:decorator-transforms',
|
|
27
|
+
{
|
|
28
|
+
runtime: {
|
|
29
|
+
import: import.meta.resolve('decorator-transforms/runtime-esm'),
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
'@babel/plugin-transform-runtime',
|
|
35
|
+
{
|
|
36
|
+
absoluteRuntime: dirname(fileURLToPath(import.meta.url)),
|
|
37
|
+
useESModules: true,
|
|
38
|
+
regenerator: false,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
...macros.babelMacros,
|
|
42
|
+
],
|
|
43
|
+
|
|
44
|
+
generatorOpts: {
|
|
45
|
+
compact: false,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { dirname } from 'node:path';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
<% if (warpDrive) { %>import { setConfig } from '@warp-drive/core/build-config';
|
|
4
|
+
<% } %>import { buildMacros } from '@embroider/macros/babel';
|
|
5
|
+
|
|
6
|
+
<% if (warpDrive) { %>const macros = buildMacros({
|
|
7
|
+
configure: (config) => {
|
|
8
|
+
setConfig(config, {
|
|
9
|
+
// for universal apps this MUST be at least 5.6
|
|
10
|
+
compatWith: '5.6',
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
<% } else { %>const macros = buildMacros();
|
|
15
|
+
<% } %>
|
|
16
|
+
export default {
|
|
17
|
+
plugins: [
|
|
18
|
+
[
|
|
19
|
+
'@babel/plugin-transform-typescript',
|
|
20
|
+
{
|
|
21
|
+
allExtensions: true,
|
|
22
|
+
onlyRemoveTypeImports: true,
|
|
23
|
+
allowDeclareFields: true,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
[
|
|
27
|
+
'babel-plugin-ember-template-compilation',
|
|
28
|
+
{
|
|
29
|
+
compilerPath: 'ember-source/dist/ember-template-compiler.js',
|
|
30
|
+
transforms: [...macros.templateMacros],
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
'module:decorator-transforms',
|
|
35
|
+
{
|
|
36
|
+
runtime: {
|
|
37
|
+
import: import.meta.resolve('decorator-transforms/runtime-esm'),
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
'@babel/plugin-transform-runtime',
|
|
43
|
+
{
|
|
44
|
+
absoluteRuntime: dirname(fileURLToPath(import.meta.url)),
|
|
45
|
+
useESModules: true,
|
|
46
|
+
regenerator: false,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
...macros.babelMacros,
|
|
50
|
+
],
|
|
51
|
+
|
|
52
|
+
generatorOpts: {
|
|
53
|
+
compact: false,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<% if (warpDrive) { %>import '@warp-drive/ember/install';<% } %>
|
|
2
|
+
import Application from '@ember/application';
|
|
3
|
+
import compatModules from '@embroider/virtual/compat-modules';
|
|
4
|
+
import Resolver from 'ember-resolver';
|
|
5
|
+
import config from '<%= modulePrefix %>/config/environment';
|
|
6
|
+
import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros';
|
|
7
|
+
import setupInspector from '@embroider/legacy-inspector-support/ember-source-4.12';
|
|
8
|
+
|
|
9
|
+
if (macroCondition(isDevelopingApp())) {
|
|
10
|
+
importSync('./deprecation-workflow');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default class App extends Application {
|
|
14
|
+
modulePrefix = config.modulePrefix;
|
|
15
|
+
podModulePrefix = config.podModulePrefix;
|
|
16
|
+
Resolver = Resolver.withModules(compatModules);
|
|
17
|
+
inspector = setupInspector(this);
|
|
18
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<% if (notMinimal) { %><% if (typescript) { %>// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2
|
+
// @ts-expect-error
|
|
3
|
+
<% } %>import { getGlobalConfig } from '@embroider/macros/src/addon/runtime';
|
|
4
|
+
<% } %>
|
|
5
|
+
interface Config {
|
|
6
|
+
isTesting?: boolean;
|
|
7
|
+
environment: string;
|
|
8
|
+
modulePrefix: string;
|
|
9
|
+
podModulePrefix?: string;
|
|
10
|
+
locationType: 'history' | 'hash' | 'none' | 'auto';
|
|
11
|
+
rootURL: string;
|
|
12
|
+
EmberENV?: Record<string, unknown>;
|
|
13
|
+
APP: Record<string, unknown> & { rootElement?: string; autoboot?: boolean };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const ENV: Config = {
|
|
17
|
+
modulePrefix: '<%= name %>',
|
|
18
|
+
environment: import.meta.env.DEV ? 'development' : 'production',
|
|
19
|
+
rootURL: '/',
|
|
20
|
+
locationType: 'history',
|
|
21
|
+
EmberENV: {},
|
|
22
|
+
APP: {},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default ENV;
|
|
26
|
+
<% if (notMinimal) { %>
|
|
27
|
+
export function enterTestMode() {
|
|
28
|
+
ENV.locationType = 'none';
|
|
29
|
+
ENV.APP.rootElement = '#ember-testing';
|
|
30
|
+
ENV.APP.autoboot = false;
|
|
31
|
+
|
|
32
|
+
<% if (typescript) { %>// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
|
|
33
|
+
<% } %>const config = getGlobalConfig()['@embroider/macros'];
|
|
34
|
+
|
|
35
|
+
<% if (typescript) { %>// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
36
|
+
<% } %>if (config) config.isTesting = true;
|
|
37
|
+
}
|
|
38
|
+
<% } %>
|
package/eslint.config.mjs
CHANGED
|
@@ -26,10 +26,15 @@ export default [
|
|
|
26
26
|
eslintConfigPrettier,
|
|
27
27
|
{
|
|
28
28
|
ignores: [
|
|
29
|
+
'my-app/**',
|
|
29
30
|
'tests/fixtures/*',
|
|
31
|
+
'files/vite.config.*',
|
|
30
32
|
'files/ember-cli-build.js',
|
|
33
|
+
'files/testem.cjs',
|
|
31
34
|
'conditional-files/_js_*',
|
|
32
35
|
'conditional-files/_ts_*',
|
|
36
|
+
'conditional-files/no-compat/_js_*',
|
|
37
|
+
'conditional-files/no-compat/_ts_*',
|
|
33
38
|
],
|
|
34
39
|
},
|
|
35
40
|
];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { pageTitle } from 'ember-page-title'
|
|
2
|
-
|
|
1
|
+
import { pageTitle } from 'ember-page-title';<% if (welcome) {%>
|
|
2
|
+
import { WelcomePage } from 'ember-welcome-page';<% } %>
|
|
3
3
|
|
|
4
4
|
<template>
|
|
5
5
|
{{pageTitle "<%= namespace %>"}}<% if (welcome) { %>
|
package/files/index.html
CHANGED
|
@@ -5,25 +5,28 @@
|
|
|
5
5
|
<title><%= namespace %></title>
|
|
6
6
|
<meta name="description" content="">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<% if (compat) { %>
|
|
8
9
|
|
|
9
10
|
{{content-for "head"}}
|
|
10
|
-
|
|
11
11
|
<link integrity="" rel="stylesheet" href="/@embroider/virtual/vendor.css">
|
|
12
12
|
<link integrity="" rel="stylesheet" href="/@embroider/virtual/app.css">
|
|
13
13
|
|
|
14
14
|
{{content-for "head-footer"}}
|
|
15
|
-
|
|
15
|
+
<% } else { %>
|
|
16
|
+
<link rel="stylesheet" href="/app/styles/app.css">
|
|
17
|
+
<% } %></head>
|
|
16
18
|
<body>
|
|
17
|
-
|
|
19
|
+
<% if (compat) { %>{{content-for "body"}}
|
|
18
20
|
|
|
19
21
|
<script src="/@embroider/virtual/vendor.js"></script>
|
|
20
|
-
|
|
22
|
+
<% } %> <script type="module">
|
|
21
23
|
import Application from './app/app';
|
|
22
24
|
import environment from './app/config/environment';
|
|
23
25
|
|
|
24
26
|
Application.create(environment.APP);
|
|
25
27
|
</script>
|
|
28
|
+
<% if (compat) { %>{{content-for "body"}}
|
|
26
29
|
|
|
27
30
|
{{content-for "body-footer"}}
|
|
28
|
-
|
|
31
|
+
<% } %> </body>
|
|
29
32
|
</html>
|
package/files/package.json
CHANGED
|
@@ -31,29 +31,29 @@
|
|
|
31
31
|
"./*": "./app/*"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@babel/core": "^7.28.
|
|
34
|
+
"@babel/core": "^7.28.5",
|
|
35
35
|
"@babel/runtime": "^7.28.4",
|
|
36
|
-
"@babel/plugin-transform-runtime": "^7.28.
|
|
37
|
-
"@babel/plugin-transform-typescript": "^7.28.
|
|
38
|
-
"@babel/eslint-parser": "^7.28.
|
|
36
|
+
"@babel/plugin-transform-runtime": "^7.28.5<% if (typescript) { %>",
|
|
37
|
+
"@babel/plugin-transform-typescript": "^7.28.5<% } %>",
|
|
38
|
+
"@babel/eslint-parser": "^7.28.5<% if (typescript) { %>",
|
|
39
39
|
"@ember/app-tsconfig": "^1.0.3<% } %>",
|
|
40
|
-
"@ember/optional-features": "^2.
|
|
40
|
+
"@ember/optional-features": "^2.3.0",
|
|
41
41
|
"@ember/string": "^4.0.1",
|
|
42
|
-
"@ember/test-helpers": "^5.
|
|
42
|
+
"@ember/test-helpers": "^5.4.1",
|
|
43
43
|
"@ember/test-waiters": "^4.1.1",
|
|
44
|
-
"@embroider/macros": "^1.19.
|
|
45
|
-
"@embroider/core": "^4.2
|
|
46
|
-
"@embroider/vite": "^1.
|
|
47
|
-
"@embroider/compat": "^4.1.
|
|
48
|
-
"@embroider/router": "^3.0.
|
|
44
|
+
"@embroider/macros": "^1.19.6",
|
|
45
|
+
"@embroider/core": "^4.4.2",
|
|
46
|
+
"@embroider/vite": "^1.5.0",
|
|
47
|
+
"@embroider/compat": "^4.1.12",
|
|
48
|
+
"@embroider/router": "^3.0.6",
|
|
49
49
|
"@embroider/config-meta-loader": "^1.0.0",
|
|
50
50
|
"@embroider/legacy-inspector-support": "^0.1.3",
|
|
51
|
-
"@eslint/js": "^9.
|
|
51
|
+
"@eslint/js": "^9.39.2",
|
|
52
52
|
"@glimmer/component": "^2.0.0<% if (typescript) { %>",
|
|
53
|
-
"@glint/ember-tsc": "^1.0.
|
|
54
|
-
"@glint/template": "^1.
|
|
55
|
-
"@glint/tsserver-plugin": "^2.0.
|
|
56
|
-
"@rollup/plugin-babel": "^6.0
|
|
53
|
+
"@glint/ember-tsc": "^1.0.8",
|
|
54
|
+
"@glint/template": "^1.7.3",
|
|
55
|
+
"@glint/tsserver-plugin": "^2.0.8<% } %>",
|
|
56
|
+
"@rollup/plugin-babel": "^6.1.0<% if (typescript) { %>",
|
|
57
57
|
"@types/qunit": "^2.19.13",
|
|
58
58
|
"@types/rsvp": "^4.0.9<% } %><% if (warpDrive) { %>",
|
|
59
59
|
"@warp-drive/core": "5.8.0",
|
|
@@ -64,35 +64,34 @@
|
|
|
64
64
|
"babel-plugin-ember-template-compilation": "^3.0.1",
|
|
65
65
|
"concurrently": "^9.2.1",
|
|
66
66
|
"decorator-transforms": "^2.3.0",
|
|
67
|
-
"ember-cli": "~6.9.
|
|
67
|
+
"ember-cli": "~6.9.1",
|
|
68
68
|
"ember-cli-babel": "^8.2.0",
|
|
69
|
-
"ember-cli-deprecation-workflow": "^
|
|
69
|
+
"ember-cli-deprecation-workflow": "^4.0.0",
|
|
70
70
|
"ember-load-initializers": "^3.0.1",
|
|
71
71
|
"ember-modifier": "^4.2.2",
|
|
72
72
|
"ember-page-title": "^9.0.3",
|
|
73
73
|
"ember-qunit": "^9.0.4",
|
|
74
74
|
"ember-resolver": "^13.1.1",
|
|
75
|
-
"ember-source": "~6.10.0-
|
|
75
|
+
"ember-source": "~6.10.0-beta.1",
|
|
76
76
|
"ember-template-lint": "^7.9.3<% if (welcome) { %>",
|
|
77
77
|
"ember-welcome-page": "^8.0.4<% } %>",
|
|
78
|
-
"eslint": "^9.
|
|
78
|
+
"eslint": "^9.39.2",
|
|
79
79
|
"eslint-config-prettier": "^10.1.8",
|
|
80
|
-
"eslint-plugin-ember": "^12.7.
|
|
80
|
+
"eslint-plugin-ember": "^12.7.5",
|
|
81
81
|
"eslint-plugin-n": "^17.23.1",
|
|
82
82
|
"eslint-plugin-qunit": "^8.2.5<% if (warpDrive) { %>",
|
|
83
83
|
"eslint-plugin-warp-drive": "5.8.0<% } %>",
|
|
84
|
-
"globals": "^16.
|
|
85
|
-
"prettier": "^3.
|
|
86
|
-
"prettier-plugin-ember-template-tag": "^2.1.
|
|
87
|
-
"qunit": "^2.24.
|
|
84
|
+
"globals": "^16.5.0",
|
|
85
|
+
"prettier": "^3.7.4",
|
|
86
|
+
"prettier-plugin-ember-template-tag": "^2.1.2",
|
|
87
|
+
"qunit": "^2.24.3",
|
|
88
88
|
"qunit-dom": "^3.5.0",
|
|
89
|
-
"stylelint": "^16.
|
|
89
|
+
"stylelint": "^16.26.1",
|
|
90
90
|
"stylelint-config-standard": "^38.0.0",
|
|
91
|
-
"testem": "^3.
|
|
92
|
-
"tracked-built-ins": "^4.0.0<% if (typescript) { %>",
|
|
91
|
+
"testem": "^3.17.0<% if (typescript) { %>",
|
|
93
92
|
"typescript": "^5.9.3",
|
|
94
|
-
"typescript-eslint": "^8.
|
|
95
|
-
"vite": "^7.
|
|
93
|
+
"typescript-eslint": "^8.50.1<% } %>",
|
|
94
|
+
"vite": "^7.3.0"
|
|
96
95
|
},
|
|
97
96
|
"engines": {
|
|
98
97
|
"node": ">= 20"
|
package/files/testem.cjs
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
if (typeof module !== 'undefined') {
|
|
4
4
|
module.exports = {
|
|
5
|
-
test_page: 'tests/index.html?hidepassed'
|
|
5
|
+
test_page: 'tests/index.html?hidepassed',<% if (noCompat) {%>
|
|
6
|
+
cwd: 'dist',<% } %>
|
|
6
7
|
disable_watching: true,
|
|
7
8
|
launch_in_ci: ['Chrome'],
|
|
8
9
|
launch_in_dev: ['Chrome'],
|
package/files/tests/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<title><%= namespace %> Tests</title>
|
|
6
6
|
<meta name="description" content="">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
-
|
|
8
|
+
<% if (compat) { %>
|
|
9
9
|
{{content-for "head"}}
|
|
10
10
|
{{content-for "test-head"}}
|
|
11
11
|
|
|
@@ -15,12 +15,15 @@
|
|
|
15
15
|
|
|
16
16
|
{{content-for "head-footer"}}
|
|
17
17
|
{{content-for "test-head-footer"}}
|
|
18
|
-
|
|
18
|
+
<% } else { %>
|
|
19
|
+
<link rel="stylesheet" href="/app/styles/app.css">
|
|
20
|
+
<% } %> </head>
|
|
19
21
|
<body>
|
|
22
|
+
<% if (compat) { %>
|
|
20
23
|
{{content-for "body"}}
|
|
21
24
|
{{content-for "test-body"}}
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
<% } %> <div id="qunit"></div>
|
|
24
27
|
<div id="qunit-fixture">
|
|
25
28
|
<div id="ember-testing-container">
|
|
26
29
|
<div id="ember-testing"></div>
|
|
@@ -28,8 +31,10 @@
|
|
|
28
31
|
</div>
|
|
29
32
|
|
|
30
33
|
<script src="/testem.js" integrity="" data-embroider-ignore></script>
|
|
34
|
+
<% if (compat) { %>
|
|
31
35
|
<script src="/@embroider/virtual/vendor.js"></script>
|
|
32
36
|
<script src="/@embroider/virtual/test-support.js"></script>
|
|
37
|
+
<% } %>
|
|
33
38
|
<script type="module">import "ember-testing";</script>
|
|
34
39
|
|
|
35
40
|
<script type="module">
|
|
@@ -38,6 +43,8 @@
|
|
|
38
43
|
start();
|
|
39
44
|
</script>
|
|
40
45
|
|
|
46
|
+
<% if (compat) { %>
|
|
41
47
|
{{content-for "body-footer"}}
|
|
48
|
+
<% } %>
|
|
42
49
|
</body>
|
|
43
50
|
</html>
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<% if (warpDrive) { %>import '@warp-drive/ember/install';<% } %>
|
|
2
2
|
import Application from '<%= modulePrefix %>/app';
|
|
3
|
-
import config from '<%= modulePrefix %>/config/environment';
|
|
3
|
+
import config<% if (noCompat) {%>, { enterTestMode }<% } %> from '<%= modulePrefix %>/config/environment';
|
|
4
4
|
import * as QUnit from 'qunit';
|
|
5
5
|
import { setApplication } from '@ember/test-helpers';
|
|
6
6
|
import { setup } from 'qunit-dom';
|
|
7
7
|
import { start as qunitStart, setupEmberOnerrorValidation } from 'ember-qunit';
|
|
8
8
|
|
|
9
9
|
export function start() {
|
|
10
|
-
|
|
10
|
+
<% if (noCompat) { %>enterTestMode();
|
|
11
|
+
<% } %>setApplication(Application.create(config.APP));
|
|
11
12
|
|
|
12
13
|
setup(QUnit.assert);
|
|
13
14
|
setupEmberOnerrorValidation();
|
package/files/vite.config.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineConfig } from 'vite';
|
|
2
|
-
import { extensions
|
|
2
|
+
import { extensions<% if (!noCompat) { %>, classicEmberSupport<% } %>, ember } from '@embroider/vite';
|
|
3
3
|
import { babel } from '@rollup/plugin-babel';
|
|
4
4
|
|
|
5
5
|
export default defineConfig({
|
|
6
|
-
plugins: [
|
|
7
|
-
classicEmberSupport()
|
|
6
|
+
plugins: [<% if (!noCompat) { %>
|
|
7
|
+
classicEmberSupport(),<% } %>
|
|
8
8
|
ember(),
|
|
9
9
|
// extra plugins here
|
|
10
10
|
babel({
|