-
Notifications
You must be signed in to change notification settings - Fork 75
[FEAT] Implement Glimmer Components RFC #168
[FEAT] Implement Glimmer Components RFC #168
Conversation
7a3a716
to
ce21812
Compare
ce21812
to
7f515d6
Compare
8e51bd0
to
2325a21
Compare
Tested in both a Glimmer.js and Ember.js app generated using the default blueprints. The Glimmer.js app was hard to test, due to the way the application pipeline works for it. I ended up having to actually copy/paste the dist into |
CI: !!process.env.CI | ||
} | ||
}, | ||
[require.resolve('babel-plugin-debug-macros'), { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Were the changes in this file needed for Ember compatibility, or just general cleanup?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something happened as I was upgrading that caused the babel-plugin-debug-macros options have changed
deprecation message to start popping up everywhere, so I figured it would be good to clean it up and update.
f063467
to
21e30eb
Compare
This PR turns the `@glimmer/component` package into an Ember addon, allowing it to work in both Ember.js and Glimmer.js applications. This works by keeping the `GlimmerComponent` class definition in a separate file that then gets imported by the Glimmer.js implementation in `src`, and is included in the Ember.js implementation via `addon/index.js`.
21e30eb
to
5ec0400
Compare
This PR turns the
@glimmer/component
package into an Ember addon, allowing it to work in both Ember.js and Glimmer.js applications. This works by keeping theGlimmerComponent
class definition in a separate file that then gets imported by the Glimmer.js implementation insrc
, and is included in the Ember.js implementation viaaddon/index.js
.Notes:
@glimmer/di
, it wants to be able to inject things universally but that is not allowed in the final design forGlimmerComponent
. When we receive aComponentFactory
, we pull the class definition off it and use it directly instead.@glimmer/blueprint
doesn't need to be treated too specially anymore, it just gets ignored by the packaging step so we don't build an emptydist
.