@ember/app-blueprint 6.10.0-beta.3 → 6.10.0-beta.4

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 (41) hide show
  1. package/.release-plan.json +3 -3
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +0 -43
  4. package/eslint.config.mjs +0 -5
  5. package/files/app/templates/application.gts +2 -2
  6. package/files/index.html +5 -8
  7. package/files/package.json +1 -1
  8. package/files/testem.cjs +1 -2
  9. package/files/tests/index.html +3 -10
  10. package/files/tests/test-helper.ts +2 -3
  11. package/files/vite.config.mjs +3 -3
  12. package/index.js +3 -213
  13. package/package.json +5 -9
  14. package/conditional-files/minimal/app/app.ts +0 -10
  15. package/conditional-files/minimal/app/templates/application.gts +0 -7
  16. package/conditional-files/no-compat/_js_babel.config.mjs +0 -47
  17. package/conditional-files/no-compat/_ts_babel.config.mjs +0 -55
  18. package/conditional-files/no-compat/app/app.ts +0 -18
  19. package/conditional-files/no-compat/app/config/environment.ts +0 -38
  20. package/tests/fixtures/tests-js-no-compat-10/app/components/.gitkeep +0 -0
  21. package/tests/fixtures/tests-js-no-compat-10/app/components/sweet.gjs +0 -3
  22. package/tests/fixtures/tests-js-no-compat-10/app/router.js +0 -11
  23. package/tests/fixtures/tests-js-no-compat-10/app/routes/fancy.js +0 -6
  24. package/tests/fixtures/tests-js-no-compat-10/app/styles/app.css +0 -3
  25. package/tests/fixtures/tests-js-no-compat-10/app/templates/application.gjs +0 -7
  26. package/tests/fixtures/tests-js-no-compat-10/app/templates/fancy.gjs +0 -9
  27. package/tests/fixtures/tests-js-no-compat-10/tests/acceptance/index-test.js +0 -26
  28. package/tests/fixtures/tests-js-no-compat-10/tests/integration/components/sweet-test.gjs +0 -28
  29. package/tests/fixtures/tests-js-no-compat-10/tests/routes/fancy-test.js +0 -11
  30. package/tests/fixtures/tests-ts-no-compat-10/app/components/.gitkeep +0 -0
  31. package/tests/fixtures/tests-ts-no-compat-10/app/components/sweet.gts +0 -3
  32. package/tests/fixtures/tests-ts-no-compat-10/app/router.ts +0 -11
  33. package/tests/fixtures/tests-ts-no-compat-10/app/routes/fancy.ts +0 -8
  34. package/tests/fixtures/tests-ts-no-compat-10/app/styles/app.css +0 -3
  35. package/tests/fixtures/tests-ts-no-compat-10/app/templates/application.gts +0 -7
  36. package/tests/fixtures/tests-ts-no-compat-10/app/templates/fancy.gts +0 -9
  37. package/tests/fixtures/tests-ts-no-compat-10/tests/acceptance/index-test.ts +0 -26
  38. package/tests/fixtures/tests-ts-no-compat-10/tests/integration/components/sweet-test.gjs +0 -28
  39. package/tests/fixtures/tests-ts-no-compat-10/tests/routes/fancy-test.js +0 -11
  40. package/tests/minimal.test.mjs +0 -120
  41. package/tests/no-compat.test.mjs +0 -181
