ember-cli 5.3.0-beta.2 → 5.4.0-beta.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +14 -8
  2. package/RELEASE.md +46 -0
  3. package/blueprints/addon/files/.github/workflows/ci.yml +0 -1
  4. package/blueprints/addon/files/.travis.yml +0 -1
  5. package/blueprints/addon/files/README.md +2 -2
  6. package/blueprints/addon/files/addon-config/ember-try.js +0 -8
  7. package/blueprints/addon/index.js +6 -6
  8. package/blueprints/app/files/.ember-cli +0 -8
  9. package/blueprints/app/files/package.json +25 -25
  10. package/blueprints/app/index.js +5 -5
  11. package/blueprints/http-mock/index.js +0 -1
  12. package/blueprints/http-proxy/index.js +0 -1
  13. package/docs/build/data.json +51 -148
  14. package/lib/cli/cli.js +0 -8
  15. package/lib/cli/index.js +4 -53
  16. package/lib/commands/addon.js +5 -2
  17. package/lib/commands/init.js +17 -13
  18. package/lib/commands/install.js +8 -7
  19. package/lib/commands/new.js +6 -5
  20. package/lib/models/blueprint.js +1 -2
  21. package/lib/models/command.js +44 -50
  22. package/lib/models/watcher.js +0 -21
  23. package/lib/tasks/addon-install.js +1 -6
  24. package/lib/tasks/build-watch.js +0 -1
  25. package/lib/tasks/build.js +1 -21
  26. package/lib/tasks/generate-from-blueprint.js +0 -1
  27. package/lib/tasks/install-blueprint.js +0 -1
  28. package/lib/tasks/interactive-new.js +1 -1
  29. package/lib/tasks/npm-install.js +1 -2
  30. package/lib/tasks/npm-task.js +3 -6
  31. package/lib/tasks/serve.js +0 -3
  32. package/lib/tasks/server/express-server.js +0 -2
  33. package/lib/tasks/server/livereload-server.js +1 -12
  34. package/lib/utilities/get-lang-arg.js +3 -4
  35. package/lib/utilities/lint-fix.js +1 -2
  36. package/lib/utilities/package-managers.js +47 -0
  37. package/package.json +1 -5
  38. package/tests/helpers/acceptance.js +1 -1
  39. package/tests/helpers/ember.js +1 -4
  40. package/lib/utilities/get-package-manager-from-flags.js +0 -38
  41. package/lib/utilities/is-pnpm-project.js +0 -27
  42. package/lib/utilities/is-yarn-project.js +0 -26
  43. package/tests/helpers/mock-analytics.js +0 -23
package/CHANGELOG.md CHANGED
@@ -1,28 +1,34 @@
1
1
  # ember-cli Changelog
2
2
 
3
- ## v5.3.0-beta.2
3
+ ## v5.4.0-beta.0
4
4
 
5
5
  #### Blueprint Changes
6
6
 
7
- - [`ember new` diff](https://github.com/ember-cli/ember-new-output/compare/v5.3.0-beta.1...v5.3.0-beta.2)
8
- - [`ember addon` diff](https://github.com/ember-cli/ember-addon-output/compare/v5.3.0-beta.1...v5.3.0-beta.2)
7
+ - [`ember new` diff](https://github.com/ember-cli/ember-new-output/compare/v5.3.0...v5.4.0-beta.0)
8
+ - [`ember addon` diff](https://github.com/ember-cli/ember-addon-output/compare/v5.3.0...v5.4.0-beta.0)
9
9
 
10
10
  #### Changelog
11
11
 
12
- - [#10346](https://github.com/ember-cli/ember-cli/pull/10346) [BUGFIX release] App blueprint may not have explicit-any in ember-data types [@NullVoxPopuli](https://github.com/NullVoxPopuli)
13
- - [#10349](https://github.com/ember-cli/ember-cli/pull/10349) [BUGFIX release] Add `@babel/core` to `app` and `addon` blueprints [@bertdeblock](https://github.com/bertdeblock)
12
+ - [#10345](https://github.com/ember-cli/ember-cli/pull/10345) [BUGFIX beta] App blueprint may not have explicit-any in ember-data types [@NullVoxPopuli](https://github.com/NullVoxPopuli)
13
+ - [#10351](https://github.com/ember-cli/ember-cli/pull/10351) [ENHANCEMENT] Remove `ember-lts-4.4` scenario from `addon` blueprint [@bertdeblock](https://github.com/bertdeblock)
14
+ - [#10352](https://github.com/ember-cli/ember-cli/pull/10352) [ENHANCEMENT] Add official support for Node.js v20 [@bertdeblock](https://github.com/bertdeblock)
15
+ - [#10353](https://github.com/ember-cli/ember-cli/pull/10353) [ENHANCEMENT] Remove all telemetry [@bertdeblock](https://github.com/bertdeblock)
16
+ - [#10354](https://github.com/ember-cli/ember-cli/pull/10354) [INTERNAL] Remove `@babel/core` as a dependency [@bertdeblock](https://github.com/bertdeblock)
17
+ - [#10368](https://github.com/ember-cli/ember-cli/pull/10368) [ENHANCEMENT] Streamline package-manager CLI options [@bertdeblock](https://github.com/bertdeblock)
14
18
 
15
19
  Thank you to all who took the time to contribute!
16
20
 
17
- ## v5.3.0-beta.1
21
+ ## v5.3.0
18
22
 
19
23
  #### Blueprint Changes
20
24
 
21
- - [`ember new` diff](https://github.com/ember-cli/ember-new-output/compare/v5.2.0...v5.3.0-beta.1)
22
- - [`ember addon` diff](https://github.com/ember-cli/ember-addon-output/compare/v5.2.0...v5.3.0-beta.1)
25
+ - [`ember new` diff](https://github.com/ember-cli/ember-new-output/compare/v5.2.0...v5.3.0)
26
+ - [`ember addon` diff](https://github.com/ember-cli/ember-addon-output/compare/v5.2.0...v5.3.0)
23
27
 
24
28
  #### Changelog
25
29
 
30
+ - [#10346](https://github.com/ember-cli/ember-cli/pull/10346) [BUGFIX release] App blueprint may not have explicit-any in ember-data types [@NullVoxPopuli](https://github.com/NullVoxPopuli)
31
+ - [#10349](https://github.com/ember-cli/ember-cli/pull/10349) [BUGFIX release] Add `@babel/core` to `app` and `addon` blueprints [@bertdeblock](https://github.com/bertdeblock)
26
32
  - [#10162](https://github.com/ember-cli/ember-cli/pull/10162) [ENHANCEMENT] Deprecate `outputPaths` build option [@bertdeblock](https://github.com/bertdeblock)
27
33
  - [#10187](https://github.com/ember-cli/ember-cli/pull/10187) [ENHANCEMENT] Remove Node version checking [@bertdeblock](https://github.com/bertdeblock)
28
34
  - [#10249](https://github.com/ember-cli/ember-cli/pull/10249) Serve app on root url without trailing slash [@mmun](https://github.com/mmun)
package/RELEASE.md CHANGED
@@ -173,3 +173,49 @@ git checkout master
173
173
  git merge origin/beta
174
174
  git push origin master
175
175
  ```
176
+
177
+ ## Post-release Automation
178
+
179
+ There is a GitHub Actions workflow, https://github.com/ember-cli/ember-cli/actions/workflows/sync-output-repos.yml that pushes various invocations of the blueprint generator to "output repos".
180
+ After release, make sure that all the jobs are "green" / succeeded.
181
+
182
+ <details><summary>What to check afterwards</summary>
183
+
184
+ - Apps: https://github.com/ember-cli/ember-app-output
185
+ - Addons: https://github.com/ember-cli/ember-addon-output
186
+
187
+ Both of these have a git-tag per release version
188
+
189
+ ### Online Editors
190
+
191
+ Multiple editors could be supported, but right now, we only "customize" for stackblitz.
192
+
193
+ https://github.com/ember-cli/editor-output/
194
+ - [a branch for each scenario + release version](https://github.com/ember-cli/editor-output/branches/active)
195
+ - `${editorName}-{addon,app}-output{-'typescript'?}{-version}`
196
+ - and the "latest release" (non beta) will not have a version at the end
197
+ - This includes [app, addon] X [javascript, typescript]
198
+
199
+ #### StackBlitz
200
+
201
+ To make sure StackBlitz runs in their supported browsers (Chrome and FireFox, as of 2023-08-15)
202
+
203
+ - App + JS: https://stackblitz.com/github/ember-cli/editor-output/tree/stackblitz-app-output
204
+ - App + TS: https://stackblitz.com/github/ember-cli/editor-output/tree/stackblitz-app-output-typescript
205
+ - Addon + JS: https://stackblitz.com/github/ember-cli/editor-output/tree/stackblitz-addon-output
206
+ - Addon + TS: https://stackblitz.com/github/ember-cli/editor-output/tree/stackblitz-addon-output-typescript
207
+
208
+ The App + JS, and App + TS are linked from Stackblitz's frontend templates UI: https://stackblitz.com/?starters=frontend
209
+
210
+ </details>
211
+
212
+ <details><summary>if problems arise</summary>
213
+
214
+ Script for updating addon/app repos: https://github.com/ember-cli/ember-cli/blob/master/dev/update-output-repos.js
215
+ Script for updating editors: https://github.com/ember-cli/ember-cli/blob/master/dev/update-editor-output-repos.js
216
+
217
+ Customizations on top of the default blueprint(s) are found here: https://github.com/ember-cli/ember-cli/tree/master/dev/online-editors/stackblitz
218
+ The intent for these customizations is to either be very light, or not needed at all.
219
+ If an online editor breaks with our default blueprint, then it's most likely that _we_ have a bug (or something _very goofy_).
220
+
221
+ </details>
@@ -64,7 +64,6 @@ jobs:
64
64
  fail-fast: false
65
65
  matrix:
66
66
  try-scenario:
67
- - ember-lts-4.4
68
67
  - ember-lts-4.8
69
68
  - ember-lts-4.12
70
69
  - ember-release
@@ -51,7 +51,6 @@ jobs:
51
51
 
52
52
  # we recommend new addons test the current and previous LTS
53
53
  # as well as latest stable release (bonus points to beta/canary)
54
- - env: EMBER_TRY_SCENARIO=ember-lts-4.4
55
54
  - env: EMBER_TRY_SCENARIO=ember-lts-4.8
56
55
  - env: EMBER_TRY_SCENARIO=ember-lts-4.12
57
56
  - env: EMBER_TRY_SCENARIO=ember-release
@@ -5,8 +5,8 @@
5
5
 
6
6
  ## Compatibility
7
7
 
8
- * Ember.js v4.4 or above
9
- * Ember CLI v4.4 or above
8
+ * Ember.js v4.8 or above
9
+ * Ember CLI v4.8 or above
10
10
  * Node.js v16 or above
11
11
 
12
12
 
@@ -8,14 +8,6 @@ module.exports = async function () {
8
8
  <% if (pnpm) { %>usePnpm: true,
9
9
  <% } else if (yarn) { %>useYarn: true,
10
10
  <% } %>scenarios: [
11
- {
12
- name: 'ember-lts-4.4',
13
- npm: {
14
- devDependencies: {
15
- 'ember-source': '~4.4.0',
16
- },
17
- },
18
- },
19
11
  {
20
12
  name: 'ember-lts-4.8',
21
13
  npm: {
@@ -151,7 +151,7 @@ module.exports = {
151
151
  let addonName = stringUtil.dasherize(addonRawName);
152
152
  let addonNamespace = stringUtil.classify(addonRawName);
153
153
 
154
- let hasOptions = options.welcome || options.yarn || options.pnpm || options.ciProvider;
154
+ let hasOptions = options.welcome || options.packageManager || options.ciProvider;
155
155
  let blueprintOptions = '';
156
156
  if (hasOptions) {
157
157
  let indent = `\n `;
@@ -161,8 +161,8 @@ module.exports = {
161
161
  indent +
162
162
  [
163
163
  options.welcome && '"--welcome"',
164
- options.yarn && '"--yarn"',
165
- options.pnpm && '"--pnpm"',
164
+ options.packageManager === 'yarn' && '"--yarn"',
165
+ options.packageManager === 'pnpm' && '"--pnpm"',
166
166
  options.ciProvider && `"--ci-provider=${options.ciProvider}"`,
167
167
  options.typescript && `"--typescript"`,
168
168
  ]
@@ -180,8 +180,8 @@ module.exports = {
180
180
  addonNamespace,
181
181
  emberCLIVersion: require('../../package').version,
182
182
  year: date.getFullYear(),
183
- yarn: options.yarn,
184
- pnpm: options.pnpm,
183
+ yarn: options.packageManager === 'yarn',
184
+ pnpm: options.packageManager === 'pnpm',
185
185
  welcome: options.welcome,
186
186
  blueprint: 'addon',
187
187
  blueprintOptions,
@@ -201,7 +201,7 @@ module.exports = {
201
201
 
202
202
  let addonFiles = walkSync(addonFilesPath, { ignore: [ignoredCITemplate] });
203
203
 
204
- if (!options.pnpm) {
204
+ if (options.packageManager !== 'pnpm') {
205
205
  addonFiles = addonFiles.filter((file) => !file.endsWith('.npmrc'));
206
206
  }
207
207
 
@@ -1,12 +1,4 @@
1
1
  {
2
- /**
3
- Ember CLI sends analytics information by default. The data is completely
4
- anonymous, but there are times when you might want to disable this behavior.
5
-
6
- Setting `disableAnalytics` to true will prevent any data from being sent.
7
- */
8
- "disableAnalytics": false,
9
-
10
2
  /**
11
3
  Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
12
4
  rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
@@ -26,9 +26,9 @@
26
26
  "test:ember": "ember test"
27
27
  },
28
28
  "devDependencies": {
29
- "@babel/core": "^7.22.10",
30
- "<% if (!typescript) { %>@babel/eslint-parser": "^7.22.10",
31
- "@babel/plugin-proposal-decorators": "^7.22.10",
29
+ "@babel/core": "^7.22.20",
30
+ "<% if (!typescript) { %>@babel/eslint-parser": "^7.22.15",
31
+ "@babel/plugin-proposal-decorators": "^7.22.15",
32
32
  "<% } %>@ember/optional-features": "^2.0.0",
33
33
  "@ember/string": "^3.1.1",
34
34
  "@ember/test-helpers": "^3.2.0<% if (embroider) { %>",
@@ -39,74 +39,74 @@
39
39
  "@glimmer/tracking": "^1.1.2<% if (typescript) { %>",
40
40
  "@glint/environment-ember-loose": "^1.1.0",
41
41
  "@glint/template": "^1.1.0",
42
- "@tsconfig/ember": "^3.0.0",
42
+ "@tsconfig/ember": "^3.0.1",
43
43
  "@types/ember": "^4.0.4",
44
44
  "@types/ember-data": "^4.4.11",
45
45
  "@types/ember-data__adapter": "^4.0.2",
46
46
  "@types/ember-data__model": "^4.0.1",
47
47
  "@types/ember-data__serializer": "^4.0.2",
48
48
  "@types/ember-data__store": "^4.0.3",
49
- "@types/ember__application": "^4.0.6",
50
- "@types/ember__array": "^4.0.4",
51
- "@types/ember__component": "^4.0.14",
49
+ "@types/ember__application": "^4.0.7",
50
+ "@types/ember__array": "^4.0.5",
51
+ "@types/ember__component": "^4.0.16",
52
52
  "@types/ember__controller": "^4.0.6",
53
53
  "@types/ember__debug": "^4.0.4",
54
54
  "@types/ember__destroyable": "^4.0.2",
55
- "@types/ember__engine": "^4.0.5",
55
+ "@types/ember__engine": "^4.0.6",
56
56
  "@types/ember__error": "^4.0.3",
57
57
  "@types/ember__helper": "^4.0.2",
58
58
  "@types/ember__modifier": "^4.0.5",
59
- "@types/ember__object": "^4.0.6",
59
+ "@types/ember__object": "^4.0.7",
60
60
  "@types/ember__owner": "^4.0.5",
61
61
  "@types/ember__polyfills": "^4.0.2",
62
- "@types/ember__routing": "^4.0.13",
63
- "@types/ember__runloop": "^4.0.4",
62
+ "@types/ember__routing": "^4.0.14",
63
+ "@types/ember__runloop": "^4.0.5",
64
64
  "@types/ember__service": "^4.0.3",
65
- "@types/ember__string": "^3.0.11",
65
+ "@types/ember__string": "^3.16.3",
66
66
  "@types/ember__template": "^4.0.2",
67
67
  "@types/ember__test": "^4.0.2",
68
68
  "@types/ember__utils": "^4.0.3",
69
69
  "@types/qunit": "^2.19.6",
70
70
  "@types/rsvp": "^4.0.4",
71
- "@typescript-eslint/eslint-plugin": "^6.4.0",
72
- "@typescript-eslint/parser": "^6.4.0<% } %>",
71
+ "@typescript-eslint/eslint-plugin": "^6.7.2",
72
+ "@typescript-eslint/parser": "^6.7.2<% } %>",
73
73
  "broccoli-asset-rev": "^3.0.0",
74
- "concurrently": "^8.2.0",
74
+ "concurrently": "^8.2.1",
75
75
  "ember-auto-import": "^2.6.3",
76
76
  "ember-cli": "~<%= emberCLIVersion %>",
77
77
  "ember-cli-app-version": "^6.0.1",
78
78
  "ember-cli-babel": "^8.0.0",
79
- "ember-cli-clean-css": "^2.0.0",
79
+ "ember-cli-clean-css": "^3.0.0",
80
80
  "ember-cli-dependency-checker": "^3.3.2",
81
81
  "ember-cli-htmlbars": "^6.3.0",
82
82
  "ember-cli-inject-live-reload": "^2.1.0<% if (!embroider) { %>",
83
83
  "ember-cli-sri": "^2.1.1",
84
84
  "ember-cli-terser": "^4.0.2<% } %>",
85
- "ember-data": "~5.3.0-beta.0",
85
+ "ember-data": "~5.4.0-beta.0",
86
86
  "ember-fetch": "^8.1.2",
87
87
  "ember-load-initializers": "^2.1.2",
88
88
  "ember-modifier": "^4.1.0",
89
89
  "ember-page-title": "^8.0.0",
90
- "ember-qunit": "^7.0.0",
90
+ "ember-qunit": "^8.0.1",
91
91
  "ember-resolver": "^11.0.1",
92
- "ember-source": "~5.3.0-beta.1",
92
+ "ember-source": "~5.4.0-beta.1",
93
93
  "ember-template-lint": "^5.11.2<% if (welcome) { %>",
94
94
  "ember-welcome-page": "^7.0.2<% } %>",
95
- "eslint": "^8.47.0",
95
+ "eslint": "^8.49.0",
96
96
  "eslint-config-prettier": "^9.0.0",
97
- "eslint-plugin-ember": "^11.10.0",
98
- "eslint-plugin-n": "^16.0.1",
97
+ "eslint-plugin-ember": "^11.11.1",
98
+ "eslint-plugin-n": "^16.1.0",
99
99
  "eslint-plugin-prettier": "^5.0.0",
100
100
  "eslint-plugin-qunit": "^8.0.0",
101
101
  "loader.js": "^4.7.0",
102
- "prettier": "^3.0.2",
102
+ "prettier": "^3.0.3",
103
103
  "qunit": "^2.19.4",
104
104
  "qunit-dom": "^2.0.0",
105
105
  "stylelint": "^15.10.3",
106
106
  "stylelint-config-standard": "^34.0.0",
107
107
  "stylelint-prettier": "^4.0.2",
108
- "tracked-built-ins": "^3.1.1<% if (typescript) { %>",
109
- "typescript": "^5.1.6<% } %>",
108
+ "tracked-built-ins": "^3.2.0<% if (typescript) { %>",
109
+ "typescript": "^5.2.2<% } %>",
110
110
  "webpack": "^5.88.2"
111
111
  },
112
112
  "engines": {
@@ -26,7 +26,7 @@ module.exports = {
26
26
  let namespace = stringUtil.classify(rawName);
27
27
  let embroider = isExperimentEnabled('EMBROIDER') || options.embroider;
28
28
 
29
- let hasOptions = !options.welcome || options.yarn || options.pnpm || embroider || options.ciProvider;
29
+ let hasOptions = !options.welcome || options.packageManager || embroider || options.ciProvider;
30
30
  let blueprintOptions = '';
31
31
  if (hasOptions) {
32
32
  let indent = `\n `;
@@ -36,8 +36,8 @@ module.exports = {
36
36
  indent +
37
37
  [
38
38
  !options.welcome && '"--no-welcome"',
39
- options.yarn && '"--yarn"',
40
- options.pnpm && '"--pnpm"',
39
+ options.packageManager === 'yarn' && '"--yarn"',
40
+ options.packageManager === 'pnpm' && '"--pnpm"',
41
41
  embroider && '"--embroider"',
42
42
  options.ciProvider && `"--ci-provider=${options.ciProvider}"`,
43
43
  options.typescript && `"--typescript"`,
@@ -53,8 +53,8 @@ module.exports = {
53
53
  modulePrefix: name,
54
54
  namespace,
55
55
  emberCLIVersion: require('../../package').version,
56
- yarn: options.yarn,
57
- pnpm: options.pnpm,
56
+ yarn: options.packageManager === 'yarn',
57
+ pnpm: options.packageManager === 'pnpm',
58
58
  welcome: options.welcome,
59
59
  blueprint: 'app',
60
60
  blueprintOptions,
@@ -17,7 +17,6 @@ module.exports = {
17
17
  beforeInstall(options) {
18
18
  let serverBlueprint = Blueprint.lookup('server', {
19
19
  ui: this.ui,
20
- analytics: this.analytics,
21
20
  project: this.project,
22
21
  });
23
22
 
@@ -18,7 +18,6 @@ module.exports = {
18
18
  beforeInstall(options) {
19
19
  let serverBlueprint = Blueprint.lookup('server', {
20
20
  ui: this.ui,
21
- analytics: this.analytics,
22
21
  project: this.project,
23
22
  });
24
23