Open chriskrycho opened 2 years ago
Thanks as well to @wycats, @bmish, and @rwjblue for helping get those various efforts across the line.
I’ll make sure we follow up on this in one of the next few Framework Core team meetings—this is amazing progress, and represents a huge step toward stabilizing this and eventually making it the recommended way of writing Ember templates.
(Keep your eyes open for code-mods coming soon™!)
A status update here is that
@ef4 Do we have an updated checklist on this?
@babel/plugin-transform-class-static-block
plugin whenever adding the other class-feature plugins that are implied by legacy decorators.@babel/plugin-transform-class-static-block
plugin whenever adding the other class-feature plugins that are implied by legacy decorators.<template>
couple clarifying questions:
document
where to do this? linting should be automatic provided new enough eslint-plugin-ember and ember-template-lint.
update guides to use
pre-polaris? if so, this would be a good thing to start soon, given all the implementation stuff is done? (this is a really big given.) there is a bunch of infra-work for the ember-family-of-sites blocking this, afaik (empress, guide-maker, highlighting, (my prism PRs, etc))
moduleName
Requires eslint-plugin-ember @ v12+
Nice to have
Adding support for generating .gjs/.gts components is also one of the remaining todos. There is an open PR already: https://github.com/emberjs/ember.js/pull/20511
The path to making RFC emberjs/ember.js#779: First-Class Component Templates stable and recommended for end users.
What even is this?
## Background [RFC emberjs/ember.js#779: First-Class Component Templates][fccts] picked `` tags as the the ability for Ember (and Glimmer) developers to write components with `template` tags embedded in their JS, like so: ```js import Component from '@glimmer/component'; const Button = export default class Player extends Component { @tracked isPlaying = false; play = () => (this.isPlaying = true); pause = () => (this.isPlaying = false); } ``` This is not only a general win for ease of working with Ember: it is also a key part of our TypeScript story, because it makes things like go-to-definition, documentation hovers, autocomplete, auto-import, etc. all *much* easier to manage. So: what do we need to do to finish unblocking its adoption?The Road to Stable
See ember-template-imports/ember-template-imports#35 for details on each part of this.
The Road to Recommended
ember-template-imports
ember-template-imports
into Glimmer, with Ember being a customer