@ember/app-blueprint 6.12.0-beta.0 → 6.12.0-beta.1

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.
@@ -3,9 +3,11 @@ name: CI
3
3
  on:
4
4
  workflow_dispatch:
5
5
  pull_request:
6
+ paths-ignore:
7
+ - '**.md'
6
8
  push:
7
9
  paths-ignore:
8
- - '**/*.md'
10
+ - '**.md'
9
11
  branches:
10
12
  - main
11
13
 
@@ -8,85 +8,50 @@ on:
8
8
  types:
9
9
  - labeled
10
10
  - unlabeled
11
- branches:
12
- - main
13
11
 
14
12
  concurrency:
15
13
  group: plan-release-alpha # only the latest one of these should ever be running
16
14
  cancel-in-progress: true
17
15
 
18
16
  jobs:
19
- is-this-a-release:
20
- name: "Is this a release?"
17
+ should-run-release-plan-prepare:
18
+ name: Should we run release-plan prepare?
21
19
  runs-on: ubuntu-latest
22
20
  outputs:
23
- command: ${{ steps.check-release.outputs.command }}
24
-
21
+ should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
25
22
  steps:
26
- - uses: actions/checkout@v4
23
+ - uses: release-plan/actions/should-prepare-release@v1
27
24
  with:
28
- fetch-depth: 2
29
25
  ref: 'main'
30
- # This will only cause the `is-this-a-release` job to have a "command" of `release`
31
- # when the .release-plan.json file was changed on the last commit.
32
- - id: check-release
33
- run: if git diff --name-only HEAD HEAD~1 | grep -w -q ".release-plan.json"; then echo "command=release"; fi >> $GITHUB_OUTPUT
26
+ id: should-prepare
34
27
 
35
28
  create-prepare-release-pr:
36
29
  name: Create Prepare Release PR
37
30
  runs-on: ubuntu-latest
38
31
  timeout-minutes: 5
39
- needs: is-this-a-release
32
+ needs: should-run-release-plan-prepare
40
33
  permissions:
41
34
  contents: write
42
35
  issues: read
43
36
  pull-requests: write
44
- # only run on push event or workflow dispatch if plan wasn't updated (don't create a release plan when we're releasing)
45
- # only run on labeled event if the PR has already been merged
46
- if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && needs.is-this-a-release.outputs.command != 'release') || (github.event_name == 'pull_request_target' && github.event.pull_request.merged == true)
47
-
37
+ if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true'
48
38
  steps:
49
- - uses: actions/checkout@v4
50
- # We need to download lots of history so that
51
- # github-changelog can discover what's changed since the last release
39
+ - uses: release-plan/actions/prepare@v1
40
+ name: Run release-plan prepare
52
41
  with:
53
- fetch-depth: 0
54
42
  ref: 'main'
55
- - uses: pnpm/action-setup@v4
56
- - uses: actions/setup-node@v4
57
- with:
58
- node-version: 18
59
- cache: pnpm
60
- - run: pnpm install --frozen-lockfile
61
- - name: "Generate Explanation and Prep Changelogs"
62
- id: explanation
63
- run: |
64
- set +e
65
- pnpm release-plan prepare 2> >(tee -a release-plan-stderr.txt >&2)
66
-
67
- if [ $? -ne 0 ]; then
68
- release_plan_output=$(cat release-plan-stderr.txt)
69
- else
70
- release_plan_output=$(jq .description .release-plan.json -r)
71
- rm release-plan-stderr.txt
72
-
73
- if [ $(jq '.solution | length' .release-plan.json) -eq 1 ]; then
74
- new_version=$(jq -r '.solution[].newVersion' .release-plan.json)
75
- echo "new_version=v$new_version" >> $GITHUB_OUTPUT
76
- fi
77
- fi
78
- echo 'text<<EOF' >> $GITHUB_OUTPUT
79
- echo "$release_plan_output" >> $GITHUB_OUTPUT
80
- echo 'EOF' >> $GITHUB_OUTPUT
81
43
  env:
82
44
  GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
45
+ id: explanation
83
46
 
84
- - uses: peter-evans/create-pull-request@v7
47
+ - uses: peter-evans/create-pull-request@v8
48
+ name: Create Prepare Release PR
85
49
  with:
86
- commit-message: "Prepare Release ${{ steps.explanation.outputs.new_version}} using 'release-plan'"
50
+ commit-message: "Prepare Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
87
51
  labels: "internal"
52
+ sign-commits: true
88
53
  branch: release-preview
89
- title: Prepare Alpha Release ${{ steps.explanation.outputs.new_version }}
54
+ title: Prepare Alpha Release ${{ steps.explanation.outputs.new-version }}
90
55
  body: |
91
56
  This PR is a preview of the release that [release-plan](https://github.com/embroider-build/release-plan) has prepared. To release you should just merge this PR 👍
92
57
 
@@ -8,85 +8,50 @@ on:
8
8
  types:
9
9
  - labeled
10
10
  - unlabeled
11
- branches:
12
- - beta
13
11
 
14
12
  concurrency:
15
13
  group: plan-release-beta # only the latest one of these should ever be running
16
14
  cancel-in-progress: true
17
15
 
18
16
  jobs:
19
- is-this-a-release:
20
- name: "Is this a release?"
17
+ should-run-release-plan-prepare:
18
+ name: Should we run release-plan prepare?
21
19
  runs-on: ubuntu-latest
22
20
  outputs:
23
- command: ${{ steps.check-release.outputs.command }}
24
-
21
+ should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
25
22
  steps:
26
- - uses: actions/checkout@v4
23
+ - uses: release-plan/actions/should-prepare-release@v1
27
24
  with:
28
- fetch-depth: 2
29
25
  ref: 'beta'
30
- # This will only cause the `is-this-a-release` job to have a "command" of `release`
31
- # when the .release-plan.json file was changed on the last commit.
32
- - id: check-release
33
- run: if git diff --name-only HEAD HEAD~1 | grep -w -q ".release-plan.json"; then echo "command=release"; fi >> $GITHUB_OUTPUT
26
+ id: should-prepare
34
27
 
35
28
  create-prepare-release-pr:
36
29
  name: Create Prepare Release PR
37
30
  runs-on: ubuntu-latest
38
31
  timeout-minutes: 5
39
- needs: is-this-a-release
32
+ needs: should-run-release-plan-prepare
40
33
  permissions:
41
34
  contents: write
42
35
  issues: read
43
36
  pull-requests: write
44
- # only run on push event or workflow dispatch if plan wasn't updated (don't create a release plan when we're releasing)
45
- # only run on labeled event if the PR has already been merged
46
- if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && needs.is-this-a-release.outputs.command != 'release') || (github.event_name == 'pull_request_target' && github.event.pull_request.merged == true)
47
-
37
+ if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true'
48
38
  steps:
49
- - uses: actions/checkout@v4
50
- # We need to download lots of history so that
51
- # github-changelog can discover what's changed since the last release
39
+ - uses: release-plan/actions/prepare@v1
40
+ name: Run release-plan prepare
52
41
  with:
53
- fetch-depth: 0
54
42
  ref: 'beta'
55
- - uses: pnpm/action-setup@v4
56
- - uses: actions/setup-node@v4
57
- with:
58
- node-version: 18
59
- cache: pnpm
60
- - run: pnpm install --frozen-lockfile
61
- - name: "Generate Explanation and Prep Changelogs"
62
- id: explanation
63
- run: |
64
- set +e
65
- pnpm release-plan prepare 2> >(tee -a release-plan-stderr.txt >&2)
66
-
67
- if [ $? -ne 0 ]; then
68
- release_plan_output=$(cat release-plan-stderr.txt)
69
- else
70
- release_plan_output=$(jq .description .release-plan.json -r)
71
- rm release-plan-stderr.txt
72
-
73
- if [ $(jq '.solution | length' .release-plan.json) -eq 1 ]; then
74
- new_version=$(jq -r '.solution[].newVersion' .release-plan.json)
75
- echo "new_version=v$new_version" >> $GITHUB_OUTPUT
76
- fi
77
- fi
78
- echo 'text<<EOF' >> $GITHUB_OUTPUT
79
- echo "$release_plan_output" >> $GITHUB_OUTPUT
80
- echo 'EOF' >> $GITHUB_OUTPUT
81
43
  env:
82
44
  GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
45
+ id: explanation
83
46
 
84
- - uses: peter-evans/create-pull-request@v7
47
+ - uses: peter-evans/create-pull-request@v8
48
+ name: Create Prepare Release PR
85
49
  with:
86
- commit-message: "Prepare Release ${{ steps.explanation.outputs.new_version}} using 'release-plan'"
50
+ commit-message: "Prepare Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
87
51
  labels: "internal"
88
- branch: release-preview
89
- title: Prepare Beta Release ${{ steps.explanation.outputs.new_version }}
52
+ sign-commits: true
53
+ branch: release-preview-beta
54
+ title: Prepare Beta Release ${{ steps.explanation.outputs.new-version }}
90
55
  body: |
91
56
  This PR is a preview of the release that [release-plan](https://github.com/embroider-build/release-plan) has prepared. To release you should just merge this PR 👍
92
57
 
@@ -8,85 +8,50 @@ on:
8
8
  types:
9
9
  - labeled
10
10
  - unlabeled
11
- branches:
12
- - release
13
11
 
14
12
  concurrency:
15
13
  group: plan-release # only the latest one of these should ever be running
16
14
  cancel-in-progress: true
17
15
 
18
16
  jobs:
19
- is-this-a-release:
20
- name: "Is this a release?"
17
+ should-run-release-plan-prepare:
18
+ name: Should we run release-plan prepare?
21
19
  runs-on: ubuntu-latest
22
20
  outputs:
23
- command: ${{ steps.check-release.outputs.command }}
24
-
21
+ should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
25
22
  steps:
26
- - uses: actions/checkout@v4
23
+ - uses: release-plan/actions/should-prepare-release@v1
27
24
  with:
28
- fetch-depth: 2
29
25
  ref: 'release'
30
- # This will only cause the `is-this-a-release` job to have a "command" of `release`
31
- # when the .release-plan.json file was changed on the last commit.
32
- - id: check-release
33
- run: if git diff --name-only HEAD HEAD~1 | grep -w -q ".release-plan.json"; then echo "command=release"; fi >> $GITHUB_OUTPUT
26
+ id: should-prepare
34
27
 
35
28
  create-prepare-release-pr:
36
29
  name: Create Prepare Release PR
37
30
  runs-on: ubuntu-latest
38
31
  timeout-minutes: 5
39
- needs: is-this-a-release
32
+ needs: should-run-release-plan-prepare
40
33
  permissions:
41
34
  contents: write
42
35
  issues: read
43
36
  pull-requests: write
44
- # only run on push event or workflow dispatch if plan wasn't updated (don't create a release plan when we're releasing)
45
- # only run on labeled event if the PR has already been merged
46
- if: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && needs.is-this-a-release.outputs.command != 'release') || (github.event_name == 'pull_request_target' && github.event.pull_request.merged == true)
47
-
37
+ if: needs.should-run-release-plan-prepare.outputs.should-prepare == 'true'
48
38
  steps:
49
- - uses: actions/checkout@v4
50
- # We need to download lots of history so that
51
- # github-changelog can discover what's changed since the last release
39
+ - uses: release-plan/actions/prepare@v1
40
+ name: Run release-plan prepare
52
41
  with:
53
- fetch-depth: 0
54
42
  ref: 'release'
55
- - uses: pnpm/action-setup@v4
56
- - uses: actions/setup-node@v4
57
- with:
58
- node-version: 18
59
- cache: pnpm
60
- - run: pnpm install --frozen-lockfile
61
- - name: "Generate Explanation and Prep Changelogs"
62
- id: explanation
63
- run: |
64
- set +e
65
- pnpm release-plan prepare 2> >(tee -a release-plan-stderr.txt >&2)
66
-
67
- if [ $? -ne 0 ]; then
68
- release_plan_output=$(cat release-plan-stderr.txt)
69
- else
70
- release_plan_output=$(jq .description .release-plan.json -r)
71
- rm release-plan-stderr.txt
72
-
73
- if [ $(jq '.solution | length' .release-plan.json) -eq 1 ]; then
74
- new_version=$(jq -r '.solution[].newVersion' .release-plan.json)
75
- echo "new_version=v$new_version" >> $GITHUB_OUTPUT
76
- fi
77
- fi
78
- echo 'text<<EOF' >> $GITHUB_OUTPUT
79
- echo "$release_plan_output" >> $GITHUB_OUTPUT
80
- echo 'EOF' >> $GITHUB_OUTPUT
81
43
  env:
82
44
  GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
45
+ id: explanation
83
46
 
84
- - uses: peter-evans/create-pull-request@v7
47
+ - uses: peter-evans/create-pull-request@v8
48
+ name: Create Prepare Release PR
85
49
  with:
86
- commit-message: "Prepare Release ${{ steps.explanation.outputs.new_version}} using 'release-plan'"
50
+ commit-message: "Prepare Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
87
51
  labels: "internal"
88
- branch: release-preview
89
- title: Prepare Stable Release ${{ steps.explanation.outputs.new_version }}
52
+ sign-commits: true
53
+ branch: release-preview-stable
54
+ title: Prepare Stable Release ${{ steps.explanation.outputs.new-version }}
90
55
  body: |
91
56
  This PR is a preview of the release that [release-plan](https://github.com/embroider-build/release-plan) has prepared. To release you should just merge this PR 👍
92
57
 
@@ -0,0 +1,53 @@
1
+ # Every push to any of the primary branches (master, beta, release) with .release-plan.json modified,
2
+ # runs release-plan publish.
3
+
4
+ name: Publish
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ push:
9
+ branches:
10
+ - main
11
+ - master
12
+ - release
13
+ - beta
14
+ - v-*
15
+ paths:
16
+ - '.release-plan.json'
17
+
18
+ concurrency:
19
+ group: publish-${{ github.head_ref || github.ref }}
20
+ cancel-in-progress: true
21
+
22
+ jobs:
23
+ publish:
24
+ name: "NPM Publish"
25
+ runs-on: ubuntu-latest
26
+ permissions:
27
+ contents: write
28
+ id-token: write
29
+ attestations: write
30
+
31
+ steps:
32
+ - uses: actions/checkout@v6
33
+ - uses: pnpm/action-setup@v4
34
+ - uses: actions/setup-node@v6
35
+ with:
36
+ node-version: 22
37
+ registry-url: 'https://registry.npmjs.org'
38
+ cache: pnpm
39
+ - run: npm install -g npm@latest # ensure that the globally installed npm is new enough to support OIDC
40
+ - run: pnpm install --frozen-lockfile
41
+ - name: Publish to NPM
42
+ # pass --github-prerelease when we are only branch other than release
43
+ # pass --publish-branch=<branch-name> when we are on a branch other than master/main
44
+ run: |
45
+ if [ ${{ github.ref }} = "refs/heads/beta" ]; then
46
+ pnpm release-plan publish --github-prerelease --publish-branch=beta
47
+ elif [ ${{ github.ref }} = "refs/heads/main" ]; then
48
+ pnpm release-plan publish --github-prerelease
49
+ else
50
+ pnpm release-plan publish --publish-branch=${{github.ref_name}}
51
+ fi
52
+ env:
53
+ GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,3 @@
1
+ export default {
2
+ singleQuote: true,
3
+ };
@@ -2,8 +2,8 @@
2
2
  "solution": {
3
3
  "@ember/app-blueprint": {
4
4
  "impact": "minor",
5
- "oldVersion": "6.12.0-alpha.0",
6
- "newVersion": "6.12.0-beta.0",
5
+ "oldVersion": "6.12.0-beta.0",
6
+ "newVersion": "6.12.0-beta.1",
7
7
  "tagName": "beta",
8
8
  "constraints": [
9
9
  {
@@ -26,5 +26,5 @@
26
26
  "pkgJSONPath": "./package.json"
27
27
  }
28
28
  },
29
- "description": "## Release (2026-01-23)\n\n* @ember/app-blueprint 6.12.0-beta.0 (minor)\n\n#### :rocket: Enhancement\n* `@ember/app-blueprint`\n * [#190](https://github.com/ember-cli/ember-app-blueprint/pull/190) Promote Beta and update all dependencies for 6.10 release ([@mansona](https://github.com/mansona))\n\n#### :bug: Bug Fix\n* `@ember/app-blueprint`\n * [#197](https://github.com/ember-cli/ember-app-blueprint/pull/197) update ember-cli dependency to latest ([@mansona](https://github.com/mansona))\n * [#195](https://github.com/ember-cli/ember-app-blueprint/pull/195) add sort-package-json as a dependency ([@mansona](https://github.com/mansona))\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#### :memo: Documentation\n* `@ember/app-blueprint`\n * [#158](https://github.com/ember-cli/ember-app-blueprint/pull/158) update RELEASE.md ([@mansona](https://github.com/mansona))\n\n#### :house: Internal\n* `@ember/app-blueprint`\n * [#202](https://github.com/ember-cli/ember-app-blueprint/pull/202) Prepare 6.12-alpha ([@mansona](https://github.com/mansona))\n * [#200](https://github.com/ember-cli/ember-app-blueprint/pull/200) Prepare Beta Release v6.11.0-beta.1 ([@github-actions[bot]](https://github.com/apps/github-actions))\n * [#199](https://github.com/ember-cli/ember-app-blueprint/pull/199) Prepare 6.11 Beta ([@mansona](https://github.com/mansona))\n\n#### Committers: 3\n- Chris Manson ([@mansona](https://github.com/mansona))\n- [@NullVoxPopuli](https://github.com/NullVoxPopuli)\n- [@github-actions[bot]](https://github.com/apps/github-actions)\n"
29
+ "description": "## Release (2026-04-02)\n\n* @ember/app-blueprint 6.12.0-beta.1 (minor)\n\n#### :rocket: Enhancement\n* `@ember/app-blueprint`\n * [#238](https://github.com/ember-cli/ember-app-blueprint/pull/238) Promote 6.12 to beta and update dependencies ([@mansona](https://github.com/mansona))\n * [#144](https://github.com/ember-cli/ember-app-blueprint/pull/144) feat: move ember-cli-build to `mjs` ([@aklkv](https://github.com/aklkv))\n\n#### :bug: Bug Fix\n* `@ember/app-blueprint`\n * [#231](https://github.com/ember-cli/ember-app-blueprint/pull/231) update ember-cli dependency to latest ([@mansona](https://github.com/mansona))\n * [#226](https://github.com/ember-cli/ember-app-blueprint/pull/226) fix decorator-transforms runtime path in babel.config.mjs ([@mansona](https://github.com/mansona))\n * [#215](https://github.com/ember-cli/ember-app-blueprint/pull/215) upgrade ember/optional-features to clear install deprecation warnings ([@void-mAlex](https://github.com/void-mAlex))\n * [#119](https://github.com/ember-cli/ember-app-blueprint/pull/119) fix: align linters with recent changes in classic app blueprint ([@aklkv](https://github.com/aklkv))\n * [#208](https://github.com/ember-cli/ember-app-blueprint/pull/208) [Bugfix release] Add `globals.browser` to eslint config for TS files ([@mkszepp](https://github.com/mkszepp))\n\n#### :memo: Documentation\n* `@ember/app-blueprint`\n * [#204](https://github.com/ember-cli/ember-app-blueprint/pull/204) Update Release.md ([@mansona](https://github.com/mansona))\n\n#### :house: Internal\n* `@ember/app-blueprint`\n * [#228](https://github.com/ember-cli/ember-app-blueprint/pull/228) Enable patch publish ([@mansona](https://github.com/mansona))\n * [#211](https://github.com/ember-cli/ember-app-blueprint/pull/211) fix release-plan alpha tag ([@mansona](https://github.com/mansona))\n\n#### Committers: 4\n- Alex ([@void-mAlex](https://github.com/void-mAlex))\n- Alexey Kulakov ([@aklkv](https://github.com/aklkv))\n- Chris Manson ([@mansona](https://github.com/mansona))\n- Markus Sanin ([@mkszepp](https://github.com/mkszepp))\n"
30
30
  }
package/CHANGELOG.md CHANGED
@@ -1,58 +1,101 @@
1
1
  # Changelog
2
2
 
3
- ## Release (2026-01-23)
3
+ ## Release (2026-04-02)
4
4
 
5
- * @ember/app-blueprint 6.12.0-beta.0 (minor)
5
+ * @ember/app-blueprint 6.12.0-beta.1 (minor)
6
6
 
7
7
  #### :rocket: Enhancement
8
8
  * `@ember/app-blueprint`
9
- * [#190](https://github.com/ember-cli/ember-app-blueprint/pull/190) Promote Beta and update all dependencies for 6.10 release ([@mansona](https://github.com/mansona))
9
+ * [#238](https://github.com/ember-cli/ember-app-blueprint/pull/238) Promote 6.12 to beta and update dependencies ([@mansona](https://github.com/mansona))
10
+ * [#144](https://github.com/ember-cli/ember-app-blueprint/pull/144) feat: move ember-cli-build to `mjs` ([@aklkv](https://github.com/aklkv))
10
11
 
11
12
  #### :bug: Bug Fix
12
13
  * `@ember/app-blueprint`
13
- * [#197](https://github.com/ember-cli/ember-app-blueprint/pull/197) update ember-cli dependency to latest ([@mansona](https://github.com/mansona))
14
- * [#195](https://github.com/ember-cli/ember-app-blueprint/pull/195) add sort-package-json as a dependency ([@mansona](https://github.com/mansona))
15
- * [#187](https://github.com/ember-cli/ember-app-blueprint/pull/187) [bugfix beta] Revert "Add --minimal and --no-compat" ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
14
+ * [#231](https://github.com/ember-cli/ember-app-blueprint/pull/231) update ember-cli dependency to latest ([@mansona](https://github.com/mansona))
15
+ * [#226](https://github.com/ember-cli/ember-app-blueprint/pull/226) fix decorator-transforms runtime path in babel.config.mjs ([@mansona](https://github.com/mansona))
16
+ * [#215](https://github.com/ember-cli/ember-app-blueprint/pull/215) upgrade ember/optional-features to clear install deprecation warnings ([@void-mAlex](https://github.com/void-mAlex))
17
+ * [#119](https://github.com/ember-cli/ember-app-blueprint/pull/119) fix: align linters with recent changes in classic app blueprint ([@aklkv](https://github.com/aklkv))
18
+ * [#208](https://github.com/ember-cli/ember-app-blueprint/pull/208) [Bugfix release] Add `globals.browser` to eslint config for TS files ([@mkszepp](https://github.com/mkszepp))
16
19
 
17
20
  #### :memo: Documentation
18
21
  * `@ember/app-blueprint`
19
- * [#158](https://github.com/ember-cli/ember-app-blueprint/pull/158) update RELEASE.md ([@mansona](https://github.com/mansona))
22
+ * [#204](https://github.com/ember-cli/ember-app-blueprint/pull/204) Update Release.md ([@mansona](https://github.com/mansona))
20
23
 
21
24
  #### :house: Internal
22
25
  * `@ember/app-blueprint`
23
- * [#202](https://github.com/ember-cli/ember-app-blueprint/pull/202) Prepare 6.12-alpha ([@mansona](https://github.com/mansona))
24
- * [#200](https://github.com/ember-cli/ember-app-blueprint/pull/200) Prepare Beta Release v6.11.0-beta.1 ([@github-actions[bot]](https://github.com/apps/github-actions))
25
- * [#199](https://github.com/ember-cli/ember-app-blueprint/pull/199) Prepare 6.11 Beta ([@mansona](https://github.com/mansona))
26
+ * [#228](https://github.com/ember-cli/ember-app-blueprint/pull/228) Enable patch publish ([@mansona](https://github.com/mansona))
27
+ * [#211](https://github.com/ember-cli/ember-app-blueprint/pull/211) fix release-plan alpha tag ([@mansona](https://github.com/mansona))
26
28
 
27
- #### Committers: 3
29
+ #### Committers: 4
30
+ - Alex ([@void-mAlex](https://github.com/void-mAlex))
31
+ - Alexey Kulakov ([@aklkv](https://github.com/aklkv))
28
32
  - Chris Manson ([@mansona](https://github.com/mansona))
29
- - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
30
- - [@github-actions[bot]](https://github.com/apps/github-actions)
33
+ - Markus Sanin ([@mkszepp](https://github.com/mkszepp))
31
34
 
32
- ## Release (2026-01-23)
35
+ ## Release (2026-03-03)
33
36
 
34
- * @ember/app-blueprint 6.11.0-beta.1 (minor)
37
+ * @ember/app-blueprint 6.11.2 (patch)
35
38
 
36
- #### :rocket: Enhancement
39
+ #### :bug: Bug Fix
37
40
  * `@ember/app-blueprint`
38
- * [#190](https://github.com/ember-cli/ember-app-blueprint/pull/190) Promote Beta and update all dependencies for 6.10 release ([@mansona](https://github.com/mansona))
41
+ * [#231](https://github.com/ember-cli/ember-app-blueprint/pull/231) update ember-cli dependency to latest ([@mansona](https://github.com/mansona))
42
+
43
+ #### Committers: 1
44
+ - Chris Manson ([@mansona](https://github.com/mansona))
45
+
46
+ ## Release (2026-03-01)
47
+
48
+ * @ember/app-blueprint 6.11.1 (patch)
39
49
 
40
50
  #### :bug: Bug Fix
41
51
  * `@ember/app-blueprint`
42
- * [#197](https://github.com/ember-cli/ember-app-blueprint/pull/197) update ember-cli dependency to latest ([@mansona](https://github.com/mansona))
43
- * [#195](https://github.com/ember-cli/ember-app-blueprint/pull/195) add sort-package-json as a dependency ([@mansona](https://github.com/mansona))
52
+ * [#226](https://github.com/ember-cli/ember-app-blueprint/pull/226) fix decorator-transforms runtime path in babel.config.mjs ([@mansona](https://github.com/mansona))
44
53
 
45
- #### :memo: Documentation
54
+ #### Committers: 1
55
+ - Chris Manson ([@mansona](https://github.com/mansona))
56
+
57
+ ## Release (2026-02-17)
58
+
59
+ * @ember/app-blueprint 6.11.0 (minor)
60
+
61
+ #### :rocket: Enhancement
46
62
  * `@ember/app-blueprint`
47
- * [#158](https://github.com/ember-cli/ember-app-blueprint/pull/158) update RELEASE.md ([@mansona](https://github.com/mansona))
63
+ * [#222](https://github.com/ember-cli/ember-app-blueprint/pull/222) Promote Beta and update all dependencies for 6.11 release ([@mansona](https://github.com/mansona))
48
64
 
49
65
  #### :house: Internal
50
66
  * `@ember/app-blueprint`
51
- * [#199](https://github.com/ember-cli/ember-app-blueprint/pull/199) Prepare 6.11 Beta ([@mansona](https://github.com/mansona))
67
+ * [#158](https://github.com/ember-cli/ember-app-blueprint/pull/158) update RELEASE.md ([@mansona](https://github.com/mansona))
52
68
 
53
69
  #### Committers: 1
54
70
  - Chris Manson ([@mansona](https://github.com/mansona))
55
71
 
72
+ ## Release (2026-02-09)
73
+
74
+ * @ember/app-blueprint 6.10.4 (patch)
75
+
76
+ #### :bug: Bug Fix
77
+ * `@ember/app-blueprint`
78
+ * [#209](https://github.com/ember-cli/ember-app-blueprint/pull/209) Remove unnecessary empty lines when `--no-warp-drive` was passed ([@mkszepp](https://github.com/mkszepp))
79
+
80
+ #### :house: Internal
81
+ * `@ember/app-blueprint`
82
+ * [#217](https://github.com/ember-cli/ember-app-blueprint/pull/217) update release-plan to support OIDC ([@mansona](https://github.com/mansona))
83
+
84
+ #### Committers: 2
85
+ - Chris Manson ([@mansona](https://github.com/mansona))
86
+ - Markus Sanin ([@mkszepp](https://github.com/mkszepp))
87
+
88
+ ## Release (2026-01-23)
89
+
90
+ * @ember/app-blueprint 6.10.3 (patch)
91
+
92
+ #### :bug: Bug Fix
93
+ * `@ember/app-blueprint`
94
+ * [#205](https://github.com/ember-cli/ember-app-blueprint/pull/205) [bugfix release] Auto-choose correct compilerPath ([@ef4](https://github.com/ef4))
95
+
96
+ #### Committers: 1
97
+ - Edward Faulkner ([@ef4](https://github.com/ef4))
98
+
56
99
  ## Release (2026-01-23)
57
100
 
58
101
  * @ember/app-blueprint 6.10.2 (patch)
package/RELEASE.md CHANGED
@@ -19,7 +19,8 @@ The release process during release week should look like this:
19
19
  - Wait for `ember-source` to be released first
20
20
  - Merge any outstanding `Prepare Alpha Release` branches
21
21
  - Do an intial stable release from the `release` branch
22
- - update the dependency on `ember-cli` to point at this release and go through the release process there
22
+ - do the initial stable release on the `ember-cli/ember-cli` repo
23
+ - update the ember-cli dependency on this repo and continue the release process here
23
24
  - Merge `release` into `beta`
24
25
  - Do a `beta` release
25
26
  - Merge `beta` into `main`
@@ -60,6 +61,28 @@ You can use [this saved search](https://github.com/ember-cli/ember-app-blueprint
60
61
  - Merge the `Prepare Release` branch when you are ready to release
61
62
  - Check the `Release Stable` GitHub action to make sure the release succeeded
62
63
 
64
+ ### Release ember-cli and update that dependency
65
+
66
+ - Go to the [ember-cli release process](https://github.com/ember-cli/ember-cli/blob/master/RELEASE.md) and complete the initial stable release
67
+ - Make sure that the ember-cli release process is completed and the new stabel release is on npm before continuing here
68
+ - fetch latest from origin `git fetch`
69
+ - create a new branch to update the ember-cli dependency e.g. `git checkout --no-track -b update-ember-cli origin/release`
70
+ - Update ember-cli
71
+
72
+ ```
73
+ pnpm dlx update-blueprint-deps --filter ember-cli --tag latest files/package.json
74
+ ```
75
+ - commit this update `git commit -am "update ember-cli dependency to latest"`
76
+ - push and open a PR targeting `release` with a PR title like `Update ember-cli to 6.4`
77
+ - mark this PR as a `bug` to make sure it goes out in a patch release
78
+ - check that everything is ok (i.e. that CI has run correctly and that you have the changes you expect)
79
+ - merge the PR
80
+ - check that the `Prepare Release` PR has been correctly opened by `release-plan`
81
+ - note: if there are a lot of unrelated PRs (e.g. for previous releases) that you don't want in the release notes you can add the `ignore` label to them
82
+ - Merge the `Prepare Release` branch when you are ready to release
83
+ - Check the `Release Stable` GitHub action to make sure the release succeeded
84
+
85
+
63
86
  ### Beta release from the `beta` branch
64
87
 
65
88
  - fetch latest from origin `git fetch`
@@ -70,11 +93,13 @@ You can use [this saved search](https://github.com/ember-cli/ember-app-blueprint
70
93
  - **make sure to not update any .github/workflows/publish.yml file** this should still publish a beta release
71
94
  - make sure to not update the version in the package.json during this step, that step comes later
72
95
  - make sure to not remove the `release-plan` config section of the the `package.json` during this step.
96
+ - commit this merge
73
97
  - merge master into this new branch too e.g. `git merge origin/main --no-ff`
74
98
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
75
99
  - **make sure to not update the CHANGELOG.md file** in this step. It should match the changelog on `origin/release` at this stage.
76
100
  - update the alpha version in package.json to be a beta i.e. if the incoming merge is `"version": "6.6.0-alpha.3",` update it to `"version": "6.6.0-beta.0",`
77
101
  - make sure not to update the `release-plan` config in `package.json`
102
+ - commit this merge
78
103
  - Update blueprint dependencies to beta
79
104
 
80
105
  ```
@@ -88,6 +113,7 @@ You can use [this saved search](https://github.com/ember-cli/ember-app-blueprint
88
113
  - merge the `merge-release` branch into `beta` in GitHub
89
114
  - check that the `Prepare Beta Release` PR has been correctly opened by `release-plan`
90
115
  - note: the release-plan config will automatically make this version a pre-release
116
+ - note: if there are a lot of PRs for previous releases that you don't want in the release notes you can add the `ignore` label to them
91
117
  - Merge the `Prepare Beta Release` when you are ready to release the next beta version
92
118
  - Check the `Release Beta` GitHub action to make sure the release succeeded
93
119
 
@@ -116,6 +142,8 @@ You can use [this saved search](https://github.com/ember-cli/ember-app-blueprint
116
142
  - check that everything is ok i.e. CI passes
117
143
  - merge the `merge-beta` branch into `main` in GitHub
118
144
  - check that the `Prepare Alpha Release` PR has been correctly opened by `release-plan`
145
+ - note: the release-plan config will automatically make this version a pre-release
146
+ - note: if there are a lot of PRs for previous releases that you don't want in the release notes you can add the `ignore` label to them
119
147
  - Merge the `Prepare Alpha Release` when you are ready to release the next alpha version
120
148
  - Check the `Release Alpha` GitHub action to make sure the release succeeded
121
149
 
@@ -10,7 +10,6 @@ export default {
10
10
  [
11
11
  'babel-plugin-ember-template-compilation',
12
12
  {
13
- compilerPath: 'ember-source/dist/ember-template-compiler.js',
14
13
  enableLegacyModules: [
15
14
  'ember-cli-htmlbars',
16
15
  'ember-cli-htmlbars-inline-precompile',
@@ -23,7 +22,9 @@ export default {
23
22
  'module:decorator-transforms',
24
23
  {
25
24
  runtime: {
26
- import: import.meta.resolve('decorator-transforms/runtime-esm'),
25
+ import: fileURLToPath(
26
+ import.meta.resolve('decorator-transforms/runtime-esm'),
27
+ ),
27
28
  },
28
29
  },
29
30
  ],
@@ -17,8 +17,8 @@ import js from '@eslint/js';
17
17
  import { defineConfig, globalIgnores } from 'eslint/config';
18
18
 
19
19
  import ember from 'eslint-plugin-ember/recommended';
20
- <% if (warpDrive) { %>import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
21
- import eslintConfigPrettier from 'eslint-config-prettier';
20
+ <% if (warpDrive) { %>import WarpDrive from 'eslint-plugin-warp-drive/recommended';
21
+ <% } %>import eslintConfigPrettier from 'eslint-config-prettier';
22
22
  import qunit from 'eslint-plugin-qunit';
23
23
  import n from 'eslint-plugin-n';
24
24
 
@@ -35,8 +35,8 @@ export default defineConfig([
35
35
  eslintConfigPrettier,
36
36
  ember.configs.base,
37
37
  ember.configs.gjs,
38
- <% if (warpDrive) { %>...WarpDrive,<% } %>
39
- /**
38
+ <% if (warpDrive) { %>...WarpDrive,
39
+ <% } %>/**
40
40
  * https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
41
41
  */
42
42
  {
@@ -60,6 +60,7 @@ export default defineConfig([
60
60
  },
61
61
  },
62
62
  {
63
+ ...qunit.configs.recommended,
63
64
  files: ['tests/**/*-test.{js,gjs}'],
64
65
  plugins: {
65
66
  qunit,
@@ -69,7 +70,8 @@ export default defineConfig([
69
70
  * CJS node files
70
71
  */
71
72
  {
72
- files: ['**/*.cjs', 'config/**/*.js', 'ember-cli-build.js'],
73
+ ...n.configs['flat/recommended-script'],
74
+ files: ['**/*.cjs', 'config/**/*.js'],
73
75
  plugins: {
74
76
  n,
75
77
  },
@@ -86,6 +88,7 @@ export default defineConfig([
86
88
  * ESM node files
87
89
  */
88
90
  {
91
+ ...n.configs['flat/recommended-module'],
89
92
  files: ['**/*.mjs'],
90
93
  plugins: {
91
94
  n,
@@ -18,7 +18,6 @@ export default {
18
18
  [
19
19
  'babel-plugin-ember-template-compilation',
20
20
  {
21
- compilerPath: 'ember-source/dist/ember-template-compiler.js',
22
21
  enableLegacyModules: [
23
22
  'ember-cli-htmlbars',
24
23
  'ember-cli-htmlbars-inline-precompile',
@@ -31,7 +30,9 @@ export default {
31
30
  'module:decorator-transforms',
32
31
  {
33
32
  runtime: {
34
- import: import.meta.resolve('decorator-transforms/runtime-esm'),
33
+ import: fileURLToPath(
34
+ import.meta.resolve('decorator-transforms/runtime-esm'),
35
+ ),
35
36
  },
36
37
  },
37
38
  ],
@@ -12,6 +12,9 @@
12
12
  * npx eslint --inspect-config
13
13
  *
14
14
  */
15
+ import { dirname } from 'node:path';
16
+ import { fileURLToPath } from 'node:url';
17
+
15
18
  import globals from 'globals';
16
19
  import js from '@eslint/js';
17
20
  import { defineConfig, globalIgnores } from 'eslint/config';
@@ -19,8 +22,8 @@ import { defineConfig, globalIgnores } from 'eslint/config';
19
22
  import ts from 'typescript-eslint';
20
23
 
21
24
  import ember from 'eslint-plugin-ember/recommended';
22
- <% if (warpDrive) { %>import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
23
-
25
+ <% if (warpDrive) { %>import WarpDrive from 'eslint-plugin-warp-drive/recommended';
26
+ <% } %>
24
27
  import eslintConfigPrettier from 'eslint-config-prettier';
25
28
  import qunit from 'eslint-plugin-qunit';
26
29
  import n from 'eslint-plugin-n';
@@ -35,7 +38,7 @@ const parserOptions = {
35
38
  },
36
39
  ts: {
37
40
  projectService: true,
38
- tsconfigRootDir: import.meta.dirname,
41
+ tsconfigRootDir: dirname(fileURLToPath(import.meta.url)),
39
42
  },
40
43
  },
41
44
  };
@@ -46,8 +49,8 @@ export default defineConfig([
46
49
  ember.configs.base,
47
50
  ember.configs.gjs,
48
51
  ember.configs.gts,
49
- <% if (warpDrive) { %>...WarpDrive,<% } %>
50
- eslintConfigPrettier,
52
+ <% if (warpDrive) { %>...WarpDrive,
53
+ <% } %>eslintConfigPrettier,
51
54
  /**
52
55
  * https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
53
56
  */
@@ -76,10 +79,14 @@ export default defineConfig([
76
79
  languageOptions: {
77
80
  parser: ember.parser,
78
81
  parserOptions: parserOptions.esm.ts,
82
+ globals: {
83
+ ...globals.browser,
84
+ },
79
85
  },
80
86
  extends: [...ts.configs.recommendedTypeChecked, ember.configs.gts],
81
87
  },
82
88
  {
89
+ ...qunit.configs.recommended,
83
90
  files: ['tests/**/*-test.{js,gjs,ts,gts}'],
84
91
  plugins: {
85
92
  qunit,
@@ -89,7 +96,8 @@ export default defineConfig([
89
96
  * CJS node files
90
97
  */
91
98
  {
92
- files: ['**/*.cjs', 'config/**/*.js', 'ember-cli-build.js'],
99
+ ...n.configs['flat/recommended-script'],
100
+ files: ['**/*.cjs', 'config/**/*.js'],
93
101
  plugins: {
94
102
  n,
95
103
  },
@@ -106,6 +114,7 @@ export default defineConfig([
106
114
  * ESM node files
107
115
  */
108
116
  {
117
+ ...n.configs['flat/recommended-module'],
109
118
  files: ['**/*.mjs'],
110
119
  plugins: {
111
120
  n,
package/eslint.config.mjs CHANGED
@@ -9,7 +9,7 @@ export default [
9
9
  },
10
10
  {
11
11
  files: [
12
- 'files/*/app/**/*.js',
12
+ 'files/app/**/*.js',
13
13
  'files-override/**/*.mjs',
14
14
  'files-override/*/app/**/*.js',
15
15
  'files-override/*/tests/**/*.js',
@@ -27,7 +27,7 @@ export default [
27
27
  {
28
28
  ignores: [
29
29
  'tests/fixtures/*',
30
- 'files/ember-cli-build.js',
30
+ 'files/ember-cli-build.mjs',
31
31
  'conditional-files/_js_*',
32
32
  'conditional-files/_ts_*',
33
33
  ],
@@ -1,36 +1,11 @@
1
1
  export default {
2
2
  plugins: ['prettier-plugin-ember-template-tag'],
3
- singleQuote: true,
4
3
  overrides: [
5
4
  {
6
- files: ['*.js', '*.ts', '*.cjs', '.mjs', '.cts', '.mts', '.cts'],
7
- options: {
8
- trailingComma: 'es5',
9
- },
10
- },
11
- {
12
- files: ['*.html'],
13
- options: {
14
- singleQuote: false,
15
- },
16
- },
17
- {
18
- files: ['*.json'],
19
- options: {
20
- singleQuote: false,
21
- },
22
- },
23
- {
24
- files: ['*.hbs'],
25
- options: {
26
- singleQuote: false,
27
- },
28
- },
29
- {
30
- files: ['*.gjs', '*.gts'],
5
+ files: '*.{js,gjs,ts,gts,mjs,mts,cjs,cts}',
31
6
  options: {
7
+ singleQuote: true,
32
8
  templateSingleQuote: false,
33
- trailingComma: 'es5',
34
9
  },
35
10
  },
36
11
  ],
package/files/app/app.ts CHANGED
@@ -1,5 +1,5 @@
1
- <% if (warpDrive) { %>import '@warp-drive/ember/install';<% } %>
2
- import Application from '@ember/application';
1
+ <% if (warpDrive) { %>import '@warp-drive/ember/install';
2
+ <% } %>import Application from '@ember/application';
3
3
  import compatModules from '@embroider/virtual/compat-modules';
4
4
  import Resolver from 'ember-resolver';
5
5
  import loadInitializers from 'ember-load-initializers';
@@ -0,0 +1,27 @@
1
+ import loadConfigFromMeta from '@embroider/config-meta-loader';
2
+ import { assert } from '@ember/debug';
3
+
4
+ const config = loadConfigFromMeta('<%= name %>');
5
+
6
+ assert(
7
+ 'config is not an object',
8
+ typeof config === 'object' && config !== null,
9
+ );
10
+ assert(
11
+ 'modulePrefix was not detected on your config',
12
+ 'modulePrefix' in config && typeof config.modulePrefix === 'string',
13
+ );
14
+ assert(
15
+ 'locationType was not detected on your config',
16
+ 'locationType' in config && typeof config.locationType === 'string',
17
+ );
18
+ assert(
19
+ 'rootURL was not detected on your config',
20
+ 'rootURL' in config && typeof config.rootURL === 'string',
21
+ );
22
+ assert(
23
+ 'APP was not detected on your config',
24
+ 'APP' in config && typeof config.APP === 'object',
25
+ );
26
+
27
+ export default config;
@@ -5,23 +5,23 @@ const config = loadConfigFromMeta('<%= name %>') as unknown;
5
5
 
6
6
  assert(
7
7
  'config is not an object',
8
- typeof config === 'object' && config !== null
8
+ typeof config === 'object' && config !== null,
9
9
  );
10
10
  assert(
11
11
  'modulePrefix was not detected on your config',
12
- 'modulePrefix' in config && typeof config.modulePrefix === 'string'
12
+ 'modulePrefix' in config && typeof config.modulePrefix === 'string',
13
13
  );
14
14
  assert(
15
15
  'locationType was not detected on your config',
16
- 'locationType' in config && typeof config.locationType === 'string'
16
+ 'locationType' in config && typeof config.locationType === 'string',
17
17
  );
18
18
  assert(
19
19
  'rootURL was not detected on your config',
20
- 'rootURL' in config && typeof config.rootURL === 'string'
20
+ 'rootURL' in config && typeof config.rootURL === 'string',
21
21
  );
22
22
  assert(
23
23
  'APP was not detected on your config',
24
- 'APP' in config && typeof config.APP === 'object'
24
+ 'APP' in config && typeof config.APP === 'object',
25
25
  );
26
26
 
27
27
  export default config as {
@@ -1,17 +1,17 @@
1
- 'use strict';
1
+ <% if (warpDrive) {%>import { dirname } from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ <% } %>import EmberApp from 'ember-cli/lib/broccoli/ember-app.js';
4
+ import { compatBuild } from '@embroider/compat';
2
5
 
3
- const EmberApp = require('ember-cli/lib/broccoli/ember-app');
4
- const { compatBuild } = require('@embroider/compat');
5
-
6
- module.exports = async function (defaults) {
6
+ export default async function (defaults) {
7
7
  <% if (warpDrive) {%>const { setConfig } = await import('@warp-drive/core/build-config');
8
8
  <% } %>const { buildOnce } = await import('@embroider/vite');
9
9
 
10
- let app = new EmberApp(defaults, {
10
+ const app = new EmberApp(defaults, {
11
11
  // Add options here
12
12
  });
13
13
  <% if (warpDrive) {%>
14
- setConfig(app, __dirname, {
14
+ setConfig(app, dirname(fileURLToPath(import.meta.url)), {
15
15
  // this should be the most recent <major>.<minor> version for
16
16
  // which all deprecations have been fully resolved
17
17
  // and should be updated when that changes
@@ -22,4 +22,4 @@ module.exports = async function (defaults) {
22
22
  });
23
23
  <% } %>
24
24
  return compatBuild(app, buildOnce);
25
- };
25
+ }
package/files/gitignore CHANGED
@@ -14,12 +14,5 @@
14
14
  /testem.log
15
15
  /yarn-error.log
16
16
 
17
- # ember-try
18
- /.node_modules.ember-try/
19
- /npm-shrinkwrap.json.ember-try
20
- /package.json.ember-try
21
- /package-lock.json.ember-try
22
- /yarn.lock.ember-try
23
-
24
17
  # broccoli-debug
25
18
  /DEBUG/
@@ -31,28 +31,28 @@
31
31
  "./*": "./app/*"
32
32
  },
33
33
  "devDependencies": {
34
- "@babel/core": "^7.28.6",
34
+ "@babel/core": "^7.29.0",
35
35
  "@babel/runtime": "^7.28.6",
36
- "@babel/plugin-transform-runtime": "^7.28.5<% if (typescript) { %>",
36
+ "@babel/plugin-transform-runtime": "^7.29.0<% if (typescript) { %>",
37
37
  "@babel/plugin-transform-typescript": "^7.28.6<% } %>",
38
38
  "@babel/eslint-parser": "^7.28.6<% if (typescript) { %>",
39
39
  "@ember/app-tsconfig": "^1.0.3<% } %>",
40
- "@ember/optional-features": "^2.3.0",
40
+ "@ember/optional-features": "^3.0.0",
41
41
  "@ember/string": "^4.0.1",
42
42
  "@ember/test-helpers": "^5.4.1",
43
43
  "@ember/test-waiters": "^4.1.1",
44
- "@embroider/macros": "^1.19.6",
45
- "@embroider/core": "^4.4.2",
46
- "@embroider/vite": "^1.5.0",
47
- "@embroider/compat": "^4.1.12",
44
+ "@embroider/macros": "^1.19.7",
45
+ "@embroider/core": "^4.4.3",
46
+ "@embroider/vite": "^1.5.2",
47
+ "@embroider/compat": "^4.1.13",
48
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
51
  "@eslint/js": "^9.39.2",
52
52
  "@glimmer/component": "^2.0.0<% if (typescript) { %>",
53
- "@glint/ember-tsc": "^1.0.9",
54
- "@glint/template": "^1.7.3",
55
- "@glint/tsserver-plugin": "^2.0.9<% } %>",
53
+ "@glint/ember-tsc": "^1.1.1",
54
+ "@glint/template": "^1.7.4",
55
+ "@glint/tsserver-plugin": "^2.1.0<% } %>",
56
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) { %>",
@@ -64,37 +64,37 @@
64
64
  "babel-plugin-ember-template-compilation": "^3.1.0",
65
65
  "concurrently": "^9.2.1",
66
66
  "decorator-transforms": "^2.3.1",
67
- "ember-cli": "~6.10.0",
68
- "ember-cli-babel": "^8.2.0",
67
+ "ember-cli": "~6.11.0",
68
+ "ember-cli-babel": "^8.3.1",
69
69
  "ember-cli-deprecation-workflow": "^3.4.0",
70
70
  "ember-load-initializers": "^3.0.1",
71
- "ember-modifier": "^4.2.2",
71
+ "ember-modifier": "^4.3.0",
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.11.0-alpha.6",
75
+ "ember-source": "~6.12.0-beta.1",
76
76
  "ember-template-lint": "^7.9.3<% if (welcome) { %>",
77
77
  "ember-welcome-page": "^8.0.5<% } %>",
78
78
  "eslint": "^9.39.2",
79
79
  "eslint-config-prettier": "^10.1.8",
80
80
  "eslint-plugin-ember": "^12.7.5",
81
- "eslint-plugin-n": "^17.23.2",
82
- "eslint-plugin-qunit": "^8.2.5<% if (warpDrive) { %>",
81
+ "eslint-plugin-n": "^17.24.0",
82
+ "eslint-plugin-qunit": "^8.2.6<% if (warpDrive) { %>",
83
83
  "eslint-plugin-warp-drive": "^5.8.1<% } %>",
84
84
  "globals": "^16.5.0",
85
- "prettier": "^3.8.0",
86
- "prettier-plugin-ember-template-tag": "^2.1.2",
85
+ "prettier": "^3.8.1",
86
+ "prettier-plugin-ember-template-tag": "^2.1.3",
87
87
  "qunit": "^2.25.0",
88
88
  "qunit-dom": "^3.5.0",
89
89
  "stylelint": "^16.26.1",
90
90
  "stylelint-config-standard": "^38.0.0",
91
91
  "testem": "^3.17.0<% if (typescript) { %>",
92
92
  "typescript": "^5.9.3",
93
- "typescript-eslint": "^8.53.0<% } %>",
93
+ "typescript-eslint": "^8.56.0<% } %>",
94
94
  "vite": "^7.3.1"
95
95
  },
96
96
  "engines": {
97
- "node": ">= 20"
97
+ "node": ">= 20.19.0"
98
98
  },
99
99
  "ember": {
100
100
  "edition": "octane"
@@ -1,5 +1,5 @@
1
- <% if (warpDrive) { %>import '@warp-drive/ember/install';<% } %>
2
- import Application from '<%= modulePrefix %>/app';
1
+ <% if (warpDrive) { %>import '@warp-drive/ember/install';
2
+ <% } %>import Application from '<%= modulePrefix %>/app';
3
3
  import config from '<%= modulePrefix %>/config/environment';
4
4
  import * as QUnit from 'qunit';
5
5
  import { setApplication } from '@ember/test-helpers';
package/index.js CHANGED
@@ -136,11 +136,20 @@ module.exports = {
136
136
  }
137
137
 
138
138
  if (!options.typescript) {
139
+ // Exclude TypeScript-only files for JavaScript apps.
140
+ // Note: app/config/environment.ts is excluded explicitly because
141
+ // shouldTransformTypeScript strips trailing commas when converting to JS,
142
+ // causing Prettier failures. We use a separate .js file instead.
139
143
  files = files.filter(
140
144
  (file) =>
141
- !['tsconfig.json', 'app/config/', 'types/'].includes(file) &&
145
+ file !== 'tsconfig.json' &&
146
+ file !== 'app/config/environment.ts' &&
147
+ !file.startsWith('types/') &&
142
148
  !file.endsWith('.d.ts'),
143
149
  );
150
+ } else {
151
+ // For TypeScript apps, exclude the JS version of app/config/environment
152
+ files = files.filter((file) => file !== 'app/config/environment.js');
144
153
  }
145
154
 
146
155
  const warpDrive = options.warpDrive || options.emberData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember/app-blueprint",
3
- "version": "6.12.0-beta.0",
3
+ "version": "6.12.0-beta.1",
4
4
  "description": "Blueprint for next generation of Ember apps",
5
5
  "keywords": [
6
6
  "ember-blueprint"
@@ -1,42 +0,0 @@
1
- # For every push to the primary branch with .release-plan.json modified,
2
- # runs release-plan.
3
-
4
- name: Publish Alpha
5
-
6
- on:
7
- workflow_dispatch:
8
- push:
9
- branches:
10
- - main
11
- paths:
12
- - '.release-plan.json'
13
-
14
- concurrency:
15
- group: publish-${{ github.head_ref || github.ref }}
16
- cancel-in-progress: true
17
-
18
- jobs:
19
- publish:
20
- name: "NPM Publish"
21
- runs-on: ubuntu-latest
22
- permissions:
23
- contents: write
24
- pull-requests: write
25
- id-token: write
26
- attestations: write
27
-
28
- steps:
29
- - uses: actions/checkout@v4
30
- - uses: pnpm/action-setup@v4
31
- - uses: actions/setup-node@v4
32
- with:
33
- node-version: 18
34
- # This creates an .npmrc that reads the NODE_AUTH_TOKEN environment variable
35
- registry-url: 'https://registry.npmjs.org'
36
- cache: pnpm
37
- - run: pnpm install --frozen-lockfile
38
- - name: Publish to NPM
39
- run: NPM_CONFIG_PROVENANCE=true pnpm release-plan publish --github-prerelease
40
- env:
41
- GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
42
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -1,42 +0,0 @@
1
- # For every push to the primary branch with .release-plan.json modified,
2
- # runs release-plan.
3
-
4
- name: Publish Beta
5
-
6
- on:
7
- workflow_dispatch:
8
- push:
9
- branches:
10
- - beta
11
- paths:
12
- - '.release-plan.json'
13
-
14
- concurrency:
15
- group: publish-${{ github.head_ref || github.ref }}
16
- cancel-in-progress: true
17
-
18
- jobs:
19
- publish:
20
- name: "NPM Publish"
21
- runs-on: ubuntu-latest
22
- permissions:
23
- contents: write
24
- pull-requests: write
25
- id-token: write
26
- attestations: write
27
-
28
- steps:
29
- - uses: actions/checkout@v4
30
- - uses: pnpm/action-setup@v4
31
- - uses: actions/setup-node@v4
32
- with:
33
- node-version: 18
34
- # This creates an .npmrc that reads the NODE_AUTH_TOKEN environment variable
35
- registry-url: 'https://registry.npmjs.org'
36
- cache: pnpm
37
- - run: pnpm install --frozen-lockfile
38
- - name: Publish to NPM
39
- run: NPM_CONFIG_PROVENANCE=true pnpm release-plan publish --publish-branch=beta --github-prerelease
40
- env:
41
- GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
42
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -1,42 +0,0 @@
1
- # For every push to the primary branch with .release-plan.json modified,
2
- # runs release-plan.
3
-
4
- name: Publish Stable
5
-
6
- on:
7
- workflow_dispatch:
8
- push:
9
- branches:
10
- - release
11
- paths:
12
- - '.release-plan.json'
13
-
14
- concurrency:
15
- group: publish-${{ github.head_ref || github.ref }}
16
- cancel-in-progress: true
17
-
18
- jobs:
19
- publish:
20
- name: "NPM Publish"
21
- runs-on: ubuntu-latest
22
- permissions:
23
- contents: write
24
- pull-requests: write
25
- id-token: write
26
- attestations: write
27
-
28
- steps:
29
- - uses: actions/checkout@v4
30
- - uses: pnpm/action-setup@v4
31
- - uses: actions/setup-node@v4
32
- with:
33
- node-version: 18
34
- # This creates an .npmrc that reads the NODE_AUTH_TOKEN environment variable
35
- registry-url: 'https://registry.npmjs.org'
36
- cache: pnpm
37
- - run: pnpm install --frozen-lockfile
38
- - name: Publish to NPM
39
- run: NPM_CONFIG_PROVENANCE=true pnpm release-plan publish --publish-branch=release
40
- env:
41
- GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }}
42
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.prettierrc.cjs DELETED
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- singleQuote: true,
5
- overrides: [
6
- {
7
- files: ['*.js', '*.ts', '*.cjs', '.mjs', '.cts', '.mts', '.cts'],
8
- options: {
9
- singleQuote: true,
10
- },
11
- },
12
- ],
13
- };