ember-cli 6.12.0-alpha.5 → 6.12.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 (32) hide show
  1. package/CHANGELOG.md +203 -297
  2. package/RELEASE.md +24 -6
  3. package/docs/build/data.json +23 -23
  4. package/lib/broccoli/ember-app.js +9 -7
  5. package/lib/commands/test.js +2 -4
  6. package/lib/tasks/install-blueprint.js +2 -8
  7. package/package.json +6 -15
  8. package/packages/addon-blueprint/files/config/optional-features.json +2 -1
  9. package/packages/addon-blueprint/index.js +1 -0
  10. package/packages/addon-blueprint/package.json +2 -10
  11. package/packages/app-blueprint/files/_js_eslint.config.mjs +4 -2
  12. package/packages/app-blueprint/files/_ts_eslint.config.mjs +4 -2
  13. package/packages/app-blueprint/files/app/app.ts +1 -1
  14. package/packages/app-blueprint/files/app/services/store.ts +17 -0
  15. package/packages/app-blueprint/files/config/optional-features.json +2 -1
  16. package/packages/app-blueprint/files/ember-cli-build.js +14 -11
  17. package/packages/app-blueprint/files/package.json +33 -29
  18. package/packages/app-blueprint/files/tests/test-helper.ts +2 -1
  19. package/packages/app-blueprint/index.js +5 -0
  20. package/packages/app-blueprint/package.json +2 -10
  21. package/packages/blueprint-blueprint/files/blueprints/__name__/files/.gitkeep +0 -0
  22. package/packages/blueprint-blueprint/files/blueprints/__name__/index.js +0 -16
  23. package/packages/blueprint-blueprint/index.js +0 -5
  24. package/packages/blueprint-blueprint/package.json +0 -13
  25. package/packages/blueprint-model/package.json +0 -19
  26. package/packages/blueprint-model/utilities/directory-for-package-name.js +0 -31
  27. package/packages/blueprint-model/utilities/edit-file-diff.js +0 -64
  28. package/packages/blueprint-model/utilities/experiments.js +0 -63
  29. package/packages/blueprint-model/utilities/file-info.js +0 -170
  30. package/packages/blueprint-model/utilities/open-editor.js +0 -44
  31. package/packages/blueprint-model/utilities/prepend-emoji.js +0 -12
  32. package/packages/blueprint-model/utilities/process-template.js +0 -10
package/RELEASE.md CHANGED
@@ -44,12 +44,17 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
44
44
  - make sure to not update the version in the package.json during this step, this will be release-plan's job
45
45
  - make sure to not update the version in the `packages/app-blueprint/package.json`, or `packages/addon-blueprint/package.json` files during this step, this will be release-plan's job
46
46
  - make sure to not add the `release-plan` config section to the package.json during this step. We are releasing a real release so we don't want to configure release-plan to do a pre-release.
47
+ - commit the merge `git commit -am "promote beta to release"`
47
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.
48
49
 
49
50
  ```
50
51
  node ./dev/update-blueprint-dependencies.js --ember-source=latest --ember-data=<whatever version was in the beta>
51
52
  ```
52
53
 
54
+ - run `pnpm lint:fix`
55
+ - update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@latest`
56
+ - manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
57
+ - run `pnpm install` to make sure the lock file is up to date
53
58
  - commit this update `git commit -am "update blueprint dependencies to latest"`
54
59
  - push and open a PR targeting `release` with a PR title like `Promote Beta and update all dependencies for 6.4 release`
55
60
  - mark this PR as an `enhancement` if it is a minor release
@@ -59,6 +64,11 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
59
64
  - Merge the `Prepare Release` branch when you are ready to release
60
65
  - Check the `Release Stable` GitHub action to make sure the release succeeded
61
66
 
67
+ ### Finish the `@ember/app-blueprint` release
68
+
69
+ - Update the `@ember/app-blueprint` `release` branch to use this new version of ember-cli
70
+ - continue the rest of the [@ember/app-blueprint release process](https://github.com/ember-cli/ember-app-blueprint/blob/main/RELEASE.md#release-ember-cli-and-update-that-dependency) until beta and alpha are released
71
+
62
72
  ### Beta release from the `beta` branch
63
73
 
64
74
  - fetch latest from origin `git fetch`
@@ -67,17 +77,20 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
67
77
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
68
78
  - **make sure to not update any .github/workflows/plan-beta-release.yml file** this should still plan a beta release
69
79
  - **make sure to not update any .github/workflows/publish-beta.yml file** this should still publish a beta release
70
- - make sure to not update the version in the package.json during this step, that step comes later
80
+ - make sure to not update the version in the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json` during this step, that step comes later
71
81
  - make sure to not remove the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
