Skip to content
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

Update the Glimmer VM to 0.68.0 #19293

Merged
merged 1 commit into from
Dec 4, 2020
Merged

Update the Glimmer VM to 0.68.0 #19293

merged 1 commit into from
Dec 4, 2020

Conversation

pzuraq
Copy link
Contributor

@pzuraq pzuraq commented Dec 3, 2020

Updates the VM to the latest version (0.68.0), which includes a number of major
changes:

  • Refactors the resolver to not cache values, as this is unnecessary
  • Refactors the resolver to return helper/modifier definitions directly
  • Refactors the resolver to return ResolvedComponentDefinitions
  • Updates various component definitions
  • Removes custom helper, modifier, and component managers
  • Updates built-in helpers to be based on objects with associated
    helpers/helper managers.
  • Potentially breaking: Modifier managers do not actually pass the real factory,
    even with legacy 3.13 capabilities. The pass a look-alike instead, which is generally
    similar, but does not include type injections. As such, if anyone was relying on type
    injections there could be breakage. This is pretty unlikely, which is why we are
    making this change, but in the event that it was something folks were using we
    should fix this.

Notes for the VM release.

Copy link
Member

@rwjblue rwjblue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me overall, will need to land the last GlimmerVM PR and then update.

packages/@ember/-internals/glimmer/lib/helper.ts Outdated Show resolved Hide resolved
this.isInteractive = isInteractive;

this.builtInModifiers = {
action: { manager: new ActionModifierManager(), state: null },
on: { manager: new OnModifierManager(owner, isInteractive), state: null },
action: actionModifier,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will make it somewhat more hoop jumping over in #19227.

packages/@ember/-internals/glimmer/lib/resolver.ts Outdated Show resolved Hide resolved
packages/@ember/-internals/glimmer/lib/syntax/mount.ts Outdated Show resolved Hide resolved
@pzuraq pzuraq changed the title Resolution refactors Update the Glimmer VM to 0.68.0 Dec 4, 2020
@pzuraq pzuraq force-pushed the resolution-refactors branch 3 times, most recently from 763cd45 to 8a686a8 Compare December 4, 2020 04:25
Updates the VM to the latest version, which includes a number of major
changes:

- Refactors the resolver to not cache values, as this is unnecessary
- Refactors the resolver to return helper/modifier definitions directly
- Refactors the resolver to return ResolvedComponentDefinitions
- Updates various component definitions
- Removes custom helper, modifier, and component managers
- Updates built-in helpers to be based on objects with associated
  helpers/helper managers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants