ember-cli 6.9.0-alpha.2 → 6.9.0

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
@@ -1,261 +1,146 @@
1
1
  # ember-cli Changelog
2
2
 
3
- ## Release (2025-10-14)
3
+ ## Release (2025-12-10)
4
4
 
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)
5
+ * ember-cli 6.9.0 (minor)
6
+ * @ember-tooling/classic-build-addon-blueprint 6.9.0 (minor)
7
+ * @ember-tooling/classic-build-app-blueprint 6.9.0 (minor)
10
8
 
11
9
  #### :rocket: Enhancement
12
- * `ember-cli`
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))
10
+ * `ember-cli`, `@ember-tooling/classic-build-app-blueprint`
11
+ * [#10885](https://github.com/ember-cli/ember-cli/pull/10885) Promote Beta and update all dependencies for 6.9 release ([@mansona](https://github.com/mansona))
14
12
  * `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))
16
-
17
- #### :bug: Bug Fix
18
- * `ember-cli`
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))
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))
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))
24
-
25
- #### :memo: Documentation
26
- * `ember-cli`
27
- * [#10843](https://github.com/ember-cli/ember-cli/pull/10843) Further contextualize help output and error when options and commands that are no longer supported in Vite-based projects are used ([@kategengler](https://github.com/kategengler))
28
- * [#10840](https://github.com/ember-cli/ember-cli/pull/10840) [beta] fix help for vite-based projects ([@kategengler](https://github.com/kategengler))
29
- * [#10835](https://github.com/ember-cli/ember-cli/pull/10835) Update deprecation message for --embroider option ([@kategengler](https://github.com/kategengler))
13
+ * [#10854](https://github.com/ember-cli/ember-cli/pull/10854) Prepare Beta Release ([@mansona](https://github.com/mansona))
30
14
 
31
15
  #### :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))
35
- * `ember-cli`, `@ember-tooling/classic-build-app-blueprint`
36
- * [#10847](https://github.com/ember-cli/ember-cli/pull/10847) Prepare Beta Release ([@mansona](https://github.com/mansona))
37
- * [#10825](https://github.com/ember-cli/ember-cli/pull/10825) Prepare Beta Release ([@mansona](https://github.com/mansona))
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))
41
16
  * `ember-cli`
42
- * [#10845](https://github.com/ember-cli/ember-cli/pull/10845) [beta] update @ember/app-blueprint to latest beta ([@mansona](https://github.com/mansona))
43
- * [#10833](https://github.com/ember-cli/ember-cli/pull/10833) [bugfix beta] bump the @ember/app-blueprint version ([@mansona](https://github.com/mansona))
44
- * [#10823](https://github.com/ember-cli/ember-cli/pull/10823) fix incorrect ember-cli-update version in tests ([@mansona](https://github.com/mansona))
45
- * [#10819](https://github.com/ember-cli/ember-cli/pull/10819) update @ember/app-blueprint beta version ([@mansona](https://github.com/mansona))
46
17
  * [#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))
64
- * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
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))
70
-
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
18
  * [#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
19
 
104
20
  #### Committers: 2
105
- - Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
106
21
  - Chris Manson ([@mansona](https://github.com/mansona))
22
+ - Edward Faulkner ([@ef4](https://github.com/ef4))
107
23
 
108
- ## Release (2025-09-09)
24
+ ## Release (2025-11-29)
109
25
 
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)
26
+ * ember-cli 6.8.1 (patch)
114
27
 
115
28
  #### :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))
29
+ * `ember-cli`
30
+ * [#10860](https://github.com/ember-cli/ember-cli/pull/10860) [BUGFIX release]: Enter the WatchDetector branch of the build command when EMBROIDER_PREBUILD is present ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
120
31
 
121
- #### Committers: 2
122
- - Florian Pichler ([@pichfl](https://github.com/pichfl))
32
+ #### Committers: 1
123
33
  - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
124
34
 
125
- ## Release (2025-09-05)
35
+ ## Release (2025-10-14)
126
36
 
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)
37
+ * ember-cli 6.8.0 (minor)
38
+ * @ember-tooling/classic-build-addon-blueprint 6.8.0 (minor)
39
+ * @ember-tooling/classic-build-app-blueprint 6.8.0 (minor)
131
40
 
132
41
  #### :rocket: Enhancement
133
- * `@ember-tooling/blueprint-model`
42
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
43
+ * [#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))
44
+ * [#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))
45
+ * [#10808](https://github.com/ember-cli/ember-cli/pull/10808) Prepare 6.8 Beta ([@mansona](https://github.com/mansona))
46
+ * `ember-cli`
47
+ * [#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))
48
+ * [#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite by default ([@mansona](https://github.com/mansona))
49
+ * [#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))
134
50
  * [#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))
135
-
136
- #### Committers: 1
137
- - Florian Pichler ([@pichfl](https://github.com/pichfl))
138
-
139
- ## Release (2025-09-01)
140
-
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
51
  * [#10785](https://github.com/ember-cli/ember-cli/pull/10785) Depracate passing filenames and globs to `init` ([@pichfl](https://github.com/pichfl))
150
52
  * [#10776](https://github.com/ember-cli/ember-cli/pull/10776) Add deprecation warning for the `--embroider` argument ([@pichfl](https://github.com/pichfl))
53
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
54
+ * [#10791](https://github.com/ember-cli/ember-cli/pull/10791) update the format of the ember-cli-update.json ([@mansona](https://github.com/mansona))
151
55
 
152
56
  #### :bug: Bug Fix
153
- * Other
57
+ * `ember-cli`
58
+ * [#10846](https://github.com/ember-cli/ember-cli/pull/10846) [beta bugfix] allow build --watch only in EMBROIDER_PREBUILD ([@mansona](https://github.com/mansona))
59
+ * [#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))
154
60
  * [#10782](https://github.com/ember-cli/ember-cli/pull/10782) update heimdall-fs-monitor ([@mansona](https://github.com/mansona))
61
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
62
+ * [#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))
155
63
  * `@ember-tooling/classic-build-app-blueprint`
64
+ * [#10798](https://github.com/ember-cli/ember-cli/pull/10798) Add import from ember-data breakage/deprecation ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
65
+ * `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
156
66
  * [#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))
157
67
 
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
165
- - Chris Manson ([@mansona](https://github.com/mansona))
166
- - Florian Pichler ([@pichfl](https://github.com/pichfl))
167
- - Isaac Lee ([@ijlee2](https://github.com/ijlee2))
168
-
169
- ## Release (2025-08-02)
170
-
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)
174
-
175
- #### :rocket: Enhancement
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))
68
+ #### :memo: Documentation
69
+ * `ember-cli`
70
+ * [#10843](https://github.com/ember-cli/ember-cli/pull/10843) Further contextualize help output and error when options and commands that are no longer supported in Vite-based projects are used ([@kategengler](https://github.com/kategengler))
71
+ * [#10840](https://github.com/ember-cli/ember-cli/pull/10840) [beta] fix help for vite-based projects ([@kategengler](https://github.com/kategengler))
72
+ * [#10835](https://github.com/ember-cli/ember-cli/pull/10835) Update deprecation message for --embroider option ([@kategengler](https://github.com/kategengler))
180
73
 
181
74
  #### :house: Internal
182
- * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
75
+ * `ember-cli`, `@ember-tooling/classic-build-app-blueprint`
76
+ * [#10847](https://github.com/ember-cli/ember-cli/pull/10847) Prepare Beta Release ([@mansona](https://github.com/mansona))
77
+ * [#10825](https://github.com/ember-cli/ember-cli/pull/10825) Prepare Beta Release ([@mansona](https://github.com/mansona))
78
+ * [#10820](https://github.com/ember-cli/ember-cli/pull/10820) Prepare Beta Release ([@mansona](https://github.com/mansona))
79
+ * `ember-cli`
80
+ * [#10845](https://github.com/ember-cli/ember-cli/pull/10845) [beta] update @ember/app-blueprint to latest beta ([@mansona](https://github.com/mansona))
81
+ * [#10833](https://github.com/ember-cli/ember-cli/pull/10833) [bugfix beta] bump the @ember/app-blueprint version ([@mansona](https://github.com/mansona))
82
+ * [#10823](https://github.com/ember-cli/ember-cli/pull/10823) fix incorrect ember-cli-update version in tests ([@mansona](https://github.com/mansona))
83
+ * [#10819](https://github.com/ember-cli/ember-cli/pull/10819) update @ember/app-blueprint beta version ([@mansona](https://github.com/mansona))
84
+ * [#10806](https://github.com/ember-cli/ember-cli/pull/10806) skip build watch tests when vite is enabled ([@mansona](https://github.com/mansona))
85
+ * [#10790](https://github.com/ember-cli/ember-cli/pull/10790) Reorganize tests for `new` and `addon` commands ([@pichfl](https://github.com/pichfl))
86
+ * [#10783](https://github.com/ember-cli/ember-cli/pull/10783) remove unused changelog script ([@mansona](https://github.com/mansona))
87
+ * [#10764](https://github.com/ember-cli/ember-cli/pull/10764) fix double CI run on release-plan PR ([@mansona](https://github.com/mansona))
88
+ * [#10750](https://github.com/ember-cli/ember-cli/pull/10750) Add more notes to the Release.md ([@mansona](https://github.com/mansona))
89
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
90
+ * [#10799](https://github.com/ember-cli/ember-cli/pull/10799) Prepare Alpha Release ([@mansona](https://github.com/mansona))
91
+ * [#10778](https://github.com/ember-cli/ember-cli/pull/10778) Prepare Alpha Release ([@mansona](https://github.com/mansona))
92
+ * [#10756](https://github.com/ember-cli/ember-cli/pull/10756) Prepare Alpha Release ([@mansona](https://github.com/mansona))
183
93
  * [#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
94
 
188
- #### Committers: 2
95
+ #### Committers: 6
96
+ - Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
189
97
  - Chris Manson ([@mansona](https://github.com/mansona))
190
- - [@github-actions[bot]](https://github.com/apps/github-actions)
191
-
192
- ## Release (2025-07-26)
98
+ - Florian Pichler ([@pichfl](https://github.com/pichfl))
99
+ - Isaac Lee ([@ijlee2](https://github.com/ijlee2))
100
+ - Katie Gengler ([@kategengler](https://github.com/kategengler))
101
+ - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
193
102
 
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)
103
+ ## Release (2025-10-08)
197
104
 
198
- #### :rocket: Enhancement
199
- * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
200
- * [#10742](https://github.com/ember-cli/ember-cli/pull/10742) Drop node 18, add node 24 ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
105
+ * ember-cli 6.7.2 (patch)
106
+ * @ember-tooling/classic-build-addon-blueprint 6.7.1 (patch)
107
+ * @ember-tooling/classic-build-app-blueprint 6.7.2 (patch)
201
108
 
202
109
  #### :bug: Bug Fix
203
110
  * `@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))
111
+ * [#10838](https://github.com/ember-cli/ember-cli/pull/10838) Add package license metadata to match repository ([@davidtaylorhq](https://github.com/davidtaylorhq))
230
112
 
231
113
  #### Committers: 1
232
- - Chris Manson ([@mansona](https://github.com/mansona))
114
+ - David Taylor ([@davidtaylorhq](https://github.com/davidtaylorhq))
233
115
 
234
- ## Release (2025-06-30)
116
+ ## Release (2025-10-06)
235
117
 
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)
118
+ * ember-cli 6.7.1 (patch)
119
+ * @ember-tooling/classic-build-app-blueprint 6.7.1 (patch)
241
120
 
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))
121
+ #### :bug: Bug Fix
122
+ * `ember-cli`
123
+ * [#10834](https://github.com/ember-cli/ember-cli/pull/10834) [bugfix release] Fix tests using wrong versions ([@mansona](https://github.com/mansona))
124
+ * `@ember-tooling/classic-build-app-blueprint`
125
+ * [#10824](https://github.com/ember-cli/ember-cli/pull/10824) [bugfix release] fix app-blueprint being considered a blueprint ([@mansona](https://github.com/mansona))
248
126
 
249
127
  #### Committers: 1
250
128
  - Chris Manson ([@mansona](https://github.com/mansona))
251
129
 
252
- ## Release (2025-06-16)
130
+ ## Release (2025-09-06)
253
131
 
254
- * ember-cli 6.7.0-alpha.1 (minor)
132
+ * ember-cli 6.7.0 (minor)
133
+ * @ember-tooling/classic-build-addon-blueprint 6.7.0 (minor)
134
+ * @ember-tooling/classic-build-app-blueprint 6.7.0 (minor)
255
135
 
256
136
  #### :rocket: Enhancement
137
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
138
+ * [#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))
139
+ * [#10742](https://github.com/ember-cli/ember-cli/pull/10742) Drop node 18, add node 24 ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
140
+
141
+ #### :bug: Bug Fix
257
142
  * `ember-cli`
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))
143
+ * [#10794](https://github.com/ember-cli/ember-cli/pull/10794) Fix potential NPE ([@boris-petrov](https://github.com/boris-petrov))
259
144
 
260
145
  #### :memo: Documentation
261
146
  * `ember-cli`
@@ -263,20 +148,32 @@
263
148
 
264
149
  #### :house: Internal
265
150
  * `ember-cli`
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))
151
+ * [#10801](https://github.com/ember-cli/ember-cli/pull/10801) update github-changelog ([@mansona](https://github.com/mansona))
152
+ * [#10761](https://github.com/ember-cli/ember-cli/pull/10761) update release-plan ([@mansona](https://github.com/mansona))
153
+ * [#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))
154
+ * [#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))
155
+ * [#10744](https://github.com/ember-cli/ember-cli/pull/10744) run tests on the release-plan PR ([@mansona](https://github.com/mansona))
156
+ * [#10735](https://github.com/ember-cli/ember-cli/pull/10735) remove unnecessary project override ([@mansona](https://github.com/mansona))
157
+ * `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
158
+ * [#10800](https://github.com/ember-cli/ember-cli/pull/10800) fix release-plan for stable release ([@mansona](https://github.com/mansona))
159
+ * [#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))
160
+ * [#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))
161
+ * `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
162
+ * [#10738](https://github.com/ember-cli/ember-cli/pull/10738) add a repository for each of the packages ([@mansona](https://github.com/mansona))
270
163
 
271
- #### Committers: 1
164
+ #### Committers: 3
165
+ - Boris Petrov ([@boris-petrov](https://github.com/boris-petrov))
272
166
  - Chris Manson ([@mansona](https://github.com/mansona))
167
+ - [@NullVoxPopuli](https://github.com/NullVoxPopuli)
273
168
 
274
- ## Release (2025-06-16)
169
+ ## Release (2025-07-29)
275
170
 
276
- * ember-cli 6.6.0-beta.1 (minor)
171
+ * ember-cli 6.6.0 (minor)
277
172
 
278
173
  #### :rocket: Enhancement
279
174
  * `ember-cli`
175
+ * [#10749](https://github.com/ember-cli/ember-cli/pull/10749) Update all dependencies for 6.6 release ([@mansona](https://github.com/mansona))
176
+ * [#10751](https://github.com/ember-cli/ember-cli/pull/10751) [BETA BACKPORT] Backport drop node 18 ([@mansona](https://github.com/mansona))
280
177
  * [#10701](https://github.com/ember-cli/ember-cli/pull/10701) [ENHANCEMENT] Support Bun ([@hexadecy](https://github.com/hexadecy))
281
178
  * [#10664](https://github.com/ember-cli/ember-cli/pull/10664) [ENHANCEMENT] Remove ember-fetch ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
282
179
 
@@ -287,8 +184,6 @@
287
184
 
288
185
  #### :house: Internal
289
186
  * `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))
292
187
  * [#10699](https://github.com/ember-cli/ember-cli/pull/10699) Start using release-plan for releasing ember-cli ([@mansona](https://github.com/mansona))
293
188
  * [#10670](https://github.com/ember-cli/ember-cli/pull/10670) testing: don't generate temp directories in the repo ([@mansona](https://github.com/mansona))
294
189
 
@@ -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.9.0-alpha.2-master-01a68b9b36"
6
+ "version": "6.9.0-release-f6dd3c4363"
7
7
  },
8
8
  "files": {
9
9
  "lib/broccoli/default-packager.js": {
@@ -312,7 +312,7 @@ let Command = CoreObject.extend({
312
312
 
313
313
  let options = commandOptions.options;
314
314
 
315
- if (this.hasOption('watcher')) {
315
+ if (this.hasOption('watcher') || process.env.EMBROIDER_PREBUILD) {
316
316
  // Do stuff to try and provide a good experience when it comes to file watching:
317
317
  let watchPreference = detector.findBestWatcherOption(options);
318
318
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-cli",
3
- "version": "6.9.0-alpha.2",
3
+ "version": "6.9.0",
4
4
  "description": "Command line tool for developing ambitious ember.js apps",
5
5
  "keywords": [
6
6
  "app",
@@ -26,16 +26,10 @@
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
- },
37
29
  "dependencies": {
38
- "@ember/app-blueprint": "~6.9.0-alpha.1",
30
+ "@ember-tooling/blueprint-blueprint": "^0.2.1",
31
+ "@ember-tooling/blueprint-model": "^0.4.1",
32
+ "@ember/app-blueprint": "~6.9.0",
39
33
  "@pnpm/find-workspace-dir": "^1000.1.0",
40
34
  "babel-remove-types": "^1.0.1",
41
35
  "broccoli": "^3.5.2",
@@ -118,10 +112,8 @@
118
112
  "watch-detector": "^1.0.2",
119
113
  "workerpool": "^9.2.0",
120
114
  "yam": "^1.0.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"
115
+ "@ember-tooling/classic-build-addon-blueprint": "6.9.0",
116
+ "@ember-tooling/classic-build-app-blueprint": "6.9.0"
125
117
  },
126
118
  "devDependencies": {
127
119
  "broccoli-plugin": "^4.0.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/classic-build-addon-blueprint",
3
- "version": "6.9.0-alpha.2",
3
+ "version": "6.9.0",
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": "workspace:*",
14
+ "@ember-tooling/blueprint-model": "^0.4.1",
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,13 +20,5 @@
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"
31
23
  }
32
24
  }
@@ -28,8 +28,8 @@
28
28
  "test:ember": "ember test"
29
29
  },
30
30
  "devDependencies": {
31
- "@babel/core": "^7.28.4",
32
- "@babel/eslint-parser": "^7.28.4",
31
+ "@babel/core": "^7.28.5",
32
+ "@babel/eslint-parser": "^7.28.5",
33
33
  "@babel/plugin-proposal-decorators": "^7.28.0<% if (typescript && emberData) { %>",
34
34
  "@ember-data/adapter": "~5.7.0",
35
35
  "@ember-data/graph": "~5.7.0",
@@ -41,26 +41,26 @@
41
41
  "@ember-data/serializer": "~5.7.0",
42
42
  "@ember-data/store": "~5.7.0",
43
43
  "@warp-drive/ember": "~5.7.0<% } %>",
44
- "@ember/optional-features": "^2.2.0",
45
- "@ember/test-helpers": "^5.3.0<% if (embroider) { %>",
46
- "@embroider/compat": "^3.9.1",
47
- "@embroider/core": "^3.5.7<% } %>",
48
- "@embroider/macros": "^1.18.1<% if (embroider) { %>",
49
- "@embroider/webpack": "^4.1.1<% } %>",
50
- "@eslint/js": "^9.35.0",
44
+ "@ember/optional-features": "^2.3.0",
45
+ "@ember/test-helpers": "^5.4.1<% if (embroider) { %>",
46
+ "@embroider/compat": "^3.9.3",
47
+ "@embroider/core": "^3.5.9<% } %>",
48
+ "@embroider/macros": "^1.19.5<% if (embroider) { %>",
49
+ "@embroider/webpack": "^4.1.2<% } %>",
50
+ "@eslint/js": "^9.39.1",
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.5.2",
56
- "@tsconfig/ember": "^3.0.11",
55
+ "@glint/template": "^1.7.3",
56
+ "@tsconfig/ember": "^3.0.12",
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.10.0",
63
- "ember-cli": "~6.9.0-alpha.2",
62
+ "ember-auto-import": "^2.12.0",
63
+ "ember-cli": "~6.9.0",
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.9.0-alpha.1",
79
+ "ember-source": "~6.9.0",
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.35.0",
83
+ "eslint": "^9.39.1",
84
84
  "eslint-config-prettier": "^9.1.2",
85
- "eslint-plugin-ember": "^12.7.4",
86
- "eslint-plugin-n": "^17.23.0",
85
+ "eslint-plugin-ember": "^12.7.5",
86
+ "eslint-plugin-n": "^17.23.1",
87
87
  "eslint-plugin-qunit": "^8.2.5",
88
88
  "globals": "^15.15.0",
89
89
  "loader.js": "^4.7.0",
90
- "prettier": "^3.6.2",
91
- "prettier-plugin-ember-template-tag": "^2.1.0",
92
- "qunit": "^2.24.1",
90
+ "prettier": "^3.7.4",
91
+ "prettier-plugin-ember-template-tag": "^2.1.2",
92
+ "qunit": "^2.24.3",
93
93
  "qunit-dom": "^3.5.0",
94
- "stylelint": "^16.24.0",
94
+ "stylelint": "^16.26.1",
95
95
  "stylelint-config-standard": "^36.0.1",
96
96
  "tracked-built-ins": "^3.4.0<% if (typescript) { %>",
97
- "typescript": "^5.9.2",
98
- "typescript-eslint": "^8.44.0<% } %>",
99
- "webpack": "^5.101.3"
97
+ "typescript": "^5.9.3",
98
+ "typescript-eslint": "^8.49.0<% } %>",
99
+ "webpack": "^5.103.0"
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.9.0-alpha.2",
3
+ "version": "6.9.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ember-cli/ember-cli.git",
@@ -11,16 +11,8 @@
11
11
  "ember-blueprint"
12
12
  ],
13
13
  "dependencies": {
14
- "@ember-tooling/blueprint-model": "workspace:*",
14
+ "@ember-tooling/blueprint-model": "^0.4.1",
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"
25
17
  }
26
18
  }
@@ -1,16 +0,0 @@
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
- };
@@ -1,5 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- description: 'Generates a blueprint and definition.',
5
- };
@@ -1,13 +0,0 @@
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
- }
@@ -1,19 +0,0 @@
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
- }
@@ -1,31 +0,0 @@
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
- };
@@ -1,64 +0,0 @@
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;
@@ -1,63 +0,0 @@
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
- };
@@ -1,170 +0,0 @@
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;
@@ -1,44 +0,0 @@
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;
@@ -1,12 +0,0 @@
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
- };
@@ -1,10 +0,0 @@
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
- };