@@ -2,8 +2,8 @@
2
2
  "solution": {
3
3
  "@ember/app-blueprint": {
4
4
  "impact": "patch",
5
- "oldVersion": "6.10.0-beta.2",
6
- "newVersion": "6.10.0-beta.3",
5
+ "oldVersion": "6.10.0-beta.3",
6
+ "newVersion": "6.10.0-beta.4",
7
7
  "tagName": "beta",
8
8
  "constraints": [
9
9
  {
@@ -14,5 +14,5 @@
14
14
  "pkgJSONPath": "./package.json"
15
15
  }
16
16
  },
17
- "description": "## Release (2026-01-12)\n\n* @ember/app-blueprint 6.10.0-beta.3 (patch)\n\n#### :bug: Bug Fix\n* `@ember/app-blueprint`\n * [#180](https://github.com/ember-cli/ember-app-blueprint/pull/180) [bugfix beta] don't turn warp-drive linksMode on by default for now ([@mansona](https://github.com/mansona))\n\n#### Committers: 1\n- Chris Manson ([@mansona](https://github.com/mansona))\n"
17
+ "description": "## Release (2026-01-13)\n\n* @ember/app-blueprint 6.10.0-beta.4 (patch)\n\n#### :bug: Bug Fix\n* `@ember/app-blueprint`\n * [#187](https://github.com/ember-cli/ember-app-blueprint/pull/187) [bugfix beta] Revert \"Add --minimal and --no-compat\" ([@NullVoxPopuli](https://github.com/NullVoxPopuli))\n\n#### Committers: 1\n- [@NullVoxPopuli](https://github.com/NullVoxPopuli)\n"
18
18
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## Release (2026-01-13)
4
+
5
+ * @ember/app-blueprint 6.10.0-beta.4 (patch)
6
+
7
+ #### :bug: Bug Fix
8
+ * `@ember/app-blueprint`
9
+ * [#187](https://github.com/ember-cli/ember-app-blueprint/pull/187) [bugfix beta] Revert "Add --minimal and --no-compat" ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
10
+
11
+ #### Committers: 1
12
+ - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
13
+
3
14
  ## Release (2026-01-12)
4
15
 
5
16
  * @ember/app-blueprint 6.10.0-beta.3 (patch)
package/README.md CHANGED
@@ -9,46 +9,3 @@ 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
-
package/eslint.config.mjs CHANGED
@@ -26,15 +26,10 @@ export default [
26
26
  eslintConfigPrettier,
27
27
  {
28
28
  ignores: [
29
- 'my-app/**',
30
29
  'tests/fixtures/*',
31
- 'files/vite.config.*',
32
30
  'files/ember-cli-build.js',
33
- 'files/testem.cjs',
34
31
  'conditional-files/_js_*',
35
32
  'conditional-files/_ts_*',
36
- 'conditional-files/no-compat/_js_*',
37
- 'conditional-files/no-compat/_ts_*',
38
33
  ],
39
34
  },
40
35
  ];
@@ -1,5 +1,5 @@
1
- import { pageTitle } from 'ember-page-title';<% if (welcome) {%>
2
- import { WelcomePage } from 'ember-welcome-page';<% } %>
1
+ import { pageTitle } from 'ember-page-title';
2
+ <% if (welcome) {%>import { WelcomePage } from 'ember-welcome-page';<% } %>
3
3
 
4
4
  <template>
5
5
  {{pageTitle "<%= namespace %>"}}<% if (welcome) { %>
package/files/index.html CHANGED
@@ -5,28 +5,25 @@
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) { %>
9
8
 
10
9
  {{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
- <% } else { %>
16
- <link rel="stylesheet" href="/app/styles/app.css">
17
- <% } %></head>
15
+ </head>
18
16
  <body>
19
- <% if (compat) { %>{{content-for "body"}}
17
+ {{content-for "body"}}
20
18
 
21
19
  <script src="/@embroider/virtual/vendor.js"></script>
22
- <% } %> <script type="module">
20
+ <script type="module">
23
21
  import Application from './app/app';
24
22
  import environment from './app/config/environment';
25
23
 
26
24
  Application.create(environment.APP);
27
25
  </script>
28
- <% if (compat) { %>{{content-for "body"}}
29
26
 
30
27
  {{content-for "body-footer"}}
31
- <% } %> </body>
28
+ </body>
32
29
  </html>
@@ -66,7 +66,7 @@
66
66
  "decorator-transforms": "^2.3.0",
67
67
  "ember-cli": "~6.9.1",
68
68
  "ember-cli-babel": "^8.2.0",
69
- "ember-cli-deprecation-workflow": "^4.0.0",
69
+ "ember-cli-deprecation-workflow": "^3.4.0",
70
70
  "ember-load-initializers": "^3.0.1",
71
71
  "ember-modifier": "^4.2.2",
72
72
  "ember-page-title": "^9.0.3",
package/files/testem.cjs CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  if (typeof module !== 'undefined') {
4
4
  module.exports = {
5
- test_page: 'tests/index.html?hidepassed',<% if (noCompat) {%>
6
- cwd: 'dist',<% } %>
5
+ test_page: 'tests/index.html?hidepassed',
7
6
  disable_watching: true,
8
7
  launch_in_ci: ['Chrome'],
9
8
  launch_in_dev: ['Chrome'],
@@ -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
- <% if (compat) { %>
8
+
9
9
  {{content-for "head"}}
10
10
  {{content-for "test-head"}}
11
11
 
@@ -15,15 +15,12 @@
15
15
 
16
16
  {{content-for "head-footer"}}
17
17
  {{content-for "test-head-footer"}}
18
- <% } else { %>
19
- <link rel="stylesheet" href="/app/styles/app.css">
20
- <% } %> </head>
18
+ </head>
21
19
  <body>
22
- <% if (compat) { %>
23
20
  {{content-for "body"}}
24
21
  {{content-for "test-body"}}
25
22
 
26
- <% } %> <div id="qunit"></div>
23
+ <div id="qunit"></div>
27
24
  <div id="qunit-fixture">
28
25
  <div id="ember-testing-container">
29
26
  <div id="ember-testing"></div>
@@ -31,10 +28,8 @@
31
28
  </div>
32
29
 
33
30
  <script src="/testem.js" integrity="" data-embroider-ignore></script>
34
- <% if (compat) { %>
35
31
  <script src="/@embroider/virtual/vendor.js"></script>
36
32
  <script src="/@embroider/virtual/test-support.js"></script>
37
- <% } %>
38
33
  <script type="module">import "ember-testing";</script>
39
34
 
40
35
  <script type="module">
@@ -43,8 +38,6 @@
43
38
  start();
44
39
  </script>
45
40
 
46
- <% if (compat) { %>
47
41
  {{content-for "body-footer"}}
48
- <% } %>
49
42
  </body>
50
43
  </html>
@@ -1,14 +1,13 @@
1
1
  <% if (warpDrive) { %>import '@warp-drive/ember/install';<% } %>
2
2
  import Application from '<%= modulePrefix %>/app';
3
- import config<% if (noCompat) {%>, { enterTestMode }<% } %> from '<%= modulePrefix %>/config/environment';
3
+ import config 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
- <% if (noCompat) { %>enterTestMode();
11
- <% } %>setApplication(Application.create(config.APP));
10
+ setApplication(Application.create(config.APP));
12
11
 
13
12
  setup(QUnit.assert);
14
13
  setupEmberOnerrorValidation();
@@ -1,10 +1,10 @@
1
1
  import { defineConfig } from 'vite';
2
- import { extensions<% if (!noCompat) { %>, classicEmberSupport<% } %>, ember } from '@embroider/vite';
2
+ import { extensions, classicEmberSupport, ember } from '@embroider/vite';
3
3
  import { babel } from '@rollup/plugin-babel';
4
4
 
5
5
  export default defineConfig({
6
- plugins: [<% if (!noCompat) { %>
7
- classicEmberSupport(),<% } %>
6
+ plugins: [
7
+ classicEmberSupport(),
8
8
  ember(),
9
9
  // extra plugins here
10
10
  babel({
package/index.js CHANGED
@@ -24,45 +24,6 @@ function stringifyAndNormalize(contents) {
24
24
  * (see `conditional-files`)
25
25
  */
26
26
  const replacers = {
27
- 'app/app.ts'(locals, contents) {
28
- if (locals.minimal) {
29
- let filePath = join(CONDITIONAL_FILES, 'minimal', 'app/app.ts');
30
- let raw = readFileSync(filePath).toString();
31
- return ejs.render(raw, locals);
32
- } else if (locals.noCompat) {
33
- let filePath = join(CONDITIONAL_FILES, 'no-compat', 'app/app.ts');
34
- let raw = readFileSync(filePath).toString();
35
- return ejs.render(raw, locals);
36
- }
37
-
38
- return ejs.render(contents, locals);
39
- },
40
- 'app/config/environment.ts'(locals, contents) {
41
- if (locals.noCompat) {
42
- let filePath = join(
43
- CONDITIONAL_FILES,
44
- 'no-compat',
45
- 'app/config/environment.ts',
46
- );
47
- let raw = readFileSync(filePath).toString();
48
- return ejs.render(raw, locals);
49
- }
50
-
51
- return ejs.render(contents, locals);
52
- },
53
- 'app/templates/application.gts'(locals, contents) {
54
- if (locals.minimal) {
55
- let filePath = join(
56
- CONDITIONAL_FILES,
57
- 'minimal',
58
- 'app/templates/application.gts',
59
- );
60
- let raw = readFileSync(filePath).toString();
61
- return ejs.render(raw, locals);
62
- }
63
-
64
- return ejs.render(contents, locals);
65
- },
66
27
  'package.json'(...args) {
67
28
  return this.updatePackageJson(...args);
68
29
  },
@@ -76,14 +37,7 @@ const replacers = {
76
37
  },
77
38
  'babel.config.mjs'(locals) {
78
39
  let prefix = locals.typescript ? '_ts_' : '_js_';
79
-
80
- let filePath = join(
81
- ...[
82
- CONDITIONAL_FILES,
83
- locals.noCompat && 'no-compat',
84
- prefix + 'babel.config.mjs',
85
- ].filter(Boolean),
86
- );
40
+ let filePath = join(CONDITIONAL_FILES, prefix + 'babel.config.mjs');
87
41
 
88
42
  let raw = readFileSync(filePath).toString();
89
43
 
@@ -126,8 +80,6 @@ module.exports = {
126
80
  options.packageManager === 'pnpm' && '"--pnpm"',
127
81
  options.ciProvider && `"--ci-provider=${options.ciProvider}"`,
128
82
  options.typescript && `"--typescript"`,
129
- options.minimal && `"--minimal"`,
130
- options.noCompat && `"--no-compat"`,
131
83
  !options.emberData && `"--no-ember-data"`,
132
84
  !options.warpDrive && `"--no-warp-drive"`,
133
85
  ]
@@ -149,37 +101,6 @@ module.exports = {
149
101
  execBinPrefix = 'pnpm';
150
102
  }
151
103
 
152
- let welcome = options.welcome;
153
- let warpDrive = options.warpDrive ?? options.emberData;
154
- let minimal = false;
155
- let compat = true;
156
- /**
157
- * --minimal overrides compat/no-compat
158
- */
159
- if (options.minimal) {
160
- minimal = true;
161
- compat = false;
162
-
163
- // Invert defaults
164
- {
165
- welcome = options.welcome = process.argv.includes('--welcome');
166
- warpDrive =
167
- options.emberData =
168
- options.warpDrive =
169
- process.argv.includes('--ember-data') ||
170
- process.argv.includes('--warp-drive');
171
- }
172
- }
173
-
174
- if (!minimal) {
175
- if (options.noCompat || options.compat === false) {
176
- compat = false;
177
- }
178
- }
179
-
180
- let noCompat = !compat;
181
- let notMinimal = !minimal;
182
-
183
104
  return {
184
105
  appDirectory: directoryForPackageName(name),
185
106
  name,
@@ -192,18 +113,14 @@ module.exports = {
192
113
  options.packageManager !== 'yarn' && options.packageManager !== 'pnpm',
193
114
  invokeScriptPrefix,
194
115
  execBinPrefix,
195
- welcome,
116
+ welcome: options.welcome,
196
117
  blueprint: 'app',
197
118
  blueprintOptions,
198
119
  lang: options.lang,
199
- warpDrive: warpDrive,
120
+ warpDrive: options.warpDrive ?? options.emberData,
200
121
  ciProvider: options.ciProvider,
201
122
  typescript: options.typescript,
202
123
  packageManager: options.packageManager ?? 'npm',
203
- compat,
204
- noCompat,
205
- minimal,
206
- notMinimal,
207
124
  };
208
125
  },
209
126
 
@@ -214,10 +131,6 @@ module.exports = {
214
131
 
215
132
  let files = this._super();
216
133
 
217
- // Locals is where we calculate defaults and such.
218
- // Let's not duplicate that work here
219
- options = this.locals(options);
220
-
221
134
  if (options.ciProvider !== 'github') {
222
135
  files = files.filter((file) => file.indexOf('.github') < 0);
223
136
  }
@@ -237,43 +150,6 @@ module.exports = {
237
150
  files = files.filter((file) => !file.includes('services/.gitkeep'));
238
151
  }
239
152
 
240
- if (options.noCompat) {
241
- files = files.filter((file) => {
242
- return (
243
- !file.includes('ember-cli') &&
244
- !file.includes('ember-cli-build.js') &&
245
- !file.includes('controllers/') &&
246
- !file.includes('config/environment.js') &&
247
- !file.includes('config/optional-features') &&
248
- !file.includes('config/targets') &&
249
- !file.includes('app/helpers/')
250
- );
251
- });
252
- }
253
-
254
- if (options.minimal) {
255
- files = files.filter((file) => {
256
- return (
257
- !file.includes('.github/') &&
258
- !file.includes('.prettierignore') &&
259
- !file.includes('README') &&
260
- !file.includes('deprecation-workflow') &&
261
- !file.includes('components/') &&
262
- !file.includes('eslint.config') &&
263
- !file.includes('prettierrc') &&
264
- !file.includes('public/') &&
265
- !file.includes('routes/') &&
266
- !file.includes('services/') &&
267
- !file.includes('stylelint') &&
268
- !file.includes('styles/') &&
269
- !file.includes('template-lintrc') &&
270
- !file.includes('testem') &&
271
- !file.includes('tests/') &&
272
- !file.includes('watchman')
273
- );
274
- });
275
- }
276
-
277
153
  this._files = files;
278
154
 
279
155
  return this._files;
@@ -306,92 +182,6 @@ module.exports = {
306
182
  updatePackageJson(options, content) {
307
183
  let contents = JSON.parse(content);
308
184
 
309
- if (options.minimal) {
310
- // Remove linting
311
- {
312
- delete contents.scripts['format'];
313
- delete contents.scripts['lint'];
314
- delete contents.scripts['lint:format'];
315
- delete contents.scripts['lint:fix'];
316
- delete contents.scripts['lint:js'];
317
- delete contents.scripts['lint:js:fix'];
318
- delete contents.scripts['lint:css'];
319
- delete contents.scripts['lint:css:fix'];
320
- delete contents.scripts['lint:hbs'];
321
- delete contents.scripts['lint:hbs:fix'];
322
-
323
- delete contents.devDependencies['@babel/eslint-parser'];
324
- delete contents.devDependencies['@eslint/js'];
325
- delete contents.devDependencies['concurrently'];
326
- delete contents.devDependencies['ember-template-lint'];
327
- delete contents.devDependencies['eslint'];
328
- delete contents.devDependencies['eslint-config-prettier'];
329
- delete contents.devDependencies['eslint-plugin-ember'];
330
- delete contents.devDependencies['eslint-plugin-n'];
331
- delete contents.devDependencies['eslint-plugin-qunit'];
332
- delete contents.devDependencies['eslint-plugin-warp-drive'];
333
- delete contents.devDependencies['globals'];
334
- delete contents.devDependencies['prettier'];
335
- delete contents.devDependencies['prettier-plugin-ember-template-tag'];
336
- delete contents.devDependencies['stylelint'];
337
- delete contents.devDependencies['stylelint-config-standard'];
338
- delete contents.devDependencies['typescript-eslint'];
339
- }
340
- // Remove testing
341
- {
342
- delete contents.scripts['test'];
343
- delete contents.devDependencies['@ember/test-helpers'];
344
- delete contents.devDependencies['@ember/test-waiters'];
345
- delete contents.devDependencies['ember-qunit'];
346
- delete contents.devDependencies['qunit'];
347
- delete contents.devDependencies['qunit-dom'];
348
- delete contents.devDependencies['testem'];
349
- }
350
- // Extraneous / non-core deps.
351
- // if folks go minimal, they know what they are doing
352
- {
353
- delete contents.devDependencies['ember-welcome-page'];
354
- delete contents.devDependencies['tracked-built-ins'];
355
- delete contents.devDependencies['ember-page-title'];
356
- delete contents.devDependencies['ember-modifier'];
357
- delete contents.devDependencies['ember-cli-deprecation-workflow'];
358
- delete contents.devDependencies['ember-resolver'];
359
- }
360
- // common-in-the-vite-ecosystem alias
361
- {
362
- contents.scripts.dev = contents.scripts.start;
363
- }
364
-
365
- contents.devDependencies['ember-strict-application-resolver'] = '^0.1.0';
366
- }
367
- if (options.noCompat) {
368
- contents.type = 'module';
369
- contents.engines.node = '>= 24';
370
- delete contents.directories;
371
- delete contents.devDependencies['@ember/string'];
372
- delete contents.devDependencies['@ember/optional-features'];
373
- delete contents.devDependencies['@embroider/compat'];
374
- delete contents.devDependencies['@embroider/config-meta-loader'];
375
- // Users should use npx ember-cli instead
376
- delete contents.devDependencies['ember-cli'];
377
- delete contents.devDependencies['ember-cli-babel'];
378
- delete contents.devDependencies['ember-load-initializers'];
379
-
380
- // A nice feature of modern apps is using sub-path imports
381
- // Why specify the whole app name, when you can use `#`?
382
- contents.imports = {
383
- '#app/*': './app/*',
384
- '#config': './app/config/environment',
385
- '#components/*': './app/components/*',
386
- };
387
-
388
- if (contents.scripts.test) {
389
- contents.scripts.test =
390
- 'vite build --mode development && testem ci --port 0';
391
- contents.devDependencies['testem'] = '^3.17.0';
392
- }
393
- }
394
-
395
185
  return stringifyAndNormalize(sortPackageJson(contents));
396
186
  },
397
187
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember/app-blueprint",
3
- "version": "6.10.0-beta.3",
3
+ "version": "6.10.0-beta.4",
4
4
  "description": "Blueprint for next generation of Ember apps",
5
5
  "keywords": [
6
6
  "ember-blueprint"
@@ -25,13 +25,12 @@
25
25
  "ejs": "^3.1.10",
26
26
  "ember-cli-string-utils": "^1.1.0",
27
27
  "lodash": "^4.17.21",
28
- "sort-package-json": "^3.5.1",
29
28
  "walk-sync": "^3.0.0"
30
29
  },
31
30
  "devDependencies": {
32
31
  "@eslint/js": "^9.3.0",
33
32
  "concurrently": "^9.1.2",
34
- "ember-cli": "^6.9.1",
33
+ "ember-cli": "^6.3.1",
35
34
  "eslint": "9.x",
36
35
  "eslint-config-prettier": "^9.1.0",
37
36
  "execa": "^9.1.0",
@@ -43,7 +42,7 @@
43
42
  "release-plan": "^0.17.2",
44
43
  "strip-ansi": "^7.1.0",
45
44
  "tmp-promise": "^3.0.3",
46
- "vitest": "^4.0.16"
45
+ "vitest": "^4.0.0-beta.17"
47
46
  },
48
47
  "scripts": {
49
48
  "lint": "concurrently 'pnpm:lint:*(!fix)'",
@@ -51,10 +50,7 @@
51
50
  "lint:eslint": "eslint .",
52
51
  "lint:prettier": "prettier . --check",
53
52
  "format": "prettier . --write",
54
- "new:app": "pnpm dlx ember-cli@latest new my-app --blueprint .",
55
- "update:all": "pnpm dlx update-blueprint-deps --filter . ./files/package.json",
56
- "update:alpha": "pnpm dlx update-blueprint-deps --ember-source alpha --ember-cli alpha --ember-data alpha ./files/package.json",
57
- "update:beta": "pnpm dlx update-blueprint-deps --ember-source beta --ember-cli beta --ember-data beta ./files/package.json",
58
- "test": "vitest"
53
+ "test": "vitest",
54
+ "new:app": "pnpm dlx ember-cli@latest new my-app --blueprint ."
59
55
  }
60
56
  }
@@ -1,10 +0,0 @@
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
- }
@@ -1,7 +0,0 @@
1
-
2
- <template>
3
- <h1>Welcome to Ember</h1>
4
-
5
- {{outlet}}
6
-
7
- </template>
@@ -1,47 +0,0 @@
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
- };