@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.
- package/.github/workflows/ci.yml +3 -1
- package/.github/workflows/plan-alpha-release.yml +15 -50
- package/.github/workflows/plan-beta-release.yml +16 -51
- package/.github/workflows/plan-stable-release.yml +16 -51
- package/.github/workflows/publish.yml +53 -0
- package/.prettierrc.mjs +3 -0
- package/.release-plan.json +3 -3
- package/CHANGELOG.md +65 -22
- package/RELEASE.md +29 -1
- package/conditional-files/_js_babel.config.mjs +3 -2
- package/conditional-files/_js_eslint.config.mjs +8 -5
- package/conditional-files/_ts_babel.config.mjs +3 -2
- package/conditional-files/_ts_eslint.config.mjs +15 -6
- package/eslint.config.mjs +2 -2
- package/files/.prettierrc.mjs +2 -27
- package/files/app/app.ts +2 -2
- package/files/app/config/environment.js +27 -0
- package/files/app/config/environment.ts +5 -5
- package/files/{ember-cli-build.js → ember-cli-build.mjs} +8 -8
- package/files/gitignore +0 -7
- package/files/package.json +20 -20
- package/files/tests/test-helper.ts +2 -2
- package/index.js +10 -1
- package/package.json +1 -1
- package/.github/workflows/publish-alpha.yml +0 -42
- package/.github/workflows/publish-beta.yml +0 -42
- package/.github/workflows/publish-stable.yml +0 -42
- package/.prettierrc.cjs +0 -13
package/.github/workflows/ci.yml
CHANGED
|
@@ -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
|
-
|
|
20
|
-
name:
|
|
17
|
+
should-run-release-plan-prepare:
|
|
18
|
+
name: Should we run release-plan prepare?
|
|
21
19
|
runs-on: ubuntu-latest
|
|
22
20
|
outputs:
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
|
|
25
22
|
steps:
|
|
26
|
-
- uses: actions/
|
|
23
|
+
- uses: release-plan/actions/should-prepare-release@v1
|
|
27
24
|
with:
|
|
28
|
-
fetch-depth: 2
|
|
29
25
|
ref: 'main'
|
|
30
|
-
|
|
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:
|
|
32
|
+
needs: should-run-release-plan-prepare
|
|
40
33
|
permissions:
|
|
41
34
|
contents: write
|
|
42
35
|
issues: read
|
|
43
36
|
pull-requests: write
|
|
44
|
-
|
|
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/
|
|
50
|
-
|
|
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@
|
|
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.
|
|
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.
|
|
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
|
-
|
|
20
|
-
name:
|
|
17
|
+
should-run-release-plan-prepare:
|
|
18
|
+
name: Should we run release-plan prepare?
|
|
21
19
|
runs-on: ubuntu-latest
|
|
22
20
|
outputs:
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
|
|
25
22
|
steps:
|
|
26
|
-
- uses: actions/
|
|
23
|
+
- uses: release-plan/actions/should-prepare-release@v1
|
|
27
24
|
with:
|
|
28
|
-
fetch-depth: 2
|
|
29
25
|
ref: 'beta'
|
|
30
|
-
|
|
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:
|
|
32
|
+
needs: should-run-release-plan-prepare
|
|
40
33
|
permissions:
|
|
41
34
|
contents: write
|
|
42
35
|
issues: read
|
|
43
36
|
pull-requests: write
|
|
44
|
-
|
|
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/
|
|
50
|
-
|
|
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@
|
|
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.
|
|
50
|
+
commit-message: "Prepare Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
|
|
87
51
|
labels: "internal"
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
20
|
-
name:
|
|
17
|
+
should-run-release-plan-prepare:
|
|
18
|
+
name: Should we run release-plan prepare?
|
|
21
19
|
runs-on: ubuntu-latest
|
|
22
20
|
outputs:
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
should-prepare: ${{ steps.should-prepare.outputs.should-prepare }}
|
|
25
22
|
steps:
|
|
26
|
-
- uses: actions/
|
|
23
|
+
- uses: release-plan/actions/should-prepare-release@v1
|
|
27
24
|
with:
|
|
28
|
-
fetch-depth: 2
|
|
29
25
|
ref: 'release'
|
|
30
|
-
|
|
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:
|
|
32
|
+
needs: should-run-release-plan-prepare
|
|
40
33
|
permissions:
|
|
41
34
|
contents: write
|
|
42
35
|
issues: read
|
|
43
36
|
pull-requests: write
|
|
44
|
-
|
|
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/
|
|
50
|
-
|
|
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@
|
|
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.
|
|
50
|
+
commit-message: "Prepare Release ${{ steps.explanation.outputs.new-version}} using 'release-plan'"
|
|
87
51
|
labels: "internal"
|
|
88
|
-
|
|
89
|
-
|
|
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 }}
|
package/.prettierrc.mjs
ADDED
package/.release-plan.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"solution": {
|
|
3
3
|
"@ember/app-blueprint": {
|
|
4
4
|
"impact": "minor",
|
|
5
|
-
"oldVersion": "6.12.0-
|
|
6
|
-
"newVersion": "6.12.0-beta.
|
|
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-
|
|
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-
|
|
3
|
+
## Release (2026-04-02)
|
|
4
4
|
|
|
5
|
-
* @ember/app-blueprint 6.12.0-beta.
|
|
5
|
+
* @ember/app-blueprint 6.12.0-beta.1 (minor)
|
|
6
6
|
|
|
7
7
|
#### :rocket: Enhancement
|
|
8
8
|
* `@ember/app-blueprint`
|
|
9
|
-
* [#
|
|
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
|
-
* [#
|
|
14
|
-
* [#
|
|
15
|
-
* [#
|
|
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
|
-
* [#
|
|
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
|
-
* [#
|
|
24
|
-
* [#
|
|
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:
|
|
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
|
-
- [@
|
|
30
|
-
- [@github-actions[bot]](https://github.com/apps/github-actions)
|
|
33
|
+
- Markus Sanin ([@mkszepp](https://github.com/mkszepp))
|
|
31
34
|
|
|
32
|
-
## Release (2026-
|
|
35
|
+
## Release (2026-03-03)
|
|
33
36
|
|
|
34
|
-
* @ember/app-blueprint 6.11.
|
|
37
|
+
* @ember/app-blueprint 6.11.2 (patch)
|
|
35
38
|
|
|
36
|
-
#### :
|
|
39
|
+
#### :bug: Bug Fix
|
|
37
40
|
* `@ember/app-blueprint`
|
|
38
|
-
* [#
|
|
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
|
-
* [#
|
|
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
|
-
#### :
|
|
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
|
-
* [#
|
|
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
|
-
* [#
|
|
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
|
-
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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
|
-
|
|
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
|
|
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.
|
|
30
|
+
'files/ember-cli-build.mjs',
|
|
31
31
|
'conditional-files/_js_*',
|
|
32
32
|
'conditional-files/_ts_*',
|
|
33
33
|
],
|
package/files/.prettierrc.mjs
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
10
|
+
const app = new EmberApp(defaults, {
|
|
11
11
|
// Add options here
|
|
12
12
|
});
|
|
13
13
|
<% if (warpDrive) {%>
|
|
14
|
-
setConfig(app,
|
|
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
package/files/package.json
CHANGED
|
@@ -31,28 +31,28 @@
|
|
|
31
31
|
"./*": "./app/*"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@babel/core": "^7.
|
|
34
|
+
"@babel/core": "^7.29.0",
|
|
35
35
|
"@babel/runtime": "^7.28.6",
|
|
36
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
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": "^
|
|
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.
|
|
45
|
-
"@embroider/core": "^4.4.
|
|
46
|
-
"@embroider/vite": "^1.5.
|
|
47
|
-
"@embroider/compat": "^4.1.
|
|
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.
|
|
54
|
-
"@glint/template": "^1.7.
|
|
55
|
-
"@glint/tsserver-plugin": "^2.0
|
|
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.
|
|
68
|
-
"ember-cli-babel": "^8.
|
|
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.
|
|
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.
|
|
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.
|
|
82
|
-
"eslint-plugin-qunit": "^8.2.
|
|
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.
|
|
86
|
-
"prettier-plugin-ember-template-tag": "^2.1.
|
|
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.
|
|
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
|
-
|
|
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,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 }}
|