glimmerjs / glimmer-blueprint

[MOVED] This package is now part of the Glimmer.js monorepo
https://github.com/glimmerjs/glimmer.js
25 stars 13 forks source link

Support Glimmer 0.8.0 #66

Closed GavinJoyce closed 6 years ago

GavinJoyce commented 6 years ago

https://github.com/glimmerjs/glimmer-blueprint/tree/support-0.8.0-application with some additional changes

TODO:

You can test this as follows:

ember new MyApp -b ./path/to/glimmer-blueprint ember new MyApp -b ./path/to/glimmer-blueprint --web-component=my-app

rwjblue commented 6 years ago

@glimmer/application-pipeline 0.9.0 published 🎉

GavinJoyce commented 6 years ago

Thanks, updated

GavinJoyce commented 6 years ago

Here's a simple app generated using this branch (with manual renaming of my-app to MyApp) which demonstrates the issue where the only thing that is rendered is <div>component</div>:

https://github.com/gavinjoyce/MyApp

screen shot 2017-10-12 at 14 26 42

It also contains a <Goo /> component which was generated with ember generate glimmer-component Goo.

GavinJoyce commented 6 years ago

^ confirmed fixed with v0.8.0-alpha.9

rwjblue commented 6 years ago

Awesome, thank you @GavinJoyce! What is left here?

locks commented 6 years ago

Root component name is now classified. ~Component blueprints are still dasherized~. Tested it out and seems fine.

GavinJoyce commented 6 years ago

As there is now a disconnect between Glimmer component and web component naming, I think we'll need to make some changes to glimmer-web-component.

The blueprint currently initializes the custom element as follows for an app with a root component of <MyApp />:

initializeCustomElements(app, ['my-app']);

I suspect we can infer the capitalized name from the dasherized one in all cases. If so, we just need to change this line to classify the name.

GavinJoyce commented 6 years ago

Actually, what about these cases?

initializeCustomElements(app, ['Foo']); ~initializeCustomElements(app, ['Foo/Bar']); (are nested components intended to be exposed as custom elements?)~

Perhaps we need to change the initialization interface to something like:

initializeCustomElements(app, [
  ['Foo', 'x-foo']
]);

Alternatively, we could require --web-component app names to have at least one dash when dasherized

GavinJoyce commented 6 years ago
screen shot 2017-10-13 at 09 09 55
GavinJoyce commented 6 years ago

web components PR: https://github.com/glimmerjs/glimmer-web-component/pull/22

toranb commented 6 years ago

@GavinJoyce anything holding up that web components PR? Assuming that lands this week (along with a stable glimmer v0.8.0 release) will we get a new blueprint for glimmer users in the beta 2 of ember-cli 2.17 (just looking for a rough guesstimate here no hard dates)

locks commented 6 years ago

@toranb you don't need a new ember-cli to use @glimmer/blueprint, it uses whatever the latest released version is, by default.

GavinJoyce commented 6 years ago

@toranb I'm just waiting for https://github.com/glimmerjs/glimmer-web-component/pull/22 to be merged and glimmer-web-component to be bumped. I can then make the final few changes to make this PR ready

rwjblue commented 6 years ago

@glimmer/web-component@0.3.0 has been released

rwjblue commented 6 years ago

This seems good to go to me, let me know when you are done with those last few changes you mentioned @GavinJoyce...

GavinJoyce commented 6 years ago

Thanks, I'll make the final set of changes this evening

GavinJoyce commented 6 years ago

@rwjblue this is ready for review I believe

tomdale commented 6 years ago

This looks great to me, but we should hold off publishing a new version of this until we're ready to publish v0.8.0 of @glimmer/{application,component} right?

GavinJoyce commented 6 years ago

Yep

GavinJoyce commented 6 years ago

Post merge TODO:

tomdale commented 6 years ago

@GavinJoyce @rwjblue I think this is good to merge and release, right?

GavinJoyce commented 6 years ago

I believe it is, yes

rwjblue commented 6 years ago

:shipit:

rwjblue commented 6 years ago

Published @glimmer/blueprint@0.6.0. I also ensured that the glimmerjs/glimmer-blueprint-output repo is up to date, so you can more easily follow the specific changes made to the blueprint output. For example, to see the changes from the prior version (v0.5.3) to current you can review: https://github.com/glimmerjs/glimmer-blueprint-output/compare/v0.5.3...v0.6.0