Repository navigation
refactor: stop re-exporting components into the app tree - #990
Merged
Merged
Conversation
Contributor
📖 Docs Preview
|
aklkv
added this pull request to stack #989
October 11, 2026 21:41
This was referenced Oct 11, 2026
patricklx
previously approved these changes
Oct 12, 2026
The build re-exported every component, icon (2,760) and modifier into the app tree as `components/carbon/...`, so that loose-mode `.hbs` templates could resolve them by name (`<Carbon::TextInput>`). Nothing documented that: the README, the Storybook intro and the agent skill all import from the barrels, the repo's tests and Storybook do too, and src/template-registry.ts, which would have typed loose-mode use, was still the empty blueprint stub. The map made up nearly all of package.json's 346 KB. Only the three services stay in the app tree, because the components look them up by name (`service:carbon.dialog-manager`). The empty template registry goes, and so does src/components/index.ts, which only kept `carbon-components-ember/components/index` working. The README, the Storybook intro and the skill say that templates using the components have to be strict mode, and AGENTS.md says not to refer to them by name. Breaking: loose-mode `.hbs` templates can't resolve the addon's components, icons or modifiers by name; import them into `.gts` or `.gjs` templates. `carbon-components-ember/template-registry` and `carbon-components-ember/components/index` are gone; import from `carbon-components-ember/components`. Signed-off-by: Alexey Kulakov <uni_que@me.com>
aklkv
force-pushed
the
refactor/drop-component-app-reexports
branch
from
October 13, 2026 20:47
0aa4666 to
f96992b
Compare
patricklx
approved these changes
Oct 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #988 (on #987, on #986): merge those first, then retarget this to
main.The build re-exported every component, icon (2,760) and modifier into the consuming app's tree (
ember-addon.app-js, about 3,000 entries), so that loose-mode.hbstemplates could resolve them by name, such as<Carbon::TextInput>. Nothing documented that:src/template-registry.ts, which would have given loose-mode use its types, was still the empty blueprint stub.The map also made up nearly all of
package.json's 346 KB.Changes
App tree: only the three services stay in it (
rollup.config.mjs), because the components look them up by name (@service('carbon.dialog-manager'),carbon.notifications,carbon.ai-chat-session).package.json'sapp-jsmap drops to three entries, and the file to about 6 KB.Removed: the empty
src/template-registry.ts, andsrc/components/index.ts, which only keptcarbon-components-ember/components/indexworking. The package's"."export and the emptysrc/index.tsstay as the blueprint has them.Docs: the README says templates must be strict mode, in a callout under Use:
Its install note now says classic ember-cli apps need
ember-template-imports. The Storybook intro and the agent skill say the same, and AGENTS.md says not to refer to components by name.Tag's console error no longer calls itCarbon::Tag.Breaking
.hbstemplates can't resolve the addon's components, icons or modifiers by name. Import them into.gtsor.gjstemplates.carbon-components-ember/template-registryandcarbon-components-ember/components/indexare gone. Import fromcarbon-components-ember/components.Verified
dist/_app_.