ember-cli 6.8.0 → 6.9.0-alpha.2

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/CHANGELOG.md CHANGED
@@ -2,36 +2,25 @@
2
2
 
3
3
  ## Release (2025-10-14)
4
4
 
5
- * ember-cli 6.8.0 (minor)
6
- * @ember-tooling/classic-build-addon-blueprint 6.8.0 (minor)
7
- * @ember-tooling/classic-build-app-blueprint 6.8.0 (minor)
5
+ * ember-cli 6.9.0-alpha.2 (minor)
6
+ * @ember-tooling/classic-build-addon-blueprint 6.9.0-alpha.2 (minor)
7
+ * @ember-tooling/classic-build-app-blueprint 6.9.0-alpha.2 (minor)
8
+ * @ember-tooling/blueprint-blueprint 0.2.1 (patch)
9
+ * @ember-tooling/blueprint-model 0.4.1 (patch)
8
10
 
9
11
  #### :rocket: Enhancement
10
- * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
11
- * [#10853](https://github.com/ember-cli/ember-cli/pull/10853) Promote Beta and update all dependencies for 6.8 release ([@mansona](https://github.com/mansona))
12
- * [#10831](https://github.com/ember-cli/ember-cli/pull/10831) [bugfix beta] enable `--strict` by default to match new app blueprint ([@mansona](https://github.com/mansona))
13
- * [#10808](https://github.com/ember-cli/ember-cli/pull/10808) Prepare 6.8 Beta ([@mansona](https://github.com/mansona))
14
12
  * `ember-cli`
15
13
  * [#10844](https://github.com/ember-cli/ember-cli/pull/10844) [beta] Error when `ember (generate|destroy) (http-proxy|http-mock|server)` is used in a Vite-based project ([@kategengler](https://github.com/kategengler))
16
- * [#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite by default ([@mansona](https://github.com/mansona))
17
- * [#10804](https://github.com/ember-cli/ember-cli/pull/10804) Support a `--ts` alias for the `addon`, `init` and `new` commands ([@bertdeblock](https://github.com/bertdeblock))
18
- * [#10781](https://github.com/ember-cli/ember-cli/pull/10781) Add new `VITE` experiment to generate app with new Vite blueprint ([@pichfl](https://github.com/pichfl))
19
- * [#10785](https://github.com/ember-cli/ember-cli/pull/10785) Depracate passing filenames and globs to `init` ([@pichfl](https://github.com/pichfl))
20
- * [#10776](https://github.com/ember-cli/ember-cli/pull/10776) Add deprecation warning for the `--embroider` argument ([@pichfl](https://github.com/pichfl))
21
- * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
22
- * [#10791](https://github.com/ember-cli/ember-cli/pull/10791) update the format of the ember-cli-update.json ([@mansona](https://github.com/mansona))
14
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
15
+ * [#10831](https://github.com/ember-cli/ember-cli/pull/10831) [bugfix beta] enable `--strict` by default to match new app blueprint ([@mansona](https://github.com/mansona))
23
16
 
24
17
  #### :bug: Bug Fix
25
18
  * `ember-cli`
26
19
  * [#10846](https://github.com/ember-cli/ember-cli/pull/10846) [beta bugfix] allow build --watch only in EMBROIDER_PREBUILD ([@mansona](https://github.com/mansona))
20
+ * [#10834](https://github.com/ember-cli/ember-cli/pull/10834) [bugfix release] Fix tests using wrong versions ([@mansona](https://github.com/mansona))
27
21
  * [#10826](https://github.com/ember-cli/ember-cli/pull/10826) move resolution of @ember/app-blueprint to prevent loading latest ([@mansona](https://github.com/mansona))
28
- * [#10782](https://github.com/ember-cli/ember-cli/pull/10782) update heimdall-fs-monitor ([@mansona](https://github.com/mansona))
29
- * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
30
- * [#10803](https://github.com/ember-cli/ember-cli/pull/10803) Add "ember-blueprint" to keywords in `package.json` for the classic blueprints ([@pichfl](https://github.com/pichfl))
31
- * `@ember-tooling/classic-build-app-blueprint`
32
- * [#10798](https://github.com/ember-cli/ember-cli/pull/10798) Add import from ember-data breakage/deprecation ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
33
- * `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
34
- * [#10707](https://github.com/ember-cli/ember-cli/pull/10707) Enabled recommended configs from eslint-plugin-n and eslint-plugin-qunit ([@ijlee2](https://github.com/ijlee2))
22
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
23
+ * [#10838](https://github.com/ember-cli/ember-cli/pull/10838) Add package license metadata to match repository ([@davidtaylorhq](https://github.com/davidtaylorhq))
35
24
 
36
25
  #### :memo: Documentation
37
26
  * `ember-cli`
@@ -40,75 +29,233 @@
40
29
  * [#10835](https://github.com/ember-cli/ember-cli/pull/10835) Update deprecation message for --embroider option ([@kategengler](https://github.com/kategengler))
41
30
 
42
31
  #### :house: Internal
32
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
33
+ * [#10851](https://github.com/ember-cli/ember-cli/pull/10851) Merge beta into master ([@mansona](https://github.com/mansona))
34
+ * [#10848](https://github.com/ember-cli/ember-cli/pull/10848) merge origin/release into beta ([@mansona](https://github.com/mansona))
43
35
  * `ember-cli`, `@ember-tooling/classic-build-app-blueprint`
44
36
  * [#10847](https://github.com/ember-cli/ember-cli/pull/10847) Prepare Beta Release ([@mansona](https://github.com/mansona))
45
37
  * [#10825](https://github.com/ember-cli/ember-cli/pull/10825) Prepare Beta Release ([@mansona](https://github.com/mansona))
46
38
  * [#10820](https://github.com/ember-cli/ember-cli/pull/10820) Prepare Beta Release ([@mansona](https://github.com/mansona))
39
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
40
+ * [#10836](https://github.com/ember-cli/ember-cli/pull/10836) Prepare Beta Release ([@mansona](https://github.com/mansona))
47
41
  * `ember-cli`
48
42
  * [#10845](https://github.com/ember-cli/ember-cli/pull/10845) [beta] update @ember/app-blueprint to latest beta ([@mansona](https://github.com/mansona))
49
43
  * [#10833](https://github.com/ember-cli/ember-cli/pull/10833) [bugfix beta] bump the @ember/app-blueprint version ([@mansona](https://github.com/mansona))
50
44
  * [#10823](https://github.com/ember-cli/ember-cli/pull/10823) fix incorrect ember-cli-update version in tests ([@mansona](https://github.com/mansona))
51
45
  * [#10819](https://github.com/ember-cli/ember-cli/pull/10819) update @ember/app-blueprint beta version ([@mansona](https://github.com/mansona))
52
- * [#10806](https://github.com/ember-cli/ember-cli/pull/10806) skip build watch tests when vite is enabled ([@mansona](https://github.com/mansona))
53
- * [#10790](https://github.com/ember-cli/ember-cli/pull/10790) Reorganize tests for `new` and `addon` commands ([@pichfl](https://github.com/pichfl))
54
- * [#10783](https://github.com/ember-cli/ember-cli/pull/10783) remove unused changelog script ([@mansona](https://github.com/mansona))
55
- * [#10764](https://github.com/ember-cli/ember-cli/pull/10764) fix double CI run on release-plan PR ([@mansona](https://github.com/mansona))
56
- * [#10750](https://github.com/ember-cli/ember-cli/pull/10750) Add more notes to the Release.md ([@mansona](https://github.com/mansona))
46
+ * [#10809](https://github.com/ember-cli/ember-cli/pull/10809) Update RELEASE ([@mansona](https://github.com/mansona))
47
+
48
+ #### Committers: 3
49
+ - Chris Manson ([@mansona](https://github.com/mansona))
50
+ - David Taylor ([@davidtaylorhq](https://github.com/davidtaylorhq))
51
+ - Katie Gengler ([@kategengler](https://github.com/kategengler))
52
+
53
+ ## Release (2025-09-17)
54
+
55
+ * ember-cli 6.9.0-alpha.1 (minor)
56
+ * @ember-tooling/classic-build-addon-blueprint 6.9.0-alpha.1 (minor)
57
+ * @ember-tooling/classic-build-app-blueprint 6.9.0-alpha.1 (minor)
58
+ * @ember-tooling/blueprint-blueprint 0.2.0 (minor)
59
+ * @ember-tooling/blueprint-model 0.4.0 (minor)
60
+
61
+ #### :rocket: Enhancement
62
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
63
+ * [#10808](https://github.com/ember-cli/ember-cli/pull/10808) Prepare 6.8 Beta ([@mansona](https://github.com/mansona))
57
64
  * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
58
- * [#10799](https://github.com/ember-cli/ember-cli/pull/10799) Prepare Alpha Release ([@mansona](https://github.com/mansona))
59
- * [#10778](https://github.com/ember-cli/ember-cli/pull/10778) Prepare Alpha Release ([@mansona](https://github.com/mansona))
60
- * [#10756](https://github.com/ember-cli/ember-cli/pull/10756) Prepare Alpha Release ([@mansona](https://github.com/mansona))
61
- * [#10763](https://github.com/ember-cli/ember-cli/pull/10763) Prepare 6.8-alpha ([@mansona](https://github.com/mansona))
65
+ * [#10796](https://github.com/ember-cli/ember-cli/pull/10796) Promote Beta and update all dependencies for 6.7 release ([@mansona](https://github.com/mansona))
66
+
67
+ #### :bug: Bug Fix
68
+ * `ember-cli`
69
+ * [#10794](https://github.com/ember-cli/ember-cli/pull/10794) Fix potential NPE ([@boris-petrov](https://github.com/boris-petrov))
62
70
 
63
- #### Committers: 6
71
+ #### :house: Internal
72
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
73
+ * [#10815](https://github.com/ember-cli/ember-cli/pull/10815) Merge beta into master and start 6.9 alpha ([@mansona](https://github.com/mansona))
74
+ * [#10810](https://github.com/ember-cli/ember-cli/pull/10810) Prepare Beta Release ([@mansona](https://github.com/mansona))
75
+ * `@ember-tooling/blueprint-model`
76
+ * [#10813](https://github.com/ember-cli/ember-cli/pull/10813) Document need for future vite experiment test cleanup ([@ef4](https://github.com/ef4))
77
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
78
+ * [#10797](https://github.com/ember-cli/ember-cli/pull/10797) Prepare Stable Release ([@mansona](https://github.com/mansona))
79
+ * [#10800](https://github.com/ember-cli/ember-cli/pull/10800) fix release-plan for stable release ([@mansona](https://github.com/mansona))
80
+ * `ember-cli`
81
+ * [#10801](https://github.com/ember-cli/ember-cli/pull/10801) update github-changelog ([@mansona](https://github.com/mansona))
82
+
83
+ #### Committers: 3
84
+ - Boris Petrov ([@boris-petrov](https://github.com/boris-petrov))
85
+ - Chris Manson ([@mansona](https://github.com/mansona))
86
+ - Edward Faulkner ([@ef4](https://github.com/ef4))
87
+
88
+ ## Release (2025-09-10)
89
+
90
+ * @ember-tooling/classic-build-addon-blueprint 6.8.0-alpha.5 (patch)
91
+ * @ember-tooling/classic-build-app-blueprint 6.8.0-alpha.5 (patch)
92
+ * @ember-tooling/blueprint-model 0.2.0 (minor)
93
+ * ember-cli 6.8.0-alpha.5 (patch)
94
+
95
+ #### :rocket: Enhancement
96
+ * `@ember-tooling/blueprint-model`
97
+ * [#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite by default ([@mansona](https://github.com/mansona))
98
+ * Other
99
+ * [#10804](https://github.com/ember-cli/ember-cli/pull/10804) Support a `--ts` alias for the `addon`, `init` and `new` commands ([@bertdeblock](https://github.com/bertdeblock))
100
+
101
+ #### :house: Internal
102
+ * [#10806](https://github.com/ember-cli/ember-cli/pull/10806) skip build watch tests when vite is enabled ([@mansona](https://github.com/mansona))
103
+
104
+ #### Committers: 2
64
105
  - Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
65
106
  - Chris Manson ([@mansona](https://github.com/mansona))
107
+
108
+ ## Release (2025-09-09)
109
+
110
+ * @ember-tooling/classic-build-addon-blueprint 6.8.0-alpha.4 (patch)
111
+ * @ember-tooling/classic-build-app-blueprint 6.8.0-alpha.4 (patch)
112
+ * @ember-tooling/blueprint-blueprint 0.0.3 (patch)
113
+ * ember-cli 6.8.0-alpha.4 (patch)
114
+
115
+ #### :bug: Bug Fix
116
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`
117
+ * [#10803](https://github.com/ember-cli/ember-cli/pull/10803) Add "ember-blueprint" to keywords in `package.json` for the classic blueprints ([@pichfl](https://github.com/pichfl))
118
+ * `@ember-tooling/classic-build-app-blueprint`
119
+ * [#10798](https://github.com/ember-cli/ember-cli/pull/10798) Add import from ember-data breakage/deprecation ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
120
+
121
+ #### Committers: 2
66
122
  - Florian Pichler ([@pichfl](https://github.com/pichfl))
67
- - Isaac Lee ([@ijlee2](https://github.com/ijlee2))
68
- - Katie Gengler ([@kategengler](https://github.com/kategengler))
69
123
  - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
70
124
 
71
- ## Release (2025-10-08)
125
+ ## Release (2025-09-05)
72
126
 
73
- * ember-cli 6.7.2 (patch)
74
- * @ember-tooling/classic-build-addon-blueprint 6.7.1 (patch)
75
- * @ember-tooling/classic-build-app-blueprint 6.7.2 (patch)
127
+ * @ember-tooling/classic-build-addon-blueprint 6.8.0-alpha.3 (patch)
128
+ * @ember-tooling/classic-build-app-blueprint 6.8.0-alpha.3 (patch)
129
+ * @ember-tooling/blueprint-model 0.1.0 (minor)
130
+ * ember-cli 6.8.0-alpha.3 (patch)
76
131
 
77
- #### :bug: Bug Fix
78
- * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
79
- * [#10838](https://github.com/ember-cli/ember-cli/pull/10838) Add package license metadata to match repository ([@davidtaylorhq](https://github.com/davidtaylorhq))
132
+ #### :rocket: Enhancement
133
+ * `@ember-tooling/blueprint-model`
134
+ * [#10781](https://github.com/ember-cli/ember-cli/pull/10781) Add new `VITE` experiment to generate app with new Vite blueprint ([@pichfl](https://github.com/pichfl))
80
135
 
81
136
  #### Committers: 1
82
- - David Taylor ([@davidtaylorhq](https://github.com/davidtaylorhq))
137
+ - Florian Pichler ([@pichfl](https://github.com/pichfl))
83
138
 
84
- ## Release (2025-10-06)
139
+ ## Release (2025-09-01)
85
140
 
86
- * ember-cli 6.7.1 (patch)
87
- * @ember-tooling/classic-build-app-blueprint 6.7.1 (patch)
141
+ * @ember-tooling/classic-build-addon-blueprint 6.8.0-alpha.2 (minor)
142
+ * @ember-tooling/classic-build-app-blueprint 6.8.0-alpha.2 (minor)
143
+ * ember-cli 6.8.0-alpha.2 (patch)
144
+
145
+ #### :rocket: Enhancement
146
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
147
+ * [#10791](https://github.com/ember-cli/ember-cli/pull/10791) update the format of the ember-cli-update.json ([@mansona](https://github.com/mansona))
148
+ * Other
149
+ * [#10785](https://github.com/ember-cli/ember-cli/pull/10785) Depracate passing filenames and globs to `init` ([@pichfl](https://github.com/pichfl))
150
+ * [#10776](https://github.com/ember-cli/ember-cli/pull/10776) Add deprecation warning for the `--embroider` argument ([@pichfl](https://github.com/pichfl))
88
151
 
89
152
  #### :bug: Bug Fix
90
- * `ember-cli`
91
- * [#10834](https://github.com/ember-cli/ember-cli/pull/10834) [bugfix release] Fix tests using wrong versions ([@mansona](https://github.com/mansona))
153
+ * Other
154
+ * [#10782](https://github.com/ember-cli/ember-cli/pull/10782) update heimdall-fs-monitor ([@mansona](https://github.com/mansona))
92
155
  * `@ember-tooling/classic-build-app-blueprint`
93
- * [#10824](https://github.com/ember-cli/ember-cli/pull/10824) [bugfix release] fix app-blueprint being considered a blueprint ([@mansona](https://github.com/mansona))
156
+ * [#10707](https://github.com/ember-cli/ember-cli/pull/10707) Enabled recommended configs from eslint-plugin-n and eslint-plugin-qunit ([@ijlee2](https://github.com/ijlee2))
94
157
 
95
- #### Committers: 1
158
+ #### :house: Internal
159
+ * [#10790](https://github.com/ember-cli/ember-cli/pull/10790) Reorganize tests for `new` and `addon` commands ([@pichfl](https://github.com/pichfl))
160
+ * [#10783](https://github.com/ember-cli/ember-cli/pull/10783) remove unused changelog script ([@mansona](https://github.com/mansona))
161
+ * [#10764](https://github.com/ember-cli/ember-cli/pull/10764) fix double CI run on release-plan PR ([@mansona](https://github.com/mansona))
162
+ * [#10750](https://github.com/ember-cli/ember-cli/pull/10750) Add more notes to the Release.md ([@mansona](https://github.com/mansona))
163
+
164
+ #### Committers: 3
96
165
  - Chris Manson ([@mansona](https://github.com/mansona))
166
+ - Florian Pichler ([@pichfl](https://github.com/pichfl))
167
+ - Isaac Lee ([@ijlee2](https://github.com/ijlee2))
97
168
 
98
- ## Release (2025-09-06)
169
+ ## Release (2025-08-02)
99
170
 
100
- * ember-cli 6.7.0 (minor)
101
- * @ember-tooling/classic-build-addon-blueprint 6.7.0 (minor)
102
- * @ember-tooling/classic-build-app-blueprint 6.7.0 (minor)
171
+ * @ember-tooling/classic-build-addon-blueprint 6.8.0-alpha.1 (minor)
172
+ * @ember-tooling/classic-build-app-blueprint 6.8.0-alpha.1 (minor)
173
+ * ember-cli 6.8.0-alpha.1 (patch)
103
174
 
104
175
  #### :rocket: Enhancement
105
- * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
106
- * [#10796](https://github.com/ember-cli/ember-cli/pull/10796) Promote Beta and update all dependencies for 6.7 release ([@mansona](https://github.com/mansona))
176
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
177
+ * [#10755](https://github.com/ember-cli/ember-cli/pull/10755) Prepare 6.7-beta ([@mansona](https://github.com/mansona))
178
+ * Other
179
+ * [#10751](https://github.com/ember-cli/ember-cli/pull/10751) [BETA BACKPORT] Backport drop node 18 ([@mansona](https://github.com/mansona))
180
+
181
+ #### :house: Internal
182
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
183
+ * [#10763](https://github.com/ember-cli/ember-cli/pull/10763) Prepare 6.8-alpha ([@mansona](https://github.com/mansona))
184
+ * [#10754](https://github.com/ember-cli/ember-cli/pull/10754) Prepare Beta Release ([@github-actions[bot]](https://github.com/apps/github-actions))
185
+ * Other
186
+ * [#10761](https://github.com/ember-cli/ember-cli/pull/10761) update release-plan ([@mansona](https://github.com/mansona))
187
+
188
+ #### Committers: 2
189
+ - Chris Manson ([@mansona](https://github.com/mansona))
190
+ - [@github-actions[bot]](https://github.com/apps/github-actions)
191
+
192
+ ## Release (2025-07-26)
193
+
194
+ * @ember-tooling/classic-build-addon-blueprint 6.7.0-alpha.4 (minor)
195
+ * @ember-tooling/classic-build-app-blueprint 6.7.0-alpha.4 (minor)
196
+ * ember-cli 6.7.0-alpha.4 (patch)
197
+
198
+ #### :rocket: Enhancement
199
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
107
200
  * [#10742](https://github.com/ember-cli/ember-cli/pull/10742) Drop node 18, add node 24 ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
108
201
 
109
202
  #### :bug: Bug Fix
203
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
204
+ * [#10742](https://github.com/ember-cli/ember-cli/pull/10742) Drop node 18, add node 24 ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
205
+
206
+ #### :memo: Documentation
207
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
208
+ * [#10742](https://github.com/ember-cli/ember-cli/pull/10742) Drop node 18, add node 24 ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
209
+
210
+ #### :house: Internal
211
+ * [#10748](https://github.com/ember-cli/ember-cli/pull/10748) update blueprint version of ember-cli as part of release plan ([@mansona](https://github.com/mansona))
212
+ * [#10747](https://github.com/ember-cli/ember-cli/pull/10747) only use the PAT for the PR creation in release-plan ([@mansona](https://github.com/mansona))
213
+ * [#10744](https://github.com/ember-cli/ember-cli/pull/10744) run tests on the release-plan PR ([@mansona](https://github.com/mansona))
214
+
215
+ #### Committers: 2
216
+ - Chris Manson ([@mansona](https://github.com/mansona))
217
+ - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
218
+
219
+ ## Release (2025-06-30)
220
+
221
+ * @ember-tooling/classic-build-addon-blueprint 6.7.0-alpha.3 (patch)
222
+ * @ember-tooling/classic-build-app-blueprint 6.7.0-alpha.3 (patch)
223
+ * @ember-tooling/blueprint-blueprint 0.0.2 (patch)
224
+ * @ember-tooling/blueprint-model 0.0.2 (patch)
225
+ * ember-cli 6.7.0-alpha.3 (patch)
226
+
227
+ #### :house: Internal
228
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
229
+ * [#10738](https://github.com/ember-cli/ember-cli/pull/10738) add a repository for each of the packages ([@mansona](https://github.com/mansona))
230
+
231
+ #### Committers: 1
232
+ - Chris Manson ([@mansona](https://github.com/mansona))
233
+
234
+ ## Release (2025-06-30)
235
+
236
+ * @ember-tooling/classic-build-addon-blueprint 6.7.0-alpha.2 (patch)
237
+ * @ember-tooling/classic-build-app-blueprint 6.7.0-alpha.2 (patch)
238
+ * @ember-tooling/blueprint-blueprint 0.0.1 (patch)
239
+ * @ember-tooling/blueprint-model 0.0.1 (patch)
240
+ * ember-cli 6.7.0-alpha.2 (patch)
241
+
242
+ #### :house: Internal
243
+ * Other
244
+ * [#10735](https://github.com/ember-cli/ember-cli/pull/10735) remove unnecessary project override ([@mansona](https://github.com/mansona))
245
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
246
+ * [#10736](https://github.com/ember-cli/ember-cli/pull/10736) update all sub-packages to have the @ember-tooling prefix ([@mansona](https://github.com/mansona))
247
+ * [#10671](https://github.com/ember-cli/ember-cli/pull/10671) Implement the built in app, addon, and blueprint blueprints by package lookup ([@mansona](https://github.com/mansona))
248
+
249
+ #### Committers: 1
250
+ - Chris Manson ([@mansona](https://github.com/mansona))
251
+
252
+ ## Release (2025-06-16)
253
+
254
+ * ember-cli 6.7.0-alpha.1 (minor)
255
+
256
+ #### :rocket: Enhancement
110
257
  * `ember-cli`
111
- * [#10794](https://github.com/ember-cli/ember-cli/pull/10794) Fix potential NPE ([@boris-petrov](https://github.com/boris-petrov))
258
+ * [#10705](https://github.com/ember-cli/ember-cli/pull/10705) add `--strict` flag for new app and addon generation ([@mansona](https://github.com/mansona))
112
259
 
113
260
  #### :memo: Documentation
114
261
  * `ember-cli`
@@ -116,32 +263,20 @@
116
263
 
117
264
  #### :house: Internal
118
265
  * `ember-cli`
119
- * [#10801](https://github.com/ember-cli/ember-cli/pull/10801) update github-changelog ([@mansona](https://github.com/mansona))
120
- * [#10761](https://github.com/ember-cli/ember-cli/pull/10761) update release-plan ([@mansona](https://github.com/mansona))
121
- * [#10748](https://github.com/ember-cli/ember-cli/pull/10748) update blueprint version of ember-cli as part of release plan ([@mansona](https://github.com/mansona))
122
- * [#10747](https://github.com/ember-cli/ember-cli/pull/10747) only use the PAT for the PR creation in release-plan ([@mansona](https://github.com/mansona))
123
- * [#10744](https://github.com/ember-cli/ember-cli/pull/10744) run tests on the release-plan PR ([@mansona](https://github.com/mansona))
124
- * [#10735](https://github.com/ember-cli/ember-cli/pull/10735) remove unnecessary project override ([@mansona](https://github.com/mansona))
125
- * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
126
- * [#10800](https://github.com/ember-cli/ember-cli/pull/10800) fix release-plan for stable release ([@mansona](https://github.com/mansona))
127
- * [#10736](https://github.com/ember-cli/ember-cli/pull/10736) update all sub-packages to have the @ember-tooling prefix ([@mansona](https://github.com/mansona))
128
- * [#10671](https://github.com/ember-cli/ember-cli/pull/10671) Implement the built in app, addon, and blueprint blueprints by package lookup ([@mansona](https://github.com/mansona))
129
- * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
130
- * [#10738](https://github.com/ember-cli/ember-cli/pull/10738) add a repository for each of the packages ([@mansona](https://github.com/mansona))
266
+ * [#10731](https://github.com/ember-cli/ember-cli/pull/10731) Prepare Alpha 6.7.0 ([@mansona](https://github.com/mansona))
267
+ * [#10728](https://github.com/ember-cli/ember-cli/pull/10728) Prepare Beta 6.6.0 ([@mansona](https://github.com/mansona))
268
+ * [#10726](https://github.com/ember-cli/ember-cli/pull/10726) use patched github-changelog for properly rolling up beta changelog ([@mansona](https://github.com/mansona))
269
+ * [#10717](https://github.com/ember-cli/ember-cli/pull/10717) pass --publish-branch to release-plan publish ([@mansona](https://github.com/mansona))
131
270
 
132
- #### Committers: 3
133
- - Boris Petrov ([@boris-petrov](https://github.com/boris-petrov))
271
+ #### Committers: 1
134
272
  - Chris Manson ([@mansona](https://github.com/mansona))
135
- - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
136
273
 
137
- ## Release (2025-07-29)
274
+ ## Release (2025-06-16)
138
275
 
139
- * ember-cli 6.6.0 (minor)
276
+ * ember-cli 6.6.0-beta.1 (minor)
140
277
 
141
278
  #### :rocket: Enhancement
142
279
  * `ember-cli`
143
- * [#10749](https://github.com/ember-cli/ember-cli/pull/10749) Update all dependencies for 6.6 release ([@mansona](https://github.com/mansona))
144
- * [#10751](https://github.com/ember-cli/ember-cli/pull/10751) [BETA BACKPORT] Backport drop node 18 ([@mansona](https://github.com/mansona))
145
280
  * [#10701](https://github.com/ember-cli/ember-cli/pull/10701) [ENHANCEMENT] Support Bun ([@hexadecy](https://github.com/hexadecy))
146
281
  * [#10664](https://github.com/ember-cli/ember-cli/pull/10664) [ENHANCEMENT] Remove ember-fetch ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
147
282
 
@@ -152,6 +287,8 @@
152
287
 
153
288
  #### :house: Internal
154
289
  * `ember-cli`
290
+ * [#10728](https://github.com/ember-cli/ember-cli/pull/10728) Prepare Beta 6.6.0 ([@mansona](https://github.com/mansona))
291
+ * [#10726](https://github.com/ember-cli/ember-cli/pull/10726) use patched github-changelog for properly rolling up beta changelog ([@mansona](https://github.com/mansona))
155
292
  * [#10699](https://github.com/ember-cli/ember-cli/pull/10699) Start using release-plan for releasing ember-cli ([@mansona](https://github.com/mansona))
156
293
  * [#10670](https://github.com/ember-cli/ember-cli/pull/10670) testing: don't generate temp directories in the repo ([@mansona](https://github.com/mansona))
157
294
 
package/RELEASE.md CHANGED
@@ -16,6 +16,7 @@ During the release week each of the versions are effectively "promoted" i.e. the
16
16
 
17
17
  The release process during release week should look like this:
18
18
 
19
+ - Make sure that `@ember/app-blueprint` is released before starting any of these steps
19
20
  - Merge any outstanding `Prepare Alpha Release` branches
20
21
  - Do an intial stable release from the `release` branch
21
22
  - Merge `release` into `beta`
@@ -23,7 +24,7 @@ The release process during release week should look like this:
23
24
  - Merge `beta` into `master`
24
25
  - Do an `alpha` release
25
26
 
26
- ### Merge any outstanding `Prepare Alpha Release` branches
27
+ ### Merge any outstanding `Prepare Alpha Release` branches
27
28
 
28
29
  This makes sure that you are starting from a "clean slate" before doing any other releases. This will make each of the following steps easier to follow.
29
30
 
@@ -38,19 +39,20 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
38
39
  - Merge `origin/beta` into the release branch
39
40
  - `git merge origin/beta --no-ff`
40
41
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
41
- - **make sure to not update the .github/workflows/plan-release.yml file** this should still plan a stable release
42
- - **make sure to not update the .github/workflows/publish.yml file** this should still publish a stable release
42
+ - **make sure to not update the .github/workflows/plan-stable-release.yml file** this should still plan a stable release
43
+ - **make sure to not update the .github/workflows/publish-stable.yml file** this should still publish a stable release
43
44
  - **make sure to not update the CHANGELOG.md file** so as not to include the beta or alpha changelogs in the next release
44
45
  - make sure to not update the version in the package.json during this step, this will be release-plan's job
46
+ - make sure to not update the version in the `packages/app-blueprint/package.json`, or `packages/addon-blueprint/package.json` files during this step, this will be release-plan's job
45
47
  - make sure to not add the `release-plan` config section to the package.json during this step. We are releasing a real release so we don't want to configure release-plan to do a pre-release.
46
- - Update blueprint dependencies to latest
48
+ - Update blueprint dependencies to latest. Note: ember-data needs to be updated only in the alpha version from now on, make sure to only update to the release version of what was in the beta.
47
49
 
48
50
  ```
49
- node ./dev/update-blueprint-dependencies.js --ember-source=latest --ember-data=latest
51
+ node ./dev/update-blueprint-dependencies.js --ember-source=latest --ember-data=<whatever version was in the beta>
50
52
  ```
51
53
 
52
54
  - commit this update `git commit -am "update blueprint dependencies to latest"`
53
- - push and open a PR targeting `release` with a PR title like `Update all dependencies for 6.4 release`
55
+ - push and open a PR targeting `release` with a PR title like `Promote Beta and update all dependencies for 6.4 release`
54
56
  - mark this PR as an `enhancement` if it is a minor release
55
57
  - check that everything is ok (i.e. that CI has run correctly and that you have the changes you expect)
56
58
  - merge branch
@@ -64,26 +66,30 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
64
66
  - create a new branch to merge `release` into `beta` e.g. `git checkout --no-track -b merge-release origin/beta`
65
67
  - merge release into this new branch e.g. `git merge origin/release --no-ff`
66
68
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
67
- - **make sure to not update any .github/workflows/plan-release.yml file** this should still plan a beta release
68
- - **make sure to not update any .github/workflows/publish.yml file** this should still publish a beta release
69
+ - **make sure to not update any .github/workflows/plan-beta-release.yml file** this should still plan a beta release
70
+ - **make sure to not update any .github/workflows/publish-beta.yml file** this should still publish a beta release
69
71
  - make sure to not update the version in the package.json during this step, that step comes later
70
72
  - make sure to not remove the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
71
73
  - merge master into this new branch too e.g. `git merge origin/master --no-ff`
72
74
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
73
75
  - **make sure to not update the CHANGELOG.md file** in this step. It should match the changelog on `origin/release` at this stage.
76
+ - make sure not to update the `release-plan` config in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
77
+ - commit the merge `git commit -am "merge master into beta"`
78
+ - update the versions in package.jsons
74
79
  - 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",`
75
80
  - update the alpha version in `packages/addon-blueprint/package.json` to be a beta
76
81
  - update the alpha version in `packages/app-blueprint/package.json` to be a beta
77
- - make sure not to update the `release-plan` config in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
78
82
  - update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same as the version you just put in the top level package.json
83
+ - commit the version changes `git commit -am "update versions"`
79
84
  - Update blueprint dependencies to beta
80
85
 
81
86
  ```
82
87
  node ./dev/update-blueprint-dependencies.js --ember-source=beta --ember-data=beta
83
88
  ```
84
89
 
90
+ - update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@beta`
91
+ - manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
85
92
  - commit this update `git commit -am "update blueprint dependencies to beta"`
86
- - **TODO**: document how to update @ember/app-blueprint dependency
87
93
  - push and open a PR targeting `beta` with a PR title like `Prepare 6.5-beta`
88
94
  - mark this PR as an `enchancement` if the next beta is a minor release
89
95
  - check that everything is ok i.e. CI passes
@@ -104,7 +110,8 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
104
110
  - **make sure to not update any .github/workflows/plan-release.yml file** this should still plan a beta release
105
111
  - **make sure to not update any .github/workflows/publish.yml file** this should still publish a beta release
106
112
  - **make sure to not update the CHANGELOG.md file** in this step.
107
- - manually update the version in package.json to be the next alpha.
113
+ - commit this merge
114
+ - manually update the version in `package.json` to be the next alpha.
108
115
  - e.g. if the current alpha is `"version": "6.6.0-alpha.3",` update it to be `"version": "6.7.0-alpha.0",`
109
116
  - manually update the alpha version in `packages/addon-blueprint/package.json` to be the same alpha
110
117
  - manually update the alpha version in `packages/app-blueprint/package.json` to be the same alpha
@@ -112,11 +119,11 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
112
119
  - Update blueprint dependencies to alpha
113
120
 
114
121
  ```
115
- node ./dev/update-blueprint-dependencies.js --ember-source=alpha --ember-data=canary
122
+ node ./dev/update-blueprint-dependencies.js --ember-source=alpha --ember-data=latest
116
123
  ```
117
124
 
125
+ - update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@alpha`
118
126
  - commit this update `git commit -am "update blueprint dependencies to alpha"`
119
- - **TODO**: document how to update @ember/app-blueprint dependency
120
127
  - push and open a PR targeting `master` with a PR title like `Prepare 6.6-alpha`
121
128
  - mark this PR as an `enchancement` if the next alpha is a minor release
122
129
  - check that everything is ok i.e. CI passes
@@ -3,7 +3,7 @@
3
3
  "logo": "https://ember-cli.com/assets/images/ember-cli-logo-small-dark.png",
4
4
  "name": "ember-cli",
5
5
  "description": "Command line tool for developing ambitious ember.js apps",
6
- "version": "6.8.0-release-8de00124a8"
6
+ "version": "6.9.0-alpha.2-master-01a68b9b36"
7
7
  },
8
8
  "files": {
9
9
  "lib/broccoli/default-packager.js": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-cli",
3
- "version": "6.8.0",
3
+ "version": "6.9.0-alpha.2",
4
4
  "description": "Command line tool for developing ambitious ember.js apps",
5
5
  "keywords": [
6
6
  "app",
@@ -26,10 +26,16 @@
26
26
  "bin": {
27
27
  "ember": "./bin/ember"
28
28
  },
29
+ "release-plan": {
30
+ "semverIncrementAs": {
31
+ "minor": "prerelease",
32
+ "patch": "prerelease"
33
+ },
34
+ "semverIncrementTag": "alpha",
35
+ "publishTag": "alpha"
36
+ },
29
37
  "dependencies": {
30
- "@ember-tooling/blueprint-blueprint": "^0.2.1",
31
- "@ember-tooling/blueprint-model": "^0.4.1",
32
- "@ember/app-blueprint": "~6.8.0",
38
+ "@ember/app-blueprint": "~6.9.0-alpha.1",
33
39
  "@pnpm/find-workspace-dir": "^1000.1.0",
34
40
  "babel-remove-types": "^1.0.1",
35
41
  "broccoli": "^3.5.2",
@@ -112,8 +118,10 @@
112
118
  "watch-detector": "^1.0.2",
113
119
  "workerpool": "^9.2.0",
114
120
  "yam": "^1.0.0",
115
- "@ember-tooling/classic-build-addon-blueprint": "6.8.0",
116
- "@ember-tooling/classic-build-app-blueprint": "6.8.0"
121
+ "@ember-tooling/blueprint-blueprint": "0.2.1",
122
+ "@ember-tooling/classic-build-addon-blueprint": "6.9.0-alpha.2",
123
+ "@ember-tooling/blueprint-model": "0.4.1",
124
+ "@ember-tooling/classic-build-app-blueprint": "6.9.0-alpha.2"
117
125
  },
118
126
  "devDependencies": {
119
127
  "broccoli-plugin": "^4.0.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/classic-build-addon-blueprint",
3
- "version": "6.8.0",
3
+ "version": "6.9.0-alpha.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ember-cli/ember-cli.git",
@@ -11,7 +11,7 @@
11
11
  "ember-blueprint"
12
12
  ],
13
13
  "dependencies": {
14
- "@ember-tooling/blueprint-model": "^0.4.1",
14
+ "@ember-tooling/blueprint-model": "workspace:*",
15
15
  "chalk": "^4.1.2",
16
16
  "ember-cli-normalize-entity-name": "^1.0.0",
17
17
  "ember-cli-string-utils": "^1.1.0",
@@ -20,5 +20,13 @@
20
20
  "silent-error": "^1.1.1",
21
21
  "sort-package-json": "^2.12.0",
22
22
  "walk-sync": "^3.0.0"
23
+ },
24
+ "release-plan": {
25
+ "semverIncrementAs": {
26
+ "minor": "prerelease",
27
+ "patch": "prerelease"
28
+ },
29
+ "semverIncrementTag": "alpha",
30
+ "publishTag": "alpha"
23
31
  }
24
32
  }
@@ -45,22 +45,22 @@
45
45
  "@ember/test-helpers": "^5.3.0<% if (embroider) { %>",
46
46
  "@embroider/compat": "^3.9.1",
47
47
  "@embroider/core": "^3.5.7<% } %>",
48
- "@embroider/macros": "^1.19.1<% if (embroider) { %>",
48
+ "@embroider/macros": "^1.18.1<% if (embroider) { %>",
49
49
  "@embroider/webpack": "^4.1.1<% } %>",
50
- "@eslint/js": "^9.37.0",
50
+ "@eslint/js": "^9.35.0",
51
51
  "@glimmer/component": "^2.0.0",
52
52
  "@glimmer/tracking": "^1.1.2<% if (typescript) { %>",
53
53
  "@glint/environment-ember-loose": "^1.5.2",
54
54
  "@glint/environment-ember-template-imports": "^1.5.2",
55
- "@glint/template": "^1.6.1",
55
+ "@glint/template": "^1.5.2",
56
56
  "@tsconfig/ember": "^3.0.11",
57
57
  "@types/qunit": "^2.19.13",
58
58
  "@types/rsvp": "^4.0.9<% if (emberData) {%>",
59
59
  "@warp-drive/core-types": "~5.7.0<% }} %>",
60
60
  "broccoli-asset-rev": "^3.0.0",
61
61
  "concurrently": "^9.2.1",
62
- "ember-auto-import": "^2.11.1",
63
- "ember-cli": "~6.8.0",
62
+ "ember-auto-import": "^2.10.0",
63
+ "ember-cli": "~6.9.0-alpha.2",
64
64
  "ember-cli-app-version": "^7.0.0",
65
65
  "ember-cli-babel": "^8.2.0",
66
66
  "ember-cli-clean-css": "^3.0.0",
@@ -76,27 +76,27 @@
76
76
  "ember-page-title": "^9.0.3",
77
77
  "ember-qunit": "^9.0.4",
78
78
  "ember-resolver": "^13.1.1",
79
- "ember-source": "~6.8.0",
79
+ "ember-source": "~6.9.0-alpha.1",
80
80
  "ember-template-imports": "^4.3.0",
81
81
  "ember-template-lint": "^6.1.0<% if (welcome) { %>",
82
82
  "ember-welcome-page": "^7.0.2<% } %>",
83
- "eslint": "^9.37.0",
83
+ "eslint": "^9.35.0",
84
84
  "eslint-config-prettier": "^9.1.2",
85
85
  "eslint-plugin-ember": "^12.7.4",
86
- "eslint-plugin-n": "^17.23.1",
86
+ "eslint-plugin-n": "^17.23.0",
87
87
  "eslint-plugin-qunit": "^8.2.5",
88
88
  "globals": "^15.15.0",
89
89
  "loader.js": "^4.7.0",
90
90
  "prettier": "^3.6.2",
91
91
  "prettier-plugin-ember-template-tag": "^2.1.0",
92
- "qunit": "^2.24.2",
92
+ "qunit": "^2.24.1",
93
93
  "qunit-dom": "^3.5.0",
94
- "stylelint": "^16.25.0",
94
+ "stylelint": "^16.24.0",
95
95
  "stylelint-config-standard": "^36.0.1",
96
96
  "tracked-built-ins": "^3.4.0<% if (typescript) { %>",
97
- "typescript": "^5.9.3",
98
- "typescript-eslint": "^8.46.1<% } %>",
99
- "webpack": "^5.102.1"
97
+ "typescript": "^5.9.2",
98
+ "typescript-eslint": "^8.44.0<% } %>",
99
+ "webpack": "^5.101.3"
100
100
  },
101
101
  "engines": {
102
102
  "node": ">= 20.11"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/classic-build-app-blueprint",
3
- "version": "6.8.0",
3
+ "version": "6.9.0-alpha.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ember-cli/ember-cli.git",
@@ -11,8 +11,16 @@
11
11
  "ember-blueprint"
12
12
  ],
13
13
  "dependencies": {
14
- "@ember-tooling/blueprint-model": "^0.4.1",
14
+ "@ember-tooling/blueprint-model": "workspace:*",
15
15
  "chalk": "^4.1.2",
16
16
  "ember-cli-string-utils": "^1.1.0"
17
+ },
18
+ "release-plan": {
19
+ "semverIncrementAs": {
20
+ "minor": "prerelease",
21
+ "patch": "prerelease"
22
+ },
23
+ "semverIncrementTag": "alpha",
24
+ "publishTag": "alpha"
17
25
  }
18
26
  }
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ description: ''
5
+
6
+ // locals(options) {
7
+ // // Return custom template variables here.
8
+ // return {
9
+ // foo: options.entity.options.foo
10
+ // };
11
+ // }
12
+
13
+ // afterInstall(options) {
14
+ // // Perform extra work here.
15
+ // }
16
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ description: 'Generates a blueprint and definition.',
5
+ };
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@ember-tooling/blueprint-blueprint",
3
+ "version": "0.2.1",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/ember-cli/ember-cli.git",
7
+ "directory": "packages/blueprint-blueprint"
8
+ },
9
+ "license": "MIT",
10
+ "keywords": [
11
+ "ember-blueprint"
12
+ ]
13
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@ember-tooling/blueprint-model",
3
+ "version": "0.4.1",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/ember-cli/ember-cli.git",
7
+ "directory": "packages/blueprint-model"
8
+ },
9
+ "license": "MIT",
10
+ "dependencies": {
11
+ "chalk": "^4.1.2",
12
+ "diff": "^7.0.0",
13
+ "isbinaryfile": "^5.0.4",
14
+ "lodash": "^4.17.21",
15
+ "promise.hash.helper": "^1.0.8",
16
+ "quick-temp": "^0.1.8",
17
+ "silent-error": "^1.1.1"
18
+ }
19
+ }
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ const path = require('path');
4
+
5
+ /**
6
+ * Derive a directory name from a package name.
7
+ * Takes scoped packages into account.
8
+ *
9
+ * @method directoryForPackageName
10
+ * @param {String} packageName
11
+ * @return {String} Derived directory name.
12
+ */
13
+ module.exports = function directoryForPackageName(packageName) {
14
+ let isScoped = packageName[0] === '@' && packageName.includes('/');
15
+
16
+ if (isScoped) {
17
+ let slashIndex = packageName.indexOf('/');
18
+ let scopeName = packageName.substring(1, slashIndex);
19
+ let packageNameWithoutScope = packageName.substring(slashIndex + 1);
20
+ let pathParts = process.cwd().split(path.sep);
21
+ let parentDirectoryContainsScopeName = pathParts.includes(scopeName);
22
+
23
+ if (parentDirectoryContainsScopeName) {
24
+ return packageNameWithoutScope;
25
+ } else {
26
+ return `${scopeName}-${packageNameWithoutScope}`;
27
+ }
28
+ } else {
29
+ return packageName;
30
+ }
31
+ };
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const util = require('util');
5
+ const jsdiff = require('diff');
6
+ const quickTemp = require('quick-temp');
7
+ const path = require('path');
8
+ const SilentError = require('silent-error');
9
+ const openEditor = require('./open-editor');
10
+ const hash = require('promise.hash.helper');
11
+
12
+ const readFile = util.promisify(fs.readFile);
13
+ const writeFile = util.promisify(fs.writeFile);
14
+
15
+ class EditFileDiff {
16
+ constructor(options) {
17
+ this.info = options.info;
18
+
19
+ quickTemp.makeOrRemake(this, 'tmpDifferenceDir');
20
+ }
21
+
22
+ edit() {
23
+ return hash({
24
+ input: this.info.render(),
25
+ output: readFile(this.info.outputPath),
26
+ })
27
+ .then(this.invokeEditor.bind(this))
28
+ .then(this.applyPatch.bind(this))
29
+ .finally(this.cleanUp.bind(this));
30
+ }
31
+
32
+ cleanUp() {
33
+ quickTemp.remove(this, 'tmpDifferenceDir');
34
+ }
35
+
36
+ applyPatch(resultHash) {
37
+ return hash({
38
+ diffString: readFile(resultHash.diffPath),
39
+ currentString: readFile(resultHash.outputPath),
40
+ }).then((result) => {
41
+ let appliedDiff = jsdiff.applyPatch(result.currentString.toString(), result.diffString.toString());
42
+
43
+ if (!appliedDiff) {
44
+ let message = 'Patch was not cleanly applied.';
45
+ this.info.ui.writeLine(`${message} Please choose another action.`);
46
+ throw new SilentError(message);
47
+ }
48
+
49
+ return writeFile(resultHash.outputPath, appliedDiff);
50
+ });
51
+ }
52
+
53
+ invokeEditor(result) {
54
+ let info = this.info;
55
+ let diff = jsdiff.createPatch(info.outputPath, result.output.toString(), result.input);
56
+ let diffPath = path.join(this.tmpDifferenceDir, 'currentDiff.diff');
57
+
58
+ return writeFile(diffPath, diff)
59
+ .then(() => openEditor(diffPath))
60
+ .then(() => ({ outputPath: info.outputPath, diffPath }));
61
+ }
62
+ }
63
+
64
+ module.exports = EditFileDiff;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ const chalk = require('chalk');
4
+
5
+ /*
6
+ If you're here to remove the VITE experiment flag in favor of it being
7
+ permanently on, you can't do that until addressing
8
+ https://github.com/ember-cli/ember-cli/pull/10781#pullrequestreview-3230644293
9
+
10
+ A lot of test coverage would otherwise be lost, because valid tests are being
11
+ run only when the VITE experiment is off.
12
+ */
13
+ const availableExperiments = Object.freeze(['EMBROIDER', 'CLASSIC', 'VITE']);
14
+
15
+ const deprecatedExperiments = Object.freeze([]);
16
+ const enabledExperiments = Object.freeze(['VITE']);
17
+ const deprecatedExperimentsDeprecationsIssued = [];
18
+
19
+ function isExperimentEnabled(experimentName) {
20
+ if (!availableExperiments.includes(experimentName)) {
21
+ return false;
22
+ }
23
+
24
+ if (process.env.EMBER_CLI_ENABLE_ALL_EXPERIMENTS && deprecatedExperiments.includes(experimentName)) {
25
+ return false;
26
+ }
27
+
28
+ if (process.env.EMBER_CLI_ENABLE_ALL_EXPERIMENTS) {
29
+ return true;
30
+ }
31
+
32
+ if (process.env.EMBER_CLI_CLASSIC && experimentName === 'EMBROIDER') {
33
+ return false;
34
+ }
35
+
36
+ let experimentEnvironmentVariable = `EMBER_CLI_${experimentName}`;
37
+ let experimentValue = process.env[experimentEnvironmentVariable];
38
+
39
+ if (deprecatedExperiments.includes(experimentName)) {
40
+ let deprecationPreviouslyIssued = deprecatedExperimentsDeprecationsIssued.includes(experimentName);
41
+ let isSpecifiedByUser = experimentValue !== undefined;
42
+
43
+ if (!deprecationPreviouslyIssued && isSpecifiedByUser) {
44
+ console.warn(
45
+ chalk.yellow(`The ${experimentName} experiment in ember-cli has been deprecated and will be removed.`)
46
+ );
47
+ deprecatedExperimentsDeprecationsIssued.push(experimentName);
48
+ }
49
+ }
50
+
51
+ if (enabledExperiments.includes(experimentName)) {
52
+ return experimentValue !== 'false';
53
+ } else {
54
+ return experimentValue !== undefined && experimentValue !== 'false';
55
+ }
56
+ }
57
+
58
+ module.exports = {
59
+ isExperimentEnabled,
60
+
61
+ // exported for testing purposes
62
+ _deprecatedExperimentsDeprecationsIssued: deprecatedExperimentsDeprecationsIssued,
63
+ };
@@ -0,0 +1,170 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const util = require('util');
5
+ const chalk = require('chalk');
6
+ const EditFileDiff = require('./edit-file-diff');
7
+ const EOL = require('os').EOL;
8
+ const rxEOL = new RegExp(EOL, 'g');
9
+ const isBinaryFile = require('isbinaryfile').isBinaryFileSync;
10
+ const hash = require('promise.hash.helper');
11
+ const canEdit = require('./open-editor').canEdit;
12
+ const processTemplate = require('./process-template');
13
+
14
+ const readFile = util.promisify(fs.readFile);
15
+ const lstat = util.promisify(fs.stat);
16
+
17
+ function diffHighlight(line) {
18
+ if (line[0] === '+') {
19
+ return chalk.green(line);
20
+ } else if (line[0] === '-') {
21
+ return chalk.red(line);
22
+ } else if (/^@@/.test(line)) {
23
+ return chalk.cyan(line);
24
+ } else {
25
+ return line;
26
+ }
27
+ }
28
+
29
+ const NOOP = (_) => _;
30
+ class FileInfo {
31
+ constructor(options) {
32
+ this.action = options.action;
33
+ this.outputBasePath = options.outputBasePath;
34
+ this.outputPath = options.outputPath;
35
+ this.displayPath = options.displayPath;
36
+ this.inputPath = options.inputPath;
37
+ this.templateVariables = options.templateVariables;
38
+ this.replacer = options.replacer || NOOP;
39
+ this.ui = options.ui;
40
+ }
41
+
42
+ confirmOverwrite(path) {
43
+ let promptOptions = {
44
+ type: 'expand',
45
+ name: 'answer',
46
+ default: false,
47
+ message: `${chalk.red('Overwrite')} ${path}?`,
48
+ choices: [
49
+ { key: 'y', name: 'Yes, overwrite', value: 'overwrite' },
50
+ { key: 'n', name: 'No, skip', value: 'skip' },
51
+ ],
52
+ };
53
+
54
+ let outputPathIsFile = false;
55
+ try {
56
+ outputPathIsFile = fs.statSync(this.outputPath).isFile();
57
+ } catch (err) {
58
+ /* ignore */
59
+ }
60
+
61
+ let canDiff = !isBinaryFile(this.inputPath) && (!outputPathIsFile || !isBinaryFile(this.outputPath));
62
+
63
+ if (canDiff) {
64
+ promptOptions.choices.push({ key: 'd', name: 'Diff', value: 'diff' });
65
+
66
+ if (canEdit()) {
67
+ promptOptions.choices.push({ key: 'e', name: 'Edit', value: 'edit' });
68
+ }
69
+ }
70
+
71
+ return this.ui.prompt(promptOptions).then((response) => response.answer);
72
+ }
73
+
74
+ displayDiff() {
75
+ let info = this,
76
+ jsdiff = require('diff');
77
+ return hash({
78
+ input: this.render(),
79
+ output: readFile(info.outputPath),
80
+ }).then((result) => {
81
+ let diff = jsdiff.createPatch(
82
+ info.outputPath,
83
+ result.output.toString().replace(rxEOL, '\n'),
84
+ result.input.replace(rxEOL, '\n')
85
+ );
86
+ let lines = diff.split('\n');
87
+
88
+ for (let i = 0; i < lines.length; i++) {
89
+ info.ui.write(diffHighlight(lines[i] + EOL));
90
+ }
91
+ });
92
+ }
93
+
94
+ async render() {
95
+ if (!this.rendered) {
96
+ let result = await this._render();
97
+ this.rendered = this.replacer(result, this);
98
+ }
99
+
100
+ return this.rendered;
101
+ }
102
+
103
+ _render() {
104
+ let path = this.inputPath;
105
+ let context = this.templateVariables;
106
+
107
+ return readFile(path).then((content) =>
108
+ lstat(path).then((fileStat) => {
109
+ if (isBinaryFile(content, fileStat.size)) {
110
+ return content;
111
+ } else {
112
+ try {
113
+ return processTemplate(content.toString(), context);
114
+ } catch (err) {
115
+ err.message += ` (Error in blueprint template: ${path})`;
116
+ throw err;
117
+ }
118
+ }
119
+ })
120
+ );
121
+ }
122
+
123
+ checkForConflict() {
124
+ return this.render().then((input) => {
125
+ input = input.toString().replace(rxEOL, '\n');
126
+
127
+ return readFile(this.outputPath)
128
+ .then((output) => {
129
+ output = output.toString().replace(rxEOL, '\n');
130
+
131
+ return input === output ? 'identical' : 'confirm';
132
+ })
133
+ .catch((e) => {
134
+ if (e.code === 'ENOENT') {
135
+ return 'none';
136
+ }
137
+
138
+ throw e;
139
+ });
140
+ });
141
+ }
142
+
143
+ confirmOverwriteTask() {
144
+ let info = this;
145
+
146
+ return function () {
147
+ function doConfirm() {
148
+ return info.confirmOverwrite(info.displayPath).then((action) => {
149
+ if (action === 'diff') {
150
+ return info.displayDiff().then(doConfirm);
151
+ } else if (action === 'edit') {
152
+ let editFileDiff = new EditFileDiff({ info });
153
+ return editFileDiff
154
+ .edit()
155
+ .then(() => (info.action = action))
156
+ .catch(() => doConfirm())
157
+ .then(() => info);
158
+ } else {
159
+ info.action = action;
160
+ return info;
161
+ }
162
+ });
163
+ }
164
+
165
+ return doConfirm();
166
+ };
167
+ }
168
+ }
169
+
170
+ module.exports = FileInfo;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ const spawn = require('child_process').spawn;
4
+
5
+ function openEditor(file) {
6
+ if (!openEditor.canEdit()) {
7
+ throw new Error('EDITOR environment variable is not set');
8
+ }
9
+
10
+ if (!file) {
11
+ throw new Error('No `file` option provided');
12
+ }
13
+
14
+ let editorArgs = openEditor._env().EDITOR.split(' ');
15
+ let editor = editorArgs.shift();
16
+ const args = [file].concat(editorArgs);
17
+ let editProcess = openEditor._spawn(editor, args, { stdio: 'inherit' });
18
+
19
+ return new Promise((resolve, reject) => {
20
+ editProcess.on('close', (code) => {
21
+ if (code === 0) {
22
+ resolve();
23
+ } else {
24
+ reject(
25
+ new Error(`Spawn('${editor}', [${args.join(',')}]) exited with a non zero error status code: '${code}'`)
26
+ );
27
+ }
28
+ });
29
+ });
30
+ }
31
+
32
+ openEditor.canEdit = function () {
33
+ return openEditor._env().EDITOR !== undefined;
34
+ };
35
+
36
+ openEditor._env = function () {
37
+ return process.env;
38
+ };
39
+
40
+ openEditor._spawn = function () {
41
+ return spawn.apply(this, arguments);
42
+ };
43
+
44
+ module.exports = openEditor;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ function supportEmoji() {
4
+ const hasEmojiTurnedOff = process.argv.indexOf('--no-emoji') > -1;
5
+ return process.stdout.isTTY && process.platform !== 'win32' && !hasEmojiTurnedOff;
6
+ }
7
+
8
+ const areEmojiSupported = supportEmoji();
9
+
10
+ module.exports = function prependEmoji(emoji, msg) {
11
+ return areEmojiSupported ? `${emoji} ${msg}` : msg;
12
+ };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ module.exports = function processTemplate(content, context) {
4
+ let options = {
5
+ evaluate: /<%([\s\S]+?)%>/g,
6
+ interpolate: /<%=([\s\S]+?)%>/g,
7
+ escape: /<%-([\s\S]+?)%>/g,
8
+ };
9
+ return require('lodash/template')(content, options)(context);
10
+ };