-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: Continuing InternalModel Burndown #8055
Conversation
Asset Size Report for 2b29b1c Modern Builds 🛑 The size of the library EmberData has increased by +879.0 B (+86.0 B compressed) which exceeds the failure threshold of 75 bytes.Warnings
Changeset
Full Asset Analysis (Modern)
Modern Builds (No Rollup) ☑️ EmberData has not changed in sizeIf any packages had changed sizes they would be listed here. Changeset
Full Asset Analysis (Modern)
|
Performance Report for 2b29b1c Scenario - materialization:
|
874d8a3
to
42d84cd
Compare
3bfc444
to
4a66481
Compare
We're getting close to fully eliminating InternalModel. To finish the job, some of the bigger ticket items to do are:
value()
on has-many reference or deprecate has-many references entirely (this has proved contentious in the past, mostly due to the current state of relationships being not very workable)Note: not particularly worried about asset-size increases / performance regressions in this work, its expected to get worse until it gets better. Also the shape matters, we're mostly moving code out of the store package or positioning it to be able to be moved out of that package, so with time we should be able to trim a lot more.
Notes for Ember Release:
a significant number of private store APIs were removed: https://github.com/emberjs/data/pull/8055/files#diff-62407c6d69a4da3accd0232158a30203bd3257639c71f7c12f108417412e5a81 (the public removal was something that was left behind accidentally after a previous deprecation cycle that has been cleaned up)
a number of new deprecations were introduced: https://github.com/emberjs/data/pull/8055/files#diff-1f292f06ee3b691bd58448838191ead28b548b133d96123496b0f10e65a69ad6 These deprecations all target 5.0 and seek to remove private APIs that may have some community usage.
snapshot.type
in favor of callingstore.modelFor(<modelName>)
or using the schema servicestore.find
method which has been maintained to ease the pain for folks that happen to want to use the hidden route behavior in ember of autofetch.store.hasRecordForId
in favor of users usingpeekRecord
which returns null if no record is loadedstore.recordWasInvalid
which some addons may be using to try to affect record state. The state machine has now been entirely removed andcurrentState
on records is heuristically derived, so these addons will need to use public APIs to update state in a way that their desired state would be derived.attributesDefinitionFor
andrelationshipsDefinitionFor
on the schema service, calls should now pass an object with the modelName as thetype
.json-api
adapter. This was undocumented and we will no longer do this.An additional note for private-api users, significant portions of the internals now have new function signatures, and these are likely to continue to change rapidly. If you have been using these methods for any reason and don't feel there is a public API to accomplish your need, reach out.