82
+ - commit the merge `git commit -am "merge release into beta"`
72
83
  - merge master into this new branch too e.g. `git merge origin/master --no-ff`
73
84
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
74
85
  - **make sure to not update the CHANGELOG.md file** in this step. It should match the changelog on `origin/release` at this stage.
75
86
  - make sure not to update the `release-plan` config in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
87
+ - make sure not to update the `@ember-tooling/blueprint-blueprint` versions (i.e. not workspace dependencies) in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
88
+ - make sure not to add any files from `packages/blueprint-blueprint` or `packages/blueprint-model` in this merge (those files only exist on main)
76
89
  - commit the merge `git commit -am "merge master into beta"`
77
90
  - update the versions in package.jsons
78
91
  - update the alpha version in package.json to be a beta i.e. if the incoming merge is `"version": "6.6.0-alpha.3",` update it to `"version": "6.6.0-beta.0",`
79
- - update the alpha version in `packages/addon-blueprint/package.json` to be a beta
80
- - update the alpha version in `packages/app-blueprint/package.json` to be a beta
92
+ - update the alpha version in `packages/addon-blueprint/package.json` to be the same beta version
93
+ - update the alpha version in `packages/app-blueprint/package.json` to be the same beta version
81
94
  - update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same as the version you just put in the top level package.json
82
95
  - commit the version changes `git commit -am "update versions"`
83
96
  - Update blueprint dependencies to beta
@@ -86,8 +99,10 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
86
99
  node ./dev/update-blueprint-dependencies.js --ember-source=beta --ember-data=<whatever version was in the alpha>
87
100
  ```
88
101
 
102
+ - run `pnpm lint:fix`
89
103
  - update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@beta`
90
104
  - manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
105
+ - run `pnpm install` to make sure the lock file is up to date
91
106
  - commit this update `git commit -am "update blueprint dependencies to beta"`
92
107
  - push and open a PR targeting `beta` with a PR title like `Prepare 6.5-beta`
93
108
  - mark this PR as an `enchancement` if the next beta is a minor release
@@ -104,9 +119,9 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
104
119
  - create a new branch to merge `beta` into `master` e.g. `git checkout --no-track -b merge-beta origin/master`
105
120
  - merge beta into this new branch e.g. `git merge origin/beta --no-ff`
106
121
  - **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
107
- - make sure to not update the version in the package.json during this step, that step comes later
122
+ - make sure to not update the version in the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json` during this step, that step comes later
108
123
  - make sure to not update the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
109
- - make sure not to update the `@ember-tooling/blueprint-blueprint` or `@ember-tooling/blueprint-model` away from being `workspace: *` dependencies. On master they always use the latest and don't use semver.
124
+ - make sure not to update the `@ember-tooling/blueprint-blueprint` or `@ember-tooling/blueprint-model` away from being `workspace: *` dependencies in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`. On master they always use the latest and don't use semver.
110
125
  - **make sure to not update any .github/workflows/plan-release.yml file** this should still plan a beta release
111
126
  - **make sure to not update any .github/workflows/publish.yml file** this should still publish a beta release
112
127
  - **make sure to not update the CHANGELOG.md file** in this step.
@@ -116,7 +131,8 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
116
131
  - e.g. if the current alpha is `"version": "6.6.0-alpha.3",` update it to be `"version": "6.7.0-alpha.0",`
117
132
  - manually update the alpha version in `packages/addon-blueprint/package.json` to be the same alpha
118
133
  - manually update the alpha version in `packages/app-blueprint/package.json` to be the same alpha
119
- - commit this change to the version in package.json: `git commit -am "update to the next alpha version"`
134
+ - update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same alpha
135
+ - commit this change `git commit -am "update to the next alpha version"`
120
136
  - Update blueprint dependencies to alpha
121
137
 
122
138
  ```
@@ -124,8 +140,10 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
124
140
  ```
125
141
 
126
142
  - 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
143
+ - run `pnpm lint:fix`
127
144
  - update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@alpha`
128
145
  - make sure the app-blueprint still has a `~` after the above step
146
+ - run `pnpm install` to make sure the lock file is up to date
129
147
  - commit this update `git commit -am "update blueprint dependencies to alpha"`
130
148
  - push and open a PR targeting `master` with a PR title like `Prepare 6.6-alpha`
131
149
  - mark this PR as an `enchancement` if the next alpha is a minor release
@@ -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.12.0-alpha.5-master-14ad69880a"
6
+ "version": "6.12.0-release-ae160c15f5"
7
7
  },
8
8
  "files": {
9
9
  "lib/broccoli/default-packager.js": {
@@ -894,7 +894,7 @@
894
894
  },
895
895
  {
896
896
  "file": "lib/broccoli/ember-app.js",
897
- "line": 358,
897
+ "line": 360,
898
898
  "description": "Returns the environment name",
899
899
  "access": "public",
900
900
  "tagname": "",
@@ -910,7 +910,7 @@
910
910
  },
911
911
  {
912
912
  "file": "lib/broccoli/ember-app.js",
913
- "line": 370,
913
+ "line": 372,
914
914
  "description": "Delegates to `broccoli-concat` with the `sourceMapConfig` option set to `options.sourcemaps`.",
915
915
  "access": "private",
916
916
  "tagname": "",
@@ -934,7 +934,7 @@
934
934
  },
935
935
  {
936
936
  "file": "lib/broccoli/ember-app.js",
937
- "line": 385,
937
+ "line": 387,
938
938
  "description": "Checks the result of `addon.isEnabled()` if it exists, defaults to `true` otherwise.",
939
939
  "access": "private",
940
940
  "tagname": "",
@@ -956,7 +956,7 @@
956
956
  },
957
957
  {
958
958
  "file": "lib/broccoli/ember-app.js",
959
- "line": 397,
959
+ "line": 399,
960
960
  "access": "private",
961
961
  "tagname": "",
962
962
  "itemtype": "method",
@@ -977,7 +977,7 @@
977
977
  },
978
978
  {
979
979
  "file": "lib/broccoli/ember-app.js",
980
- "line": 408,
980
+ "line": 410,
981
981
  "access": "private",
982
982
  "tagname": "",
983
983
  "itemtype": "method",
@@ -998,7 +998,7 @@
998
998
  },
999
999
  {
1000
1000
  "file": "lib/broccoli/ember-app.js",
1001
- "line": 419,
1001
+ "line": 421,
1002
1002
  "description": "Returns whether an addon should be added to the project",
1003
1003
  "access": "private",
1004
1004
  "tagname": "",
@@ -1020,7 +1020,7 @@
1020
1020
  },
1021
1021
  {
1022
1022
  "file": "lib/broccoli/ember-app.js",
1023
- "line": 435,
1023
+ "line": 437,
1024
1024
  "description": "Calls the included hook on addons.",
1025
1025
  "access": "private",
1026
1026
  "tagname": "",
@@ -1031,7 +1031,7 @@
1031
1031
  },
1032
1032
  {
1033
1033
  "file": "lib/broccoli/ember-app.js",
1034
- "line": 471,
1034
+ "line": 473,
1035
1035
  "description": "Calls the importTransforms hook on addons.",
1036
1036
  "access": "private",
1037
1037
  "tagname": "",
@@ -1042,7 +1042,7 @@
1042
1042
  },
1043
1043
  {
1044
1044
  "file": "lib/broccoli/ember-app.js",
1045
- "line": 520,
1045
+ "line": 522,
1046
1046
  "description": "Loads and initializes addons for this project.\nCalls initializeAddons on the Project.",
1047
1047
  "access": "private",
1048
1048
  "tagname": "",
@@ -1053,7 +1053,7 @@
1053
1053
  },
1054
1054
  {
1055
1055
  "file": "lib/broccoli/ember-app.js",
1056
- "line": 547,
1056
+ "line": 549,
1057
1057
  "description": "Returns a list of trees for a given type, returned by all addons.",
1058
1058
  "access": "private",
1059
1059
  "tagname": "",
@@ -1075,7 +1075,7 @@
1075
1075
  },
1076
1076
  {
1077
1077
  "file": "lib/broccoli/ember-app.js",
1078
- "line": 559,
1078
+ "line": 561,
1079
1079
  "description": "Runs addon post-processing on a given tree and returns the processed tree.\n\nThis enables addons to do process immediately **after** the preprocessor for a\ngiven type is run, but before concatenation occurs. If an addon wishes to\napply a transform before the preprocessors run, they can instead implement the\npreprocessTree hook.\n\nTo utilize this addons implement `postprocessTree` hook.\n\nAn example, would be to apply some broccoli transform on all JS files, but\nonly after the existing pre-processors have run.\n\n```js\nmodule.exports = {\n name: 'my-cool-addon',\n postprocessTree(type, tree) {\n if (type === 'js') {\n return someBroccoliTransform(tree);\n }\n\n return tree;\n }\n}\n\n```",
1080
1080
  "access": "private",
1081
1081
  "tagname": "",
@@ -1102,7 +1102,7 @@
1102
1102
  },
1103
1103
  {
1104
1104
  "file": "lib/broccoli/ember-app.js",
1105
- "line": 596,
1105
+ "line": 598,
1106
1106
  "description": "Runs addon pre-processing on a given tree and returns the processed tree.\n\nThis enables addons to do process immediately **before** the preprocessor for a\ngiven type is run. If an addon wishes to apply a transform after the\npreprocessors run, they can instead implement the postprocessTree hook.\n\nTo utilize this addons implement `preprocessTree` hook.\n\nAn example, would be to remove some set of files before the preprocessors run.\n\n```js\nvar stew = require('broccoli-stew');\n\nmodule.exports = {\n name: 'my-cool-addon',\n preprocessTree(type, tree) {\n if (type === 'js' && type === 'template') {\n return stew.rm(tree, someGlobPattern);\n }\n\n return tree;\n }\n}\n```",
1107
1107
  "access": "private",
1108
1108
  "tagname": "",
@@ -1129,7 +1129,7 @@
1129
1129
  },
1130
1130
  {
1131
1131
  "file": "lib/broccoli/ember-app.js",
1132
- "line": 632,
1132
+ "line": 634,
1133
1133
  "description": "Runs addon lintTree hooks and returns a single tree containing all\ntheir output.",
1134
1134
  "access": "private",
1135
1135
  "tagname": "",
@@ -1156,7 +1156,7 @@
1156
1156
  },
1157
1157
  {
1158
1158
  "file": "lib/broccoli/ember-app.js",
1159
- "line": 651,
1159
+ "line": 653,
1160
1160
  "description": "Imports legacy imports in this.vendorFiles",
1161
1161
  "access": "private",
1162
1162
  "tagname": "",
@@ -1167,7 +1167,7 @@
1167
1167
  },
1168
1168
  {
1169
1169
  "file": "lib/broccoli/ember-app.js",
1170
- "line": 828,
1170
+ "line": 830,
1171
1171
  "access": "private",
1172
1172
  "tagname": "",
1173
1173
  "itemtype": "method",
@@ -1181,7 +1181,7 @@
1181
1181
  },
1182
1182
  {
1183
1183
  "file": "lib/broccoli/ember-app.js",
1184
- "line": 1035,
1184
+ "line": 1037,
1185
1185
  "description": "Runs the `app`, `tests` and `templates` trees through the chain of addons that produces lint trees.\n\nThose lint trees are afterwards funneled into the `tests` folder, babel-ified and returned as an array.",
1186
1186
  "access": "private",
1187
1187
  "tagname": "",
@@ -1196,7 +1196,7 @@
1196
1196
  },
1197
1197
  {
1198
1198
  "file": "lib/broccoli/ember-app.js",
1199
- "line": 1075,
1199
+ "line": 1077,
1200
1200
  "access": "public",
1201
1201
  "tagname": "",
1202
1202
  "itemtype": "method",
@@ -1210,7 +1210,7 @@
1210
1210
  },
1211
1211
  {
1212
1212
  "file": "lib/broccoli/ember-app.js",
1213
- "line": 1084,
1213
+ "line": 1086,
1214
1214
  "description": "Imports an asset into the application.",
1215
1215
  "access": "public",
1216
1216
  "tagname": "",
@@ -1268,7 +1268,7 @@
1268
1268
  },
1269
1269
  {
1270
1270
  "file": "lib/broccoli/ember-app.js",
1271
- "line": 1130,
1271
+ "line": 1132,
1272
1272
  "access": "private",
1273
1273
  "tagname": "",
1274
1274
  "itemtype": "method",
@@ -1305,7 +1305,7 @@
1305
1305
  },
1306
1306
  {
1307
1307
  "file": "lib/broccoli/ember-app.js",
1308
- "line": 1215,
1308
+ "line": 1217,
1309
1309
  "access": "private",
1310
1310
  "tagname": "",
1311
1311
  "itemtype": "method",
@@ -1326,7 +1326,7 @@
1326
1326
  },
1327
1327
  {
1328
1328
  "file": "lib/broccoli/ember-app.js",
1329
- "line": 1256,
1329
+ "line": 1258,
1330
1330
  "description": "Returns an array of trees for this application",
1331
1331
  "access": "private",
1332
1332
  "tagname": "",
@@ -1341,7 +1341,7 @@
1341
1341
  },
1342
1342
  {
1343
1343
  "file": "lib/broccoli/ember-app.js",
1344
- "line": 1293,
1344
+ "line": 1295,
1345
1345
  "description": "Returns the merged tree for this application",
1346
1346
  "access": "public",
1347
1347
  "tagname": "",
@@ -342,13 +342,15 @@ class EmberApp {
342
342
 
343
343
  this.vendorFiles = omitBy(
344
344
  merge(
345
- {
346
- 'ember.js': {
347
- development: emberSource.paths.debug,
348
- production: emberSource.paths.prod,
349
- },
350
- 'ember-testing.js': [emberSource.paths.testing, { type: 'test' }],
351
- },
345
+ emberSource.paths
346
+ ? {
347
+ 'ember.js': {
348
+ development: emberSource.paths.debug,
349
+ production: emberSource.paths.prod,
350
+ },
351
+ 'ember-testing.js': [emberSource.paths.testing, { type: 'test' }],
352
+ }
353
+ : {},
352
354
  this.options.vendorFiles
353
355
  ),
354
356
  isNull
@@ -4,16 +4,14 @@ const Command = require('../models/command');
4
4
  const Watcher = require('../models/watcher');
5
5
  const Builder = require('../models/builder');
6
6
  const SilentError = require('silent-error');
7
+ const os = require('os');
7
8
  const path = require('path');
8
9
  const Win = require('../utilities/windows-admin');
9
10
  const fs = require('fs');
10
- const temp = require('temp');
11
11
  const util = require('util');
12
12
  const PortFinder = require('portfinder');
13
13
  let getPort = util.promisify(PortFinder.getPort);
14
14
 
15
- temp.track();
16
-
17
15
  let defaultPort = 7357;
18
16
 
19
17
  const ClassicOptions = [
@@ -99,7 +97,7 @@ module.exports = Command.extend({
99
97
  },
100
98
 
101
99
  tmp() {
102
- return temp.mkdirSync('tests-dist-');
100
+ return fs.mkdtempSync(path.join(os.tmpdir(), 'tests-dist-'));
103
101
  },
104
102
 
105
103
  _generateCustomConfigs(options) {
@@ -3,8 +3,7 @@
3
3
  const fs = require('fs-extra');
4
4
  const Blueprint = require('../models/blueprint');
5
5
  const Task = require('../models/task');
6
- const util = require('util');
7
- const temp = require('temp');
6
+ const os = require('os');
8
7
  const path = require('path');
9
8
  const merge = require('lodash/merge');
10
9
  const { execa } = require('execa');
@@ -17,11 +16,6 @@ const { isExperimentEnabled } = require('@ember-tooling/blueprint-model/utilitie
17
16
 
18
17
  const NOT_FOUND_REGEXP = /npm ERR! 404 {2}'(\S+)' is not in the npm registry/;
19
18
 
20
- // Automatically track and cleanup temp files at exit
21
- temp.track();
22
-
23
- let mkdirTemp = util.promisify(temp.mkdir);
24
-
25
19
  class InstallBlueprintTask extends Task {
26
20
  async run(options) {
27
21
  let cwd = process.cwd();
@@ -115,7 +109,7 @@ class InstallBlueprintTask extends Task {
115
109
  }
116
110
 
117
111
  _createTempFolder() {
118
- return mkdirTemp('ember-cli');
112
+ return fs.mkdtemp(path.join(os.tmpdir(), 'ember-cli-'));
119
113
  }
120
114
 
121
115
  _resolvePackageJSON(directoryPath) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-cli",
3
- "version": "6.12.0-alpha.5",
3
+ "version": "6.12.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.12.0-alpha.1",
30
+ "@ember-tooling/blueprint-blueprint": "^0.2.1",
31
+ "@ember-tooling/blueprint-model": "^0.5.0",
32
+ "@ember/app-blueprint": "~6.12.0",
39
33
  "@pnpm/find-workspace-dir": "^1000.1.3",
40
34
  "babel-remove-types": "^1.0.2",
41
35
  "broccoli": "^4.0.0",
@@ -108,7 +102,6 @@
108
102
  "silent-error": "^1.1.1",
109
103
  "sort-package-json": "^3.6.0",
110
104
  "symlink-or-copy": "^1.3.1",
111
- "temp": "0.9.4",
112
105
  "testem": "^3.17.0",
113
106
  "tiny-lr": "^2.0.0",
114
107
  "tree-sync": "^2.1.0",
@@ -116,10 +109,8 @@
116
109
  "watch-detector": "^1.0.2",
117
110
  "workerpool": "^10.0.1",
118
111
  "yam": "^1.0.0",
119
- "@ember-tooling/blueprint-blueprint": "0.3.0",
120
- "@ember-tooling/blueprint-model": "0.6.2",
121
- "@ember-tooling/classic-build-addon-blueprint": "6.12.0-alpha.3",
122
- "@ember-tooling/classic-build-app-blueprint": "6.12.0-alpha.3"
112
+ "@ember-tooling/classic-build-app-blueprint": "6.12.0",
113
+ "@ember-tooling/classic-build-addon-blueprint": "6.12.0"
123
114
  },
124
115
  "devDependencies": {
125
116
  "broccoli-plugin": "^4.0.3",
@@ -2,5 +2,6 @@
2
2
  "application-template-wrapper": false,
3
3
  "default-async-observers": true,
4
4
  "jquery-integration": false,
5
- "template-only-glimmer-components": true
5
+ "template-only-glimmer-components": true,
6
+ "use-ember-modules": true
6
7
  }
@@ -244,6 +244,7 @@ module.exports = {
244
244
  embroider: false,
245
245
  lang: options.lang,
246
246
  emberData: options.emberData,
247
+ warpDrive: options.warpDrive ?? options.emberData ?? false,
247
248
  ciProvider: options.ciProvider,
248
249
  typescript: options.typescript,
249
250
  strict: options.strict,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-tooling/classic-build-addon-blueprint",
3
- "version": "6.12.0-alpha.3",
3
+ "version": "6.12.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.5.0",
15
15
  "chalk": "^5.6.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.15.1",
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
  }
@@ -15,7 +15,8 @@
15
15
  import globals from 'globals';
16
16
  import js from '@eslint/js';
17
17
 
18
- import ember from 'eslint-plugin-ember/recommended';
18
+ import ember from 'eslint-plugin-ember/recommended';<% if (warpDrive) { %>
19
+ import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
19
20
  import eslintConfigPrettier from 'eslint-config-prettier';
20
21
  import qunit from 'eslint-plugin-qunit';
21
22
  import n from 'eslint-plugin-n';
@@ -38,7 +39,8 @@ export default [
38
39
  eslintConfigPrettier,
39
40
  ember.configs.base,
40
41
  ember.configs.gjs,
41
- /**
42
+ <% if (warpDrive) { %>...WarpDrive,
43
+ <% } %>/**
42
44
  * Ignores must be in their own object
43
45
  * https://eslint.org/docs/latest/use/configure/ignore
44
46
  */
@@ -19,7 +19,8 @@ import js from '@eslint/js';
19
19
 
20
20
  import ts from 'typescript-eslint';
21
21
 
22
- import ember from 'eslint-plugin-ember/recommended';
22
+ import ember from 'eslint-plugin-ember/recommended';<% if (warpDrive) { %>
23
+ import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
23
24
 
24
25
  import eslintConfigPrettier from 'eslint-config-prettier';
25
26
  import qunit from 'eslint-plugin-qunit';
@@ -54,7 +55,8 @@ export default ts.config(
54
55
  ember.configs.base,
55
56
  ember.configs.gjs,
56
57
  ember.configs.gts,
57
- eslintConfigPrettier,
58
+ <% if (warpDrive) { %>...WarpDrive,
59
+ <% } %>eslintConfigPrettier,
58
60
  /**
59
61
  * Ignores must be in their own object
60
62
  * https://eslint.org/docs/latest/use/configure/ignore
@@ -1,4 +1,4 @@
1
- <% if (emberData) { %>import '@warp-drive/ember/install';
1
+ <% if (warpDrive) { %>import '@warp-drive/ember/install';
2
2
  <% } %>import Application from '@ember/application';
3
3
  import Resolver from 'ember-resolver';
4
4
  import loadInitializers from 'ember-load-initializers';
@@ -0,0 +1,17 @@
1
+ import { useLegacyStore } from '@warp-drive/legacy';
2
+ import { JSONAPICache } from '@warp-drive/json-api';
3
+
4
+ const Store = useLegacyStore({
5
+ linksMode: false,
6
+ cache: JSONAPICache,
7
+ handlers: [
8
+ // -- your handlers here
9
+ ],
10
+ schemas: [
11
+ // -- your schemas here
12
+ ],
13
+ });
14
+
15
+ type Store = InstanceType<typeof Store>;
16
+
17
+ export default Store;
@@ -3,5 +3,6 @@
3
3
  "default-async-observers": true,
4
4
  "jquery-integration": false,
5
5
  "template-only-glimmer-components": true,
6
- "no-implicit-route-model": true
6
+ "no-implicit-route-model": true,
7
+ "use-ember-modules": true
7
8
  }
@@ -1,22 +1,25 @@
1
1
  'use strict';
2
2
 
3
3
  const EmberApp = require('ember-cli/lib/broccoli/ember-app');
4
-
4
+ <% if (warpDrive) {%>const { setConfig } = require('@warp-drive/core/build-config');
5
+ <% } %>
5
6
  module.exports = function (defaults) {
6
7
  const app = new EmberApp(defaults, {
7
- <% if (emberData) {%>emberData: {
8
- deprecations: {
9
- // New projects can safely leave this deprecation disabled.
10
- // If upgrading, to opt-into the deprecated behavior, set this to true and then follow:
11
- // https://deprecations.emberjs.com/id/ember-data-deprecate-store-extends-ember-object
12
- // before upgrading to Ember Data 6.0
13
- DEPRECATE_STORE_EXTENDS_EMBER_OBJECT: false,
14
- },
15
- },
16
- <% } %><% if (typescript) {%>'ember-cli-babel': { enableTypeScriptTransform: true },
8
+ <% if (typescript) {%>'ember-cli-babel': { enableTypeScriptTransform: true },
17
9
 
18
10
  <% } %>// Add options here
19
11
  });
12
+ <% if (warpDrive) {%>
13
+ setConfig(app, __dirname, {
14
+ // this should be the most recent <major>.<minor> version for
15
+ // which all deprecations have been fully resolved
16
+ // and should be updated when that changes
17
+ compatWith: '5.8',
18
+ deprecations: {
19
+ // ... list individual deprecations that have been resolved here
20
+ },
21
+ });
22
+ <% } %>
20
23
 
21
24
  <% if (embroider) { %>const { Webpack } = require('@embroider/webpack');
22
25
  return require('@embroider/compat').compatBuild(app, Webpack, {