Ember: Framework overhaul to use vite#33048
Conversation
gossi
left a comment
There was a problem hiding this comment.
This is huge!!!
It's the foundation for integrating Ember with Storybook@10 through vite. Bringing all build systems together surely was a not-funny endeavor, so @mogstad did the herculean effort here.
This enables Ember for Storybook 10 in any form better than any previous implementation... and this is only the MVP. The more interessting work can start now.
Here is a list of things I see, we can do now (in no particular order):
- Typedoc integrations (args and slots in docs mode)
- Stories in gjs/gts (when you want to test/embed your components in HTML)
- Provide Decorators for Ember Devs (to support Embers DI system, or else components break 🙈)
- Mock services
- Set application (also globally, work for owner already done)
- Support CSF Next format for Ember
- Vitest integration
Basically, what Yann showed at Viteconf is now in reach for Ember: https://www.youtube.com/watch?v=YNQ_cJ6yy2Q
So, this PR unlocks the implementations I listed. We can do this in parallel now, thanks to the foundation of this PR.
PS. This started in september when I reached out to ask for help in integrating with Ember and took until today. Thanks a lot to @ndelangen and @JReinhold for providing their tremendeous support here, much appreciated.
But most credit goes to @mogstad 🥳 🎉 💯
|
View your CI Pipeline Execution ↗ for commit 2d599d2 ☁️ Nx Cloud last updated this comment at |
Package BenchmarksCommit: The following packages have significant changes to their size or dependencies:
|
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 189 | 15 | 🎉 -174 🎉 |
| Self size | 15 KB | 39 KB | 🚨 +23 KB 🚨 |
| Dependency size | 28.93 MB | 27.42 MB | 🎉 -1.51 MB 🎉 |
| Bundle Size Analyzer | Link | Link |
b80aeb6 to
935ae45
Compare
935ae45 to
256065b
Compare
This comment was marked as spam.
This comment was marked as spam.
256065b to
02c8df6
Compare
|
@mogstad @gossi Shall we schedule a meeting? Perhaps during one of the triage meetings in discord? to talk about this PR it's state and it's future? I'm personally very excited about all this work being done, and looking forward to learning it's internals a bit and figuring out how to get this released. |
vite
|
This PR is pretty much the "Long Term Solution" we described in #27186. We're happy to help with this one. Let us know how we can do so 😄 |
|
Closing due to inactivity. Please feel free to open a new PR if you want to continue the work. Thanks for your contributions so far! |
|
We were already in contact with @ndelangen via Discord. I pinged him this week. I carefully hit reopen here, as talks happen currently in Discord (let's say we took an extended christmas break). @valentinpalkovic I hope reopening this is ok for you :) |
Fix integration issues to get Ember rendering.
2d599d2 to
18ed633
Compare
What I did
Ember just released Ember 6.8 with Vite as its default build system as well as support for rendering components directly to DOM, as well as passing arguments as an object, which makes it perfect to use to render stories in Storybook. To my understanding the current Ember renderer isn't compatible with Storybook v10 and I've therefor completely replaced it.
The new integration uses Vite which makes it possible to integrate with Storybook v10. The new integration doesn't boot the app by default, the ergonomics of using an app should be explored further.
Supersedes #32790
Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
yarn task --task sandbox --start-from auto --template ember/default-tsDocumentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal,ci:mergedorci:dailyGH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli-storybook/src/sandbox-templates.tsMake sure this PR contains one of the labels below:
Available labels
bug: Internal changes that fixes incorrect behavior.maintenance: User-facing maintenance tasks.dependencies: Upgrading (sometimes downgrading) dependencies.build: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup: Minor cleanup style change. Will not show up in release changelog.documentation: Documentation only changes. Will not show up in release changelog.feature request: Introducing a new feature.BREAKING CHANGE: Changes that break compatibility in some way with current major version.other: Changes that don't fit in the above categories.🦋 Canary release
This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the
@storybookjs/coreteam here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook publish.yml --field pr=<PR_NUMBER>Summary by CodeRabbit
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.