Skip to content

Commit 9dd1617

Browse files
chore: πŸ€– upgrade ember-data to v5.3.11 (#2745)
* chore: πŸ€– upgrade ember-data to v5.3.11 * Add missing copyright headers * refactor: πŸ’‘ remove comment * chore: πŸ€– update yarn.lock due to merge conflict βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * fix: πŸ› undo ember-source upgrade (should be upgraded w/ ember) βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * chore: πŸ€– move dep to devDeps & resolve test-helper version βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * fix: πŸ› unique record id error bug fix using store.push βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * refactor: πŸ’‘ cleanup βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * Delete old deprecation initializer (#2748) * refactor: πŸ’‘ import from'ember-data/store' βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * refactor: πŸ’‘ clean up comments βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 * refactor: πŸ’‘ remove compatWith comment βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-16544 --------- Co-authored-by: Carlos Alcaide Corvo <[email protected]>
1 parent 834058f commit 9dd1617

File tree

30 files changed

+557
-595
lines changed

30 files changed

+557
-595
lines changed

β€Žaddons/api/addon/handlers/cache-daemon-handler.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ const fetchControllerData = async (context, next) => {
4343
// If we get an error or cache daemon is unavailable, fall back to calling the API
4444
context.request.data.query = remainingQuery;
4545
const results = await next(context.request);
46-
const models = results.content.toArray();
46+
47+
// As a result of https://rfcs.emberjs.com/id/0846-ember-data-deprecate-proxies/ we cannot use proxy array methods like .toArray
48+
// use slice() instead as indicated in the RFC.
49+
const models = results.content.slice();
4750

4851
const paginatedResult = paginateResults(models, page, pageSize);
4952
paginatedResult.meta = { totalItems: models.length };

β€Žaddons/api/addon/serializers/application.js

+6-10
Original file line numberDiff line numberDiff line change
@@ -244,12 +244,10 @@ export default class ApplicationSerializer extends RESTSerializer {
244244
* @return {object}
245245
*/
246246
normalizeMissingArrays(store, primaryModelClass, payload) {
247-
const attrDefs = store
248-
.getSchemaDefinitionService()
249-
.attributesDefinitionFor({ type: primaryModelClass.modelName });
247+
const attrDefs = store.schema.fields({ type: primaryModelClass.modelName });
250248
if (attrDefs) {
251-
Object.keys(attrDefs).forEach((key) => {
252-
if (!payload[key] && attrDefs[key]?.options?.emptyArrayIfMissing) {
249+
attrDefs.keys().forEach((key) => {
250+
if (!payload[key] && attrDefs.get(key)?.options?.emptyArrayIfMissing) {
253251
payload[key] = [];
254252
}
255253
});
@@ -268,12 +266,10 @@ export default class ApplicationSerializer extends RESTSerializer {
268266
* @return {object}
269267
*/
270268
normalizeMissingObjects(store, primaryModelClass, payload) {
271-
const attrDefs = store
272-
.getSchemaDefinitionService()
273-
.attributesDefinitionFor({ type: primaryModelClass.modelName });
269+
const attrDefs = store.schema.fields({ type: primaryModelClass.modelName });
274270
if (attrDefs) {
275-
Object.keys(attrDefs).forEach((key) => {
276-
if (!payload[key] && attrDefs[key]?.options?.emptyObjectIfMissing) {
271+
attrDefs.keys().forEach((key) => {
272+
if (!payload[key] && attrDefs.get(key)?.options?.emptyObjectIfMissing) {
277273
payload[key] = {};
278274
}
279275
});

β€Žaddons/api/addon/services/store.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Store, { CacheHandler } from '@ember-data/store';
6+
// Importing 'Store' from 'ember-data/store' to get default configuration automatically.
7+
// TODO: Remove eslint-disable after upgrading to eslint-plugin-ember >= v12.2.1
8+
// eslint-disable-next-line ember/use-ember-data-rfc-395-imports
9+
import Store from 'ember-data/store';
10+
import { CacheHandler } from '@ember-data/store';
711
import RequestManager from '@ember-data/request';
812
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';
913
import IndexedDbHandler from 'api/handlers/indexed-db-handler';

β€Žaddons/api/addon/transforms/account-value-map-array.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
7-
8-
export default class AccountValueMapArrayTransform extends Transform {
6+
export default class AccountValueMapArrayTransform {
97
deserialize(serialized) {
108
const accountValues = serialized || [];
119
return accountValues.map((accountValueString) => ({
@@ -18,4 +16,8 @@ export default class AccountValueMapArrayTransform extends Transform {
1816
const accountValues = deserialized || [];
1917
return accountValues.map(({ key, value }) => `${key}=${value}`);
2018
}
19+
20+
static create() {
21+
return new this();
22+
}
2123
}

β€Žaddons/api/addon/transforms/array.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
76
import { TrackedArray } from 'tracked-built-ins';
87

9-
export default class ArrayTransform extends Transform {
8+
export default class ArrayTransform {
109
deserialize(serialized) {
1110
const arr = new TrackedArray(serialized || []);
1211
return arr;
@@ -16,4 +15,8 @@ export default class ArrayTransform extends Transform {
1615
const arr = deserialized || [];
1716
return arr;
1817
}
18+
19+
static create() {
20+
return new this();
21+
}
1922
}

β€Žaddons/api/addon/transforms/duration.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
7-
8-
export default class DurationTransform extends Transform {
6+
export default class DurationTransform {
97
/**
108
* Normalize a duration string in the format "3.0001s" to milliseconds.
119
* The backend returns a precision of nanoseconds but we round to whole
@@ -37,4 +35,8 @@ export default class DurationTransform extends Transform {
3735
maximumFractionDigits: 9,
3836
})}s`;
3937
}
38+
39+
static create() {
40+
return new this();
41+
}
4042
}

β€Žaddons/api/addon/transforms/host-source-id-array.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
7-
8-
export default class HostSourceIdArrayTransform extends Transform {
6+
export default class HostSourceIdArrayTransform {
97
deserialize(serialized) {
108
const stringValues = serialized || [];
119
return stringValues.map(({ id: host_source_id, ...obj }) => ({
@@ -18,4 +16,8 @@ export default class HostSourceIdArrayTransform extends Transform {
1816
const strings = deserialized || [];
1917
return strings.map(({ host_source_id: id, ...obj }) => ({ id, ...obj }));
2018
}
19+
20+
static create() {
21+
return new this();
22+
}
2123
}

β€Žaddons/api/addon/transforms/object-as-array.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
7-
8-
export default class ObjectAsArrayTransform extends Transform {
6+
export default class ObjectAsArrayTransform {
97
deserialize(serialized) {
108
const obj = serialized || {};
119
return Object.entries(obj).map(([key, value]) => ({ key, value }));
1210
}
11+
1312
serialize(deserialized) {
1413
const array = deserialized || [];
1514

@@ -24,4 +23,8 @@ export default class ObjectAsArrayTransform extends Transform {
2423
return result;
2524
}, {});
2625
}
26+
27+
static create() {
28+
return new this();
29+
}
2730
}

β€Žaddons/api/addon/transforms/object.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
76
import { TrackedObject } from 'tracked-built-ins';
87

9-
export default class ObjectTransform extends Transform {
8+
export default class ObjectTransform {
109
/**
1110
* @param serialized
1211
* @returns {object}
@@ -26,4 +25,8 @@ export default class ObjectTransform extends Transform {
2625
}
2726
return deserialized;
2827
}
28+
29+
static create() {
30+
return new this();
31+
}
2932
}

β€Žaddons/api/addon/transforms/string-array.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
import Transform from '@ember-data/serializer/transform';
7-
8-
export default class StringArrayTransform extends Transform {
6+
export default class StringArrayTransform {
97
deserialize(serialized) {
108
const stringValues = serialized || [];
119
return stringValues.map((value) => ({ value }));
@@ -15,4 +13,8 @@ export default class StringArrayTransform extends Transform {
1513
const strings = deserialized || [];
1614
return strings.map(({ value }) => value);
1715
}
16+
17+
static create() {
18+
return new this();
19+
}
1820
}
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Copyright (c) HashiCorp, Inc.
3+
* SPDX-License-Identifier: BUSL-1.1
4+
*/
5+
6+
// Ember-data no longer automatically installs BooleanTransform for apps.
7+
export { BooleanTransform as default } from '@ember-data/serializer/transform';

β€Žaddons/core/app/initializers/deprecations.js β€Žaddons/api/app/transforms/date.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
* SPDX-License-Identifier: BUSL-1.1
44
*/
55

6-
export { default, initialize } from 'core/initializers/deprecations';
6+
export { DateTransform as default } from '@ember-data/serializer/transform';
+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/**
2+
* Copyright (c) HashiCorp, Inc.
3+
* SPDX-License-Identifier: BUSL-1.1
4+
*/
5+
6+
export { NumberTransform as default } from '@ember-data/serializer/transform';
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Copyright (c) HashiCorp, Inc.
3+
* SPDX-License-Identifier: BUSL-1.1
4+
*/
5+
6+
// Ember-data no longer automatically installs StringTransform for apps.
7+
export { StringTransform as default } from '@ember-data/serializer/transform';

β€Žaddons/api/package.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,23 @@
2424
},
2525
"dependencies": {
2626
"dexie": "^3.2.4",
27-
"ember-auto-import": "^2.8.1",
27+
"ember-auto-import": "^2.10.0",
2828
"ember-can": "^4.2.0",
2929
"ember-cli-babel": "^8.2.0",
3030
"ember-cli-htmlbars": "^6.2.0",
3131
"ember-cli-mirage": "^3.0.3",
32-
"ember-data": "~4.12.0",
32+
"ember-data": "~5.3.12",
3333
"miragejs": "^0.1.48",
3434
"tracked-built-ins": "^3.1.1"
3535
},
3636
"devDependencies": {
37-
"@babel/core": "^7.25.2",
37+
"@babel/core": "^7.26.10",
3838
"@babel/eslint-parser": "^7.21.3",
3939
"@babel/plugin-proposal-decorators": "^7.21.0",
4040
"@ember/optional-features": "^2.0.0",
4141
"@ember/string": "^3.0.1",
42-
"@ember/test-helpers": "^4.0.4",
42+
"@ember/test-helpers": "^4.0.5",
43+
"@ember/test-waiters": "^4.1.0",
4344
"@embroider/test-setup": "^2.1.1",
4445
"@faker-js/faker": "^8.0.2",
4546
"@glimmer/component": "^1.1.2",

β€Žaddons/auth/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,19 @@
2121
"doc:toc": "doctoc README.md"
2222
},
2323
"dependencies": {
24-
"ember-auto-import": "2.8.1",
24+
"@ember/test-waiters": "^4.1.0",
25+
"ember-auto-import": "^2.10.0",
2526
"ember-cli-babel": "^8.2.0",
2627
"ember-cli-htmlbars": "^6.2.0",
2728
"ember-simple-auth": "^6.1.0"
2829
},
2930
"devDependencies": {
30-
"@babel/core": "^7.25.2",
31+
"@babel/core": "^7.26.10",
3132
"@babel/eslint-parser": "^7.21.3",
3233
"@babel/plugin-proposal-decorators": "^7.21.0",
3334
"@ember/optional-features": "^2.0.0",
3435
"@ember/string": "^3.0.1",
35-
"@ember/test-helpers": "^4.0.4",
36-
"@ember/test-waiters": "^3.1.0",
36+
"@ember/test-helpers": "^4.0.5",
3737
"@embroider/test-setup": "^2.1.1",
3838
"@glimmer/component": "^1.1.2",
3939
"@glimmer/tracking": "^1.1.2",

β€Žaddons/core/addon/initializers/deprecations.js

-30
This file was deleted.

β€Žaddons/core/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"@formatjs/intl-durationformat": "^0.2.4",
3535
"api": "*",
3636
"auth": "*",
37-
"ember-auto-import": "^2.8.1",
37+
"ember-auto-import": "^2.10.0",
3838
"ember-browser-services": "^4.0.3",
3939
"ember-cli-babel": "^8.2.0",
4040
"ember-cli-htmlbars": "^6.2.0",
@@ -49,12 +49,12 @@
4949
"sass": "^1.69.5"
5050
},
5151
"devDependencies": {
52-
"@babel/core": "^7.25.2",
52+
"@babel/core": "^7.26.10",
5353
"@babel/eslint-parser": "^7.21.3",
5454
"@babel/plugin-proposal-decorators": "^7.21.0",
5555
"@ember/optional-features": "^2.0.0",
5656
"@ember/string": "^3.0.1",
57-
"@ember/test-helpers": "^4.0.4",
57+
"@ember/test-helpers": "^4.0.5",
5858
"@embroider/test-setup": "^2.1.1",
5959
"@faker-js/faker": "^8.0.2",
6060
"@glimmer/component": "^1.1.2",

β€Žaddons/core/tests/unit/initializers/deprecations-test.js

-38
This file was deleted.

0 commit comments

Comments
Β (0)