ember-cli 6.8.0-beta.6 → 6.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -100
- package/docs/build/data.json +1 -1
- package/lib/models/command.js +1 -1
- package/package.json +6 -14
- package/packages/addon-blueprint/package.json +2 -10
- package/packages/app-blueprint/files/package.json +15 -15
- package/packages/app-blueprint/package.json +2 -10
- package/packages/blueprint-blueprint/files/blueprints/__name__/files/.gitkeep +0 -0
- package/packages/blueprint-blueprint/files/blueprints/__name__/index.js +0 -16
- package/packages/blueprint-blueprint/index.js +0 -5
- package/packages/blueprint-blueprint/package.json +0 -13
- package/packages/blueprint-model/package.json +0 -19
- package/packages/blueprint-model/utilities/directory-for-package-name.js +0 -31
- package/packages/blueprint-model/utilities/edit-file-diff.js +0 -64
- package/packages/blueprint-model/utilities/experiments.js +0 -54
- package/packages/blueprint-model/utilities/file-info.js +0 -170
- package/packages/blueprint-model/utilities/open-editor.js +0 -44
- package/packages/blueprint-model/utilities/prepend-emoji.js +0 -12
- package/packages/blueprint-model/utilities/process-template.js +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,151 +1,111 @@
|
|
|
1
1
|
# ember-cli Changelog
|
|
2
2
|
|
|
3
|
-
## Release (2025-
|
|
3
|
+
## Release (2025-11-29)
|
|
4
4
|
|
|
5
|
-
* ember-cli 6.8.
|
|
6
|
-
* @ember-tooling/classic-build-addon-blueprint 6.8.0-beta.3 (patch)
|
|
7
|
-
* @ember-tooling/classic-build-app-blueprint 6.8.0-beta.3 (patch)
|
|
8
|
-
* @ember-tooling/blueprint-blueprint 0.1.1 (patch)
|
|
9
|
-
* @ember-tooling/blueprint-model 0.3.1 (patch)
|
|
5
|
+
* ember-cli 6.8.1 (patch)
|
|
10
6
|
|
|
11
7
|
#### :bug: Bug Fix
|
|
12
|
-
* `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
|
|
13
|
-
* [#10838](https://github.com/ember-cli/ember-cli/pull/10838) Add package license metadata to match repository ([@davidtaylorhq](https://github.com/davidtaylorhq))
|
|
14
8
|
* `ember-cli`
|
|
15
|
-
* [#
|
|
16
|
-
|
|
17
|
-
#### :house: Internal
|
|
18
|
-
* `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
|
|
19
|
-
* [#10848](https://github.com/ember-cli/ember-cli/pull/10848) merge origin/release into beta ([@mansona](https://github.com/mansona))
|
|
20
|
-
|
|
21
|
-
#### Committers: 2
|
|
22
|
-
- Chris Manson ([@mansona](https://github.com/mansona))
|
|
23
|
-
- David Taylor ([@davidtaylorhq](https://github.com/davidtaylorhq))
|
|
24
|
-
|
|
25
|
-
## Release (2025-10-13)
|
|
26
|
-
|
|
27
|
-
* ember-cli 6.8.0-beta.5 (patch)
|
|
28
|
-
|
|
29
|
-
#### :bug: Bug Fix
|
|
30
|
-
* `ember-cli`
|
|
31
|
-
* [#10846](https://github.com/ember-cli/ember-cli/pull/10846) [beta bugfix] allow build --watch only in EMBROIDER_PREBUILD ([@mansona](https://github.com/mansona))
|
|
9
|
+
* [#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))
|
|
32
10
|
|
|
33
11
|
#### Committers: 1
|
|
34
|
-
-
|
|
12
|
+
- [@NullVoxPopuli](https://github.com/NullVoxPopuli)
|
|
35
13
|
|
|
36
|
-
## Release (2025-10-
|
|
14
|
+
## Release (2025-10-14)
|
|
37
15
|
|
|
38
|
-
* ember-cli 6.8.0
|
|
39
|
-
* @ember-tooling/classic-build-addon-blueprint 6.8.0
|
|
40
|
-
* @ember-tooling/classic-build-app-blueprint 6.8.0
|
|
16
|
+
* ember-cli 6.8.0 (minor)
|
|
17
|
+
* @ember-tooling/classic-build-addon-blueprint 6.8.0 (minor)
|
|
18
|
+
* @ember-tooling/classic-build-app-blueprint 6.8.0 (minor)
|
|
41
19
|
|
|
42
20
|
#### :rocket: Enhancement
|
|
43
|
-
* `ember-cli`
|
|
44
|
-
* [#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))
|
|
45
21
|
* `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
|
|
22
|
+
* [#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))
|
|
46
23
|
* [#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))
|
|
47
|
-
|
|
48
|
-
#### :memo: Documentation
|
|
49
|
-
* `ember-cli`
|
|
50
|
-
* [#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))
|
|
51
|
-
* [#10840](https://github.com/ember-cli/ember-cli/pull/10840) [beta] fix help for vite-based projects ([@kategengler](https://github.com/kategengler))
|
|
52
|
-
* [#10835](https://github.com/ember-cli/ember-cli/pull/10835) Update deprecation message for --embroider option ([@kategengler](https://github.com/kategengler))
|
|
53
|
-
|
|
54
|
-
#### :house: Internal
|
|
55
|
-
* `ember-cli`
|
|
56
|
-
* [#10845](https://github.com/ember-cli/ember-cli/pull/10845) [beta] update @ember/app-blueprint to latest beta ([@mansona](https://github.com/mansona))
|
|
57
|
-
* [#10833](https://github.com/ember-cli/ember-cli/pull/10833) [bugfix beta] bump the @ember/app-blueprint version ([@mansona](https://github.com/mansona))
|
|
58
|
-
|
|
59
|
-
#### Committers: 2
|
|
60
|
-
- Chris Manson ([@mansona](https://github.com/mansona))
|
|
61
|
-
- Katie Gengler ([@kategengler](https://github.com/kategengler))
|
|
62
|
-
|
|
63
|
-
## Release (2025-10-03)
|
|
64
|
-
|
|
65
|
-
* ember-cli 6.8.0-beta.3 (patch)
|
|
66
|
-
|
|
67
|
-
#### :bug: Bug Fix
|
|
68
|
-
* `ember-cli`
|
|
69
|
-
* [#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))
|
|
70
|
-
|
|
71
|
-
#### Committers: 1
|
|
72
|
-
- Chris Manson ([@mansona](https://github.com/mansona))
|
|
73
|
-
|
|
74
|
-
## Release (2025-10-02)
|
|
75
|
-
|
|
76
|
-
* ember-cli 6.8.0-beta.2 (patch)
|
|
77
|
-
|
|
78
|
-
#### :house: Internal
|
|
79
|
-
* `ember-cli`
|
|
80
|
-
* [#10823](https://github.com/ember-cli/ember-cli/pull/10823) fix incorrect ember-cli-update version in tests ([@mansona](https://github.com/mansona))
|
|
81
|
-
* [#10819](https://github.com/ember-cli/ember-cli/pull/10819) update @ember/app-blueprint beta version ([@mansona](https://github.com/mansona))
|
|
82
|
-
|
|
83
|
-
#### Committers: 1
|
|
84
|
-
- Chris Manson ([@mansona](https://github.com/mansona))
|
|
85
|
-
|
|
86
|
-
## Release (2025-09-10)
|
|
87
|
-
|
|
88
|
-
* ember-cli 6.8.0-beta.1 (minor)
|
|
89
|
-
* @ember-tooling/classic-build-addon-blueprint 6.8.0-beta.1 (minor)
|
|
90
|
-
* @ember-tooling/classic-build-app-blueprint 6.8.0-beta.1 (minor)
|
|
91
|
-
* @ember-tooling/blueprint-blueprint 0.1.0 (minor)
|
|
92
|
-
* @ember-tooling/blueprint-model 0.3.0 (minor)
|
|
93
|
-
|
|
94
|
-
#### :rocket: Enhancement
|
|
95
|
-
* `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`, `@ember-tooling/blueprint-model`
|
|
96
24
|
* [#10808](https://github.com/ember-cli/ember-cli/pull/10808) Prepare 6.8 Beta ([@mansona](https://github.com/mansona))
|
|
97
|
-
* `@ember-tooling/blueprint-model`
|
|
98
|
-
* [#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite by default ([@mansona](https://github.com/mansona))
|
|
99
25
|
* `ember-cli`
|
|
26
|
+
* [#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))
|
|
27
|
+
* [#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite by default ([@mansona](https://github.com/mansona))
|
|
100
28
|
* [#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))
|
|
29
|
+
* [#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))
|
|
101
30
|
* [#10785](https://github.com/ember-cli/ember-cli/pull/10785) Depracate passing filenames and globs to `init` ([@pichfl](https://github.com/pichfl))
|
|
102
31
|
* [#10776](https://github.com/ember-cli/ember-cli/pull/10776) Add deprecation warning for the `--embroider` argument ([@pichfl](https://github.com/pichfl))
|
|
103
|
-
* `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
|
|
104
|
-
* [#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))
|
|
105
|
-
* `ember-cli`, `@ember-tooling/blueprint-model`
|
|
106
|
-
* [#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))
|
|
107
32
|
* `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
|
|
108
33
|
* [#10791](https://github.com/ember-cli/ember-cli/pull/10791) update the format of the ember-cli-update.json ([@mansona](https://github.com/mansona))
|
|
109
34
|
|
|
110
35
|
#### :bug: Bug Fix
|
|
111
|
-
*
|
|
36
|
+
* `ember-cli`
|
|
37
|
+
* [#10846](https://github.com/ember-cli/ember-cli/pull/10846) [beta bugfix] allow build --watch only in EMBROIDER_PREBUILD ([@mansona](https://github.com/mansona))
|
|
38
|
+
* [#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))
|
|
39
|
+
* [#10782](https://github.com/ember-cli/ember-cli/pull/10782) update heimdall-fs-monitor ([@mansona](https://github.com/mansona))
|
|
40
|
+
* `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
|
|
112
41
|
* [#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))
|
|
113
42
|
* `@ember-tooling/classic-build-app-blueprint`
|
|
114
43
|
* [#10798](https://github.com/ember-cli/ember-cli/pull/10798) Add import from ember-data breakage/deprecation ([@NullVoxPopuli](https://github.com/NullVoxPopuli))
|
|
115
|
-
* `ember-cli`
|
|
116
|
-
* [#10794](https://github.com/ember-cli/ember-cli/pull/10794) Fix potential NPE ([@boris-petrov](https://github.com/boris-petrov))
|
|
117
|
-
* [#10782](https://github.com/ember-cli/ember-cli/pull/10782) update heimdall-fs-monitor ([@mansona](https://github.com/mansona))
|
|
118
44
|
* `@ember-tooling/classic-build-app-blueprint`, `ember-cli`
|
|
119
45
|
* [#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))
|
|
120
46
|
|
|
47
|
+
#### :memo: Documentation
|
|
48
|
+
* `ember-cli`
|
|
49
|
+
* [#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))
|
|
50
|
+
* [#10840](https://github.com/ember-cli/ember-cli/pull/10840) [beta] fix help for vite-based projects ([@kategengler](https://github.com/kategengler))
|
|
51
|
+
* [#10835](https://github.com/ember-cli/ember-cli/pull/10835) Update deprecation message for --embroider option ([@kategengler](https://github.com/kategengler))
|
|
52
|
+
|
|
121
53
|
#### :house: Internal
|
|
122
|
-
* `ember-cli`, `@ember-tooling/classic-build-
|
|
123
|
-
* [#
|
|
124
|
-
* [#
|
|
54
|
+
* `ember-cli`, `@ember-tooling/classic-build-app-blueprint`
|
|
55
|
+
* [#10847](https://github.com/ember-cli/ember-cli/pull/10847) Prepare Beta Release ([@mansona](https://github.com/mansona))
|
|
56
|
+
* [#10825](https://github.com/ember-cli/ember-cli/pull/10825) Prepare Beta Release ([@mansona](https://github.com/mansona))
|
|
57
|
+
* [#10820](https://github.com/ember-cli/ember-cli/pull/10820) Prepare Beta Release ([@mansona](https://github.com/mansona))
|
|
125
58
|
* `ember-cli`
|
|
59
|
+
* [#10845](https://github.com/ember-cli/ember-cli/pull/10845) [beta] update @ember/app-blueprint to latest beta ([@mansona](https://github.com/mansona))
|
|
60
|
+
* [#10833](https://github.com/ember-cli/ember-cli/pull/10833) [bugfix beta] bump the @ember/app-blueprint version ([@mansona](https://github.com/mansona))
|
|
61
|
+
* [#10823](https://github.com/ember-cli/ember-cli/pull/10823) fix incorrect ember-cli-update version in tests ([@mansona](https://github.com/mansona))
|
|
62
|
+
* [#10819](https://github.com/ember-cli/ember-cli/pull/10819) update @ember/app-blueprint beta version ([@mansona](https://github.com/mansona))
|
|
126
63
|
* [#10806](https://github.com/ember-cli/ember-cli/pull/10806) skip build watch tests when vite is enabled ([@mansona](https://github.com/mansona))
|
|
127
|
-
* [#10801](https://github.com/ember-cli/ember-cli/pull/10801) update github-changelog ([@mansona](https://github.com/mansona))
|
|
128
64
|
* [#10790](https://github.com/ember-cli/ember-cli/pull/10790) Reorganize tests for `new` and `addon` commands ([@pichfl](https://github.com/pichfl))
|
|
129
65
|
* [#10783](https://github.com/ember-cli/ember-cli/pull/10783) remove unused changelog script ([@mansona](https://github.com/mansona))
|
|
130
66
|
* [#10764](https://github.com/ember-cli/ember-cli/pull/10764) fix double CI run on release-plan PR ([@mansona](https://github.com/mansona))
|
|
131
67
|
* [#10750](https://github.com/ember-cli/ember-cli/pull/10750) Add more notes to the Release.md ([@mansona](https://github.com/mansona))
|
|
132
|
-
* `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`, `@ember-tooling/blueprint-blueprint`
|
|
133
|
-
* [#10799](https://github.com/ember-cli/ember-cli/pull/10799) Prepare Alpha Release ([@mansona](https://github.com/mansona))
|
|
134
68
|
* `ember-cli`, `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
|
|
135
|
-
* [#
|
|
136
|
-
* [#10800](https://github.com/ember-cli/ember-cli/pull/10800) fix release-plan for stable release ([@mansona](https://github.com/mansona))
|
|
69
|
+
* [#10799](https://github.com/ember-cli/ember-cli/pull/10799) Prepare Alpha Release ([@mansona](https://github.com/mansona))
|
|
137
70
|
* [#10778](https://github.com/ember-cli/ember-cli/pull/10778) Prepare Alpha Release ([@mansona](https://github.com/mansona))
|
|
138
71
|
* [#10756](https://github.com/ember-cli/ember-cli/pull/10756) Prepare Alpha Release ([@mansona](https://github.com/mansona))
|
|
139
72
|
* [#10763](https://github.com/ember-cli/ember-cli/pull/10763) Prepare 6.8-alpha ([@mansona](https://github.com/mansona))
|
|
140
73
|
|
|
141
74
|
#### Committers: 6
|
|
142
75
|
- Bert De Block ([@bertdeblock](https://github.com/bertdeblock))
|
|
143
|
-
- Boris Petrov ([@boris-petrov](https://github.com/boris-petrov))
|
|
144
76
|
- Chris Manson ([@mansona](https://github.com/mansona))
|
|
145
77
|
- Florian Pichler ([@pichfl](https://github.com/pichfl))
|
|
146
78
|
- Isaac Lee ([@ijlee2](https://github.com/ijlee2))
|
|
79
|
+
- Katie Gengler ([@kategengler](https://github.com/kategengler))
|
|
147
80
|
- [@NullVoxPopuli](https://github.com/NullVoxPopuli)
|
|
148
81
|
|
|
82
|
+
## Release (2025-10-08)
|
|
83
|
+
|
|
84
|
+
* ember-cli 6.7.2 (patch)
|
|
85
|
+
* @ember-tooling/classic-build-addon-blueprint 6.7.1 (patch)
|
|
86
|
+
* @ember-tooling/classic-build-app-blueprint 6.7.2 (patch)
|
|
87
|
+
|
|
88
|
+
#### :bug: Bug Fix
|
|
89
|
+
* `@ember-tooling/classic-build-addon-blueprint`, `@ember-tooling/classic-build-app-blueprint`
|
|
90
|
+
* [#10838](https://github.com/ember-cli/ember-cli/pull/10838) Add package license metadata to match repository ([@davidtaylorhq](https://github.com/davidtaylorhq))
|
|
91
|
+
|
|
92
|
+
#### Committers: 1
|
|
93
|
+
- David Taylor ([@davidtaylorhq](https://github.com/davidtaylorhq))
|
|
94
|
+
|
|
95
|
+
## Release (2025-10-06)
|
|
96
|
+
|
|
97
|
+
* ember-cli 6.7.1 (patch)
|
|
98
|
+
* @ember-tooling/classic-build-app-blueprint 6.7.1 (patch)
|
|
99
|
+
|
|
100
|
+
#### :bug: Bug Fix
|
|
101
|
+
* `ember-cli`
|
|
102
|
+
* [#10834](https://github.com/ember-cli/ember-cli/pull/10834) [bugfix release] Fix tests using wrong versions ([@mansona](https://github.com/mansona))
|
|
103
|
+
* `@ember-tooling/classic-build-app-blueprint`
|
|
104
|
+
* [#10824](https://github.com/ember-cli/ember-cli/pull/10824) [bugfix release] fix app-blueprint being considered a blueprint ([@mansona](https://github.com/mansona))
|
|
105
|
+
|
|
106
|
+
#### Committers: 1
|
|
107
|
+
- Chris Manson ([@mansona](https://github.com/mansona))
|
|
108
|
+
|
|
149
109
|
## Release (2025-09-06)
|
|
150
110
|
|
|
151
111
|
* ember-cli 6.7.0 (minor)
|
package/docs/build/data.json
CHANGED
|
@@ -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.
|
|
6
|
+
"version": "6.8.1-release-0e508704c2"
|
|
7
7
|
},
|
|
8
8
|
"files": {
|
|
9
9
|
"lib/broccoli/default-packager.js": {
|
package/lib/models/command.js
CHANGED
|
@@ -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.8.
|
|
3
|
+
"version": "6.8.1",
|
|
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": "beta",
|
|
35
|
-
"publishTag": "beta"
|
|
36
|
-
},
|
|
37
29
|
"dependencies": {
|
|
38
|
-
"@ember/
|
|
30
|
+
"@ember-tooling/blueprint-blueprint": "^0.2.1",
|
|
31
|
+
"@ember-tooling/blueprint-model": "^0.4.1",
|
|
32
|
+
"@ember/app-blueprint": "~6.8.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/
|
|
122
|
-
"@ember-tooling/classic-build-app-blueprint": "6.8.0
|
|
123
|
-
"@ember-tooling/blueprint-model": "0.3.1",
|
|
124
|
-
"@ember-tooling/classic-build-addon-blueprint": "6.8.0-beta.3"
|
|
115
|
+
"@ember-tooling/classic-build-addon-blueprint": "6.8.0",
|
|
116
|
+
"@ember-tooling/classic-build-app-blueprint": "6.8.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.8.0
|
|
3
|
+
"version": "6.8.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": "
|
|
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": "beta",
|
|
30
|
-
"publishTag": "beta"
|
|
31
23
|
}
|
|
32
24
|
}
|
|
@@ -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.
|
|
48
|
+
"@embroider/macros": "^1.19.1<% if (embroider) { %>",
|
|
49
49
|
"@embroider/webpack": "^4.1.1<% } %>",
|
|
50
|
-
"@eslint/js": "^9.
|
|
50
|
+
"@eslint/js": "^9.37.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.
|
|
55
|
+
"@glint/template": "^1.6.1",
|
|
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.
|
|
63
|
-
"ember-cli": "~6.8.
|
|
62
|
+
"ember-auto-import": "^2.11.1",
|
|
63
|
+
"ember-cli": "~6.8.1",
|
|
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",
|
|
@@ -74,29 +74,29 @@
|
|
|
74
74
|
"ember-load-initializers": "^3.0.1",
|
|
75
75
|
"ember-modifier": "^4.2.2",
|
|
76
76
|
"ember-page-title": "^9.0.3",
|
|
77
|
-
"ember-qunit": "^9.0.
|
|
77
|
+
"ember-qunit": "^9.0.4",
|
|
78
78
|
"ember-resolver": "^13.1.1",
|
|
79
|
-
"ember-source": "~6.8.0
|
|
79
|
+
"ember-source": "~6.8.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.
|
|
83
|
+
"eslint": "^9.37.0",
|
|
84
84
|
"eslint-config-prettier": "^9.1.2",
|
|
85
|
-
"eslint-plugin-ember": "^12.7.
|
|
86
|
-
"eslint-plugin-n": "^17.
|
|
85
|
+
"eslint-plugin-ember": "^12.7.4",
|
|
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
90
|
"prettier": "^3.6.2",
|
|
91
91
|
"prettier-plugin-ember-template-tag": "^2.1.0",
|
|
92
|
-
"qunit": "^2.24.
|
|
92
|
+
"qunit": "^2.24.2",
|
|
93
93
|
"qunit-dom": "^3.5.0",
|
|
94
|
-
"stylelint": "^16.
|
|
94
|
+
"stylelint": "^16.25.0",
|
|
95
95
|
"stylelint-config-standard": "^36.0.1",
|
|
96
96
|
"tracked-built-ins": "^3.4.0<% if (typescript) { %>",
|
|
97
|
-
"typescript": "^5.9.
|
|
98
|
-
"typescript-eslint": "^8.
|
|
99
|
-
"webpack": "^5.
|
|
97
|
+
"typescript": "^5.9.3",
|
|
98
|
+
"typescript-eslint": "^8.46.1<% } %>",
|
|
99
|
+
"webpack": "^5.102.1"
|
|
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.8.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": "
|
|
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": "beta",
|
|
24
|
-
"publishTag": "beta"
|
|
25
17
|
}
|
|
26
18
|
}
|
|
File without changes
|
|
@@ -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,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@ember-tooling/blueprint-blueprint",
|
|
3
|
-
"version": "0.1.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.3.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,54 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const chalk = require('chalk');
|
|
4
|
-
const availableExperiments = Object.freeze(['EMBROIDER', 'CLASSIC', 'VITE']);
|
|
5
|
-
|
|
6
|
-
const deprecatedExperiments = Object.freeze([]);
|
|
7
|
-
const enabledExperiments = Object.freeze(['VITE']);
|
|
8
|
-
const deprecatedExperimentsDeprecationsIssued = [];
|
|
9
|
-
|
|
10
|
-
function isExperimentEnabled(experimentName) {
|
|
11
|
-
if (!availableExperiments.includes(experimentName)) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (process.env.EMBER_CLI_ENABLE_ALL_EXPERIMENTS && deprecatedExperiments.includes(experimentName)) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (process.env.EMBER_CLI_ENABLE_ALL_EXPERIMENTS) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (process.env.EMBER_CLI_CLASSIC && experimentName === 'EMBROIDER') {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
let experimentEnvironmentVariable = `EMBER_CLI_${experimentName}`;
|
|
28
|
-
let experimentValue = process.env[experimentEnvironmentVariable];
|
|
29
|
-
|
|
30
|
-
if (deprecatedExperiments.includes(experimentName)) {
|
|
31
|
-
let deprecationPreviouslyIssued = deprecatedExperimentsDeprecationsIssued.includes(experimentName);
|
|
32
|
-
let isSpecifiedByUser = experimentValue !== undefined;
|
|
33
|
-
|
|
34
|
-
if (!deprecationPreviouslyIssued && isSpecifiedByUser) {
|
|
35
|
-
console.warn(
|
|
36
|
-
chalk.yellow(`The ${experimentName} experiment in ember-cli has been deprecated and will be removed.`)
|
|
37
|
-
);
|
|
38
|
-
deprecatedExperimentsDeprecationsIssued.push(experimentName);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (enabledExperiments.includes(experimentName)) {
|
|
43
|
-
return experimentValue !== 'false';
|
|
44
|
-
} else {
|
|
45
|
-
return experimentValue !== undefined && experimentValue !== 'false';
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
module.exports = {
|
|
50
|
-
isExperimentEnabled,
|
|
51
|
-
|
|
52
|
-
// exported for testing purposes
|
|
53
|
-
_deprecatedExperimentsDeprecationsIssued: deprecatedExperimentsDeprecationsIssued,
|
|
54
|
-
};
|
|
@@ -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
|
-
};
|