ember-cli 7.1.0-alpha.2 → 7.1.0-alpha.3

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,5 +1,34 @@
1
1
  # ember-cli Changelog
2
2
 
3
+ ## Release (2026-05-13)
4
+
5
+ * ember-cli 7.1.0-alpha.3 (minor)
6
+ * @ember-tooling/classic-build-addon-blueprint 7.1.0-alpha.2 (patch)
7
+ * @ember-tooling/classic-build-app-blueprint 7.1.0-alpha.3 (patch)
8
+ * @ember-tooling/blueprint-model 0.6.3 (patch)
9
+
10
+ #### :rocket: Enhancement
11
+ * `ember-cli`
12
+ * [#10610](https://github.com/ember-cli/ember-cli/pull/10610) use semver-deprecate instead of internal code ([@mansona](https://github.com/mansona))
13
+ * [#11008](https://github.com/ember-cli/ember-cli/pull/11008) update babel-remove-types to v2 ([@mansona](https://github.com/mansona))
14
+ * [#11009](https://github.com/ember-cli/ember-cli/pull/11009) update configstore to v8 ([@mansona](https://github.com/mansona))
15
+
16
+ #### :bug: Bug Fix
17
+ * `ember-cli`, `@ember-tooling/blueprint-model`
18
+ * [#11020](https://github.com/ember-cli/ember-cli/pull/11020) Update diff to latest v8.x ([@mkszepp](https://github.com/mkszepp))
19
+
20
+ #### :house: Internal
21
+ * `ember-cli`
22
+ * [#11017](https://github.com/ember-cli/ember-cli/pull/11017) Add Sync Output Repos check to release instructions ([@kategengler](https://github.com/kategengler))
23
+ * [#11016](https://github.com/ember-cli/ember-cli/pull/11016) fix: sync-output-repos workflow failing on tag pushes ([@Copilot](https://github.com/apps/copilot-swe-agent))
24
+ * [#10999](https://github.com/ember-cli/ember-cli/pull/10999) update RELEASE with update-blueprint-deps commands ([@mansona](https://github.com/mansona))
25
+
26
+ #### Committers: 4
27
+ - Chris Manson ([@mansona](https://github.com/mansona))
28
+ - Copilot [Bot] ([@copilot-swe-agent](https://github.com/apps/copilot-swe-agent))
29
+ - Katie Gengler ([@kategengler](https://github.com/kategengler))
30
+ - Markus Sanin ([@mkszepp](https://github.com/mkszepp))
31
+
3
32
  ## Release (2026-04-26)
4
33
 
5
34
  * ember-cli 7.1.0-alpha.2 (minor)
package/RELEASE.md CHANGED
@@ -48,7 +48,9 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
48
48
  - Update blueprint dependencies to latest. Note: ember-data needs to be updated only in the alpha version from now on, make sure to only update to the release version of what was in the beta.
49
49
 
50
50
  ```
51
- node ./dev/update-blueprint-dependencies.js --ember-source=latest --ember-data=<whatever version was in the beta>
51
+ pnpm dlx update-blueprint-deps --filter 'ember-source$' --tag latest ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/**/package.json
52
+ pnpm dlx update-blueprint-deps --filter '@ember-tooling/.*' --tag latest ./package.json ./packages/*-blueprint/**/*ackage.json
53
+ pnpm dlx update-blueprint-deps --filter '.*' ./package.json ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/*/package.json ./tests/fixtures/*/*/package.json
52
54
  ```
53
55
 
54
56
  - run `pnpm lint:fix`
@@ -63,6 +65,7 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
63
65
  - check that the `Prepare Release` PR has been correctly opened by `release-plan`
64
66
  - Merge the `Prepare Release` branch when you are ready to release
65
67
  - Check the `Release Stable` GitHub action to make sure the release succeeded
68
+ - Check the [Sync Output Repos](https://github.com/ember-cli/ember-cli/actions/workflows/sync-output-repos.yml) Github action to ensure the output repos have generated from the tag.
66
69
 
67
70
  ### Finish the `@ember/app-blueprint` release
68
71
 
@@ -96,7 +99,9 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
96
99
  - Update blueprint dependencies to beta
97
100
 
98
101
  ```
99
- node ./dev/update-blueprint-dependencies.js --ember-source=beta --ember-data=<whatever version was in the alpha>
102
+ pnpm dlx update-blueprint-deps --filter 'ember-source$' --tag beta ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/**/package.json
103
+ pnpm dlx update-blueprint-deps --filter '@ember-tooling/.*' --tag latest ./package.json ./packages/*-blueprint/**/*ackage.json
104
+ pnpm dlx update-blueprint-deps --filter '.*' ./package.json ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/*/package.json ./tests/fixtures/*/*/package.json
100
105
  ```
101
106
 
102
107
  - run `pnpm lint:fix`
@@ -112,6 +117,7 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
112
117
  - note: the release-plan config will automatically make this version a pre-release
113
118
  - Merge the `Prepare Beta Release` when you are ready to release the next beta version
114
119
  - Check the `Release Beta` GitHub action to make sure the release succeeded
120
+ - Check the [Sync Output Repos](https://github.com/ember-cli/ember-cli/actions/workflows/sync-output-repos.yml) Github action to ensure the output repos have generated from the tag.
115
121
 
116
122
  ### Alpha release from the `master` branch
117
123
 
@@ -136,7 +142,8 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
136
142
  - Update blueprint dependencies to alpha
137
143
 
138
144
  ```
139
- node ./dev/update-blueprint-dependencies.js --ember-source=alpha --ember-data=<whatever version is in the package.json>
145
+ pnpm dlx update-blueprint-deps --filter 'ember-source$' --tag alpha ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/**/package.json
146
+ pnpm dlx update-blueprint-deps --filter '.*' ./package.json ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/*/package.json ./tests/fixtures/*/*/package.json
140
147
  ```
141
148
 
142
149
  - note: ember-data (aka warp-drive) should only ever be updated on master as a separate PR. It is no longer part of the release process
@@ -152,6 +159,23 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
152
159
  - check that the `Prepare Alpha Release` PR has been correctly opened by `release-plan`
153
160
  - Merge the `Prepare Alpha Release` when you are ready to release the next alpha version
154
161
  - Check the `Release Alpha` GitHub action to make sure the release succeeded
162
+ - Check the [Sync Output Repos](https://github.com/ember-cli/ember-cli/actions/workflows/sync-output-repos.yml) Github action to ensure the output repos have generated from the tag.
163
+
164
+ ### Update all packages
165
+
166
+ In the `update-blueprint-deps` steps described above we updated all packages that had in-range updates available. We also need to apply any out-of-range updates as part of the release process.
167
+
168
+ Once the Alpha release has been completed we should run the following command to see if there are any releases that have out-of-range updates available:
169
+
170
+ ```
171
+ pnpm dlx update-blueprint-deps --filter '.*' --tag latest ./package.json ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/*/package.json ./tests/fixtures/*/*/package.json
172
+ ```
173
+
174
+ This is not intended to be committed and opened as a single PR, it is for illustrative purposes only. If your git diff shows that there are any packages that need to have the range updated (i.e. we have a `^` dependency defined but there is a new major release available) then you should run the same command to update that package with a filter on the package name e.g.
175
+
176
+ ```
177
+ pnpm dlx update-blueprint-deps --filter 'babel-remove-types' --tag latest ./package.json ./packages/*-blueprint/**/*ackage.json ./tests/fixtures/*/package.json ./tests/fixtures/*/*/package.json
178
+ ```
155
179
 
156
180
  ## Changelog updates
157
181
 
@@ -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": "7.1.0-alpha.2-master-0e32bb5157"
6
+ "version": "7.1.0-alpha.3-master-cd502c1415"
7
7
  },
8
8
  "files": {
9
9
  "lib/broccoli/default-packager.js": {
@@ -1543,27 +1543,23 @@
1543
1543
  },
1544
1544
  {
1545
1545
  "file": "lib/debug/deprecate.js",
1546
- "line": 8,
1547
- "description": "Display a deprecation message.\n\n```js\nconst { deprecate } = require('ember-cli/lib/debug');\n\ndeprecate('The `foo` method is deprecated.', false, {\n for: 'ember-cli',\n id: 'ember-cli.foo-method',\n since: {\n available: '4.1.0',\n enabled: '4.2.0',\n },\n until: '5.0.0',\n url: 'https://example.com',\n});\n```",
1546
+ "line": 10,
1547
+ "description": "This function deferrs to the upstream {@link isDeprecationRemoved} function from semver-deprecate\nbut closes around the current emberCLIVersion for convenience since there is some logic around\nwhat is considered the current version",
1548
+ "access": "private",
1549
+ "tagname": "",
1548
1550
  "itemtype": "method",
1549
- "name": "deprecate",
1551
+ "name": "",
1550
1552
  "params": [
1551
1553
  {
1552
- "name": "description",
1553
- "description": "Describes the deprecation.",
1554
+ "name": "until",
1555
+ "description": "- a Semver formatted version when the deprecation will be removed",
1554
1556
  "type": "String"
1555
- },
1556
- {
1557
- "name": "condition",
1558
- "description": "If falsy, the deprecation message will be displayed.",
1559
- "type": "Any"
1560
- },
1561
- {
1562
- "name": "options",
1563
- "description": "An object including the deprecation's details:\n- `for` The library that the deprecation is for\n- `id` The deprecation's unique id\n- `since.available` A SemVer version indicating when the deprecation was made available\n- `since.enabled` A SemVer version indicating when the deprecation was enabled\n- `until` A SemVer version indicating until when the deprecation will be active\n- `url` A URL that refers to additional information about the deprecation",
1564
- "type": "Object"
1565
1557
  }
1566
1558
  ],
1559
+ "return": {
1560
+ "description": "",
1561
+ "type": "Boolean"
1562
+ },
1567
1563
  "class": "PackageInfoCache",
1568
1564
  "module": "ember-cli"
1569
1565
  },
@@ -1,129 +1,25 @@
1
1
  'use strict';
2
2
 
3
- const { default: chalk } = require('chalk');
4
- const semver = require('semver');
5
- const assert = require('./assert');
6
- const emberCLIVersion = require('../../package').version;
3
+ const emberCLIVersionPackageVersion = require('../../package').version;
4
+ const { makeDeprecate, isDeprecationRemoved } = require('semver-deprecate');
5
+
6
+ const emberCLIVersion = process.env.OVERRIDE_DEPRECATION_VERSION ?? emberCLIVersionPackageVersion;
7
+
8
+ const deprecate = makeDeprecate('ember-cli', emberCLIVersion);
7
9
 
8
10
  /**
9
- * Display a deprecation message.
10
- *
11
- * ```js
12
- * const { deprecate } = require('ember-cli/lib/debug');
13
- *
14
- * deprecate('The `foo` method is deprecated.', false, {
15
- * for: 'ember-cli',
16
- * id: 'ember-cli.foo-method',
17
- * since: {
18
- * available: '4.1.0',
19
- * enabled: '4.2.0',
20
- * },
21
- * until: '5.0.0',
22
- * url: 'https://example.com',
23
- * });
24
- * ```
11
+ * This function deferrs to the upstream {@link isDeprecationRemoved} function from semver-deprecate
12
+ * but closes around the current emberCLIVersion for convenience since there is some logic around
13
+ * what is considered the current version
25
14
  *
26
- * @method deprecate
27
- * @param {String} description Describes the deprecation.
28
- * @param {Any} condition If falsy, the deprecation message will be displayed.
29
- * @param {Object} options An object including the deprecation's details:
30
- * - `for` The library that the deprecation is for
31
- * - `id` The deprecation's unique id
32
- * - `since.available` A SemVer version indicating when the deprecation was made available
33
- * - `since.enabled` A SemVer version indicating when the deprecation was enabled
34
- * - `until` A SemVer version indicating until when the deprecation will be active
35
- * - `url` A URL that refers to additional information about the deprecation
15
+ * @private
16
+ * @method
17
+ * @param {string} until - a Semver formatted version when the deprecation will be removed
18
+ * @return {boolean}
36
19
  */
37
- function deprecate(description, condition, options) {
38
- assert('When calling `deprecate`, you must provide a description as the first argument.', description);
39
- assert('When calling `deprecate`, you must provide a condition as the second argument.', arguments.length > 1);
40
-
41
- assert(
42
- 'When calling `deprecate`, you must provide an options object as the third argument. The options object must include the `for`, `id`, `since` and `until` options (`url` is optional).',
43
- options
44
- );
45
-
46
- assert('When calling `deprecate`, you must provide the `for` option.', options.for);
47
- assert('When calling `deprecate`, you must provide the `id` option.', options.id);
48
-
49
- assert(
50
- 'When calling `deprecate`, you must provide the `since` option. `since` must include the `available` and/or the `enabled` option.',
51
- options.since
52
- );
53
-
54
- assert(
55
- 'When calling `deprecate`, you must provide the `since.available` and/or the `since.enabled` option.',
56
- options.since.available || options.since.enabled
57
- );
58
-
59
- assert(
60
- '`since.available` must be a valid SemVer version.',
61
- !options.since.available || isSemVer(options.since.available)
62
- );
63
-
64
- assert('`since.enabled` must be a valid SemVer version.', !options.since.enabled || isSemVer(options.since.enabled));
65
-
66
- assert(
67
- 'When calling `deprecate`, you must provide a valid SemVer version for the `until` option.',
68
- isSemVer(options.until)
69
- );
70
-
71
- if (condition) {
72
- return;
73
- }
74
-
75
- if (options.for === 'ember-cli' && isDeprecationRemoved(options.until)) {
76
- throw new Error(
77
- `The API deprecated by ${options.id} was removed in ember-cli ${options.until}. The message was: ${description}. Please see ${options.url} for more details.`
78
- );
79
- }
80
-
81
- let message = formatMessage(description, options);
82
-
83
- warn(`${message}\n\n${getStackTrace()}`);
84
- }
85
-
86
- function isSemVer(version) {
87
- return semver.valid(version) !== null;
88
- }
89
-
90
- function formatMessage(description, options) {
91
- let message = [
92
- chalk.inverse(' DEPRECATION '),
93
- '\n\n',
94
- description,
95
- '\n\n',
96
- `ID ${options.id}`,
97
- '\n',
98
- `UNTIL ${options.until}`,
99
- ];
100
-
101
- if (options.url) {
102
- message.push('\n', `URL ${options.url}`);
103
- }
104
-
105
- return message.join('');
106
- }
107
-
108
- function getStackTrace() {
109
- let error = new Error();
110
- let lines = error.stack.split('\n');
111
-
112
- lines.shift(); // Remove the word `Error`.
113
-
114
- return lines.map((line) => line.trim()).join('\n');
115
- }
116
-
117
- function warn(message) {
118
- console.warn(chalk.yellow(message));
119
- }
120
-
121
- function isDeprecationRemoved(until) {
122
- const currentEmberCLIVersion = parseFloat(process.env.OVERRIDE_DEPRECATION_VERSION ?? emberCLIVersion);
123
-
124
- let significantUntil = until.replace(/(\.0+)/g, '');
125
- return currentEmberCLIVersion >= parseFloat(significantUntil);
20
+ function _isDeprecationRemoved(until) {
21
+ return isDeprecationRemoved(until, emberCLIVersion);
126
22
  }
127
23
 
128
24
  module.exports = deprecate;
129
- module.exports._isDeprecationRemoved = isDeprecationRemoved;
25
+ module.exports._isDeprecationRemoved = _isDeprecationRemoved;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-cli",
3
- "version": "7.1.0-alpha.2",
3
+ "version": "7.1.0-alpha.3",
4
4
  "description": "Command line tool for developing ambitious ember.js apps",
5
5
  "keywords": [
6
6
  "app",
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@ember/app-blueprint": "~7.1.0-alpha.1",
39
39
  "@pnpm/find-workspace-dir": "^1000.1.3",
40
- "babel-remove-types": "^1.0.2",
40
+ "babel-remove-types": "^2.0.0",
41
41
  "broccoli": "^4.0.0",
42
42
  "broccoli-concat": "^4.2.5",
43
43
  "broccoli-config-loader": "^1.0.1",
@@ -56,12 +56,12 @@
56
56
  "ci-info": "^4.3.1",
57
57
  "clean-base-url": "^1.0.0",
58
58
  "compression": "^1.8.1",
59
- "configstore": "^7.1.0",
59
+ "configstore": "^8.0.0",
60
60
  "console-ui": "^3.1.2",
61
61
  "content-tag": "^4.0.0",
62
62
  "core-object": "^3.1.5",
63
63
  "dag-map": "^2.0.2",
64
- "diff": "^8.0.2",
64
+ "diff": "^8.0.4",
65
65
  "ember-cli-is-package-missing": "^1.0.0",
66
66
  "ember-cli-normalize-entity-name": "^1.0.0",
67
67
  "ember-cli-preprocess-registry": "^5.0.1",
@@ -105,6 +105,7 @@
105
105
  "safe-stable-stringify": "^2.4.3",
106
106
  "sane": "^5.0.1",
107
107
  "semver": "^7.7.3",
108
+ "semver-deprecate": "^1.1.0",
108
109
  "silent-error": "^1.1.1",
109
110
  "sort-package-json": "^3.6.0",
110
111
  "symlink-or-copy": "^1.3.1",
@@ -116,9 +117,9 @@
116
117
  "workerpool": "^10.0.1",
117
118
  "yam": "^1.0.0",
118
119
  "@ember-tooling/blueprint-blueprint": "0.3.0",
119
- "@ember-tooling/blueprint-model": "0.6.2",
120
- "@ember-tooling/classic-build-app-blueprint": "7.1.0-alpha.2",
121
- "@ember-tooling/classic-build-addon-blueprint": "7.1.0-alpha.1"
120
+ "@ember-tooling/blueprint-model": "0.6.3",
121
+ "@ember-tooling/classic-build-app-blueprint": "7.1.0-alpha.3",
122
+ "@ember-tooling/classic-build-addon-blueprint": "7.1.0-alpha.2"
122
123
  },
123
124
  "devDependencies": {
124
125
  "broccoli-plugin": "^4.0.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/classic-build-addon-blueprint",
3
- "version": "7.1.0-alpha.1",
3
+ "version": "7.1.0-alpha.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ember-cli/ember-cli.git",
@@ -63,7 +63,7 @@
63
63
  "broccoli-asset-rev": "^3.0.0",
64
64
  "concurrently": "^9.2.1",
65
65
  "ember-auto-import": "^2.13.1",
66
- "ember-cli": "~7.1.0-alpha.2",
66
+ "ember-cli": "~7.1.0-alpha.3",
67
67
  "ember-cli-app-version": "^7.0.0",
68
68
  "ember-cli-babel": "^8.3.1",
69
69
  "ember-cli-clean-css": "^3.0.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/classic-build-app-blueprint",
3
- "version": "7.1.0-alpha.2",
3
+ "version": "7.1.0-alpha.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ember-cli/ember-cli.git",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/blueprint-model",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ember-cli/ember-cli.git",
@@ -9,7 +9,7 @@
9
9
  "license": "MIT",
10
10
  "dependencies": {
11
11
  "chalk": "^5.6.2",
12
- "diff": "^7.0.0",
12
+ "diff": "^8.0.4",
13
13
  "isbinaryfile": "^5.0.7",
14
14
  "lodash": "^4.17.23",
15
15
  "promise.hash.helper": "^1.0.8",