You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It appears that the codemod implementation only runs against components in the app/ directory, which will not work for addons, which store their components in the addon/ directory and may not re-export them at all (since doing so is dangerous and a bad pattern). In order for addons to successfully enable this feature, the codemod needs to be able to create backing classes for addon components.
Following up on discussion with @chancancode to capture some pieces we figured out:
This isn't necessarily a concern of ember-optional-features, which was intended to be used by app consumers
Addons don't generally have template-only components if they are following the re-export pattern in their app/ directory
This codemod is necessary for addons that expect to use Wall St syntax for namespaced component invocation (and will be useful for template imports as well)
Conclusion: It may be better for this codemod to live as a separate project in ember-codemods rather than as part of this project.
However, there is a related issue that I believe does impact this project. If you enable template-only-glimmer-components in an addon, it does not create backing classes for template-only components in tests/dummy/templates/components, which is a perfectly valid use-case for addons.
It appears that the codemod implementation only runs against components in the
app/
directory, which will not work for addons, which store their components in theaddon/
directory and may not re-export them at all (since doing so is dangerous and a bad pattern). In order for addons to successfully enable this feature, the codemod needs to be able to create backing classes for addon components.https://github.com/emberjs/ember-optional-features/blob/master/features/template-only-glimmer-components.js#L55
The text was updated successfully, but these errors were encountered: