Skip to content

No more unknownTemplateOnlyComponent#21077

Draft
NullVoxPopuli wants to merge 3 commits intomainfrom
nvp/no-more-unknown-template-only-component
Draft

No more unknownTemplateOnlyComponent#21077
NullVoxPopuli wants to merge 3 commits intomainfrom
nvp/no-more-unknown-template-only-component

Conversation

@NullVoxPopuli
Copy link
Contributor

@NullVoxPopuli NullVoxPopuli commented Feb 7, 2026

This was really bothering me when I was trying to debug my typedoc renderer

I need to build this ember and test it in that project before starting review.

As part of debugging this, I think I need a button on the inspector to just show the debugRenderTree node

Before

image

note for me http://localhost:4201/Runtime/util/page-nav

After

This is blocked until we ditch the array-form of the scope bag. So many things get easier if we just make the wire format use the same scope names / object we use when hand-writing gjs (de-gjs'd)

The current compiled format just won't work because there is no way to keep the invocation names in an array -- the names are gone at this point.

Unlike class components, template-only components don't have a name, they are just consts, and only browser devtools can get at variable names

@github-actions
Copy link
Contributor

github-actions bot commented Feb 7, 2026

Estimated Asset Sizes

Diff

--- main/out.txt	2026-02-06 20:32:44.000000000 +0000
+++ pr/./pr-21791786596/out.txt	2026-02-08 03:50:54.000000000 +0000
@@ -1,16 +1,16 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 352.26 KB │ 203.59 KB ║
+║ Total │ 352.26 KB │ 203.55 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
 ╔══════════════════════╤═══════════╤═══════════╗
 ║ @ember/*             │ Min       │ Gzip      ║
 ╟──────────────────────┼───────────┼───────────╢
-║ Total                │ 313.87 KB │ 181.83 KB ║
+║ Total                │ 313.87 KB │ 181.81 KB ║
 ╟──────────────────────┼───────────┼───────────╢
-║ -internals           │ 36.68 KB  │ 25.99 KB  ║
-║ application          │ 13.24 KB  │ 7.99 KB   ║
+║ -internals           │ 36.68 KB  │ 26.01 KB  ║
+║ application          │ 13.24 KB  │ 8.01 KB   ║
 ║ array                │ 13.05 KB  │ 7.54 KB   ║
 ║ canary-features      │ 304 B     │ 419 B     ║
 ║ component            │ 2.05 KB   │ 1.63 KB   ║
@@ -19,19 +19,19 @@
 ║ deprecated-features  │ 31 B      │ 77 B      ║
 ║ destroyable          │ 561 B     │ 383 B     ║
 ║ enumerable           │ 259 B     │ 387 B     ║
-║ helper               │ 1.08 KB   │ 841 B     ║
+║ helper               │ 1.08 KB   │ 794 B     ║
 ║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
-║ modifier             │ 1.22 KB   │ 991 B     ║
+║ modifier             │ 1.22 KB   │ 984 B     ║
 ║ object               │ 35.98 KB  │ 22.1 KB   ║
 ║ owner                │ 159 B     │ 178 B     ║
-║ renderer             │ 630 B     │ 509 B     ║
-║ routing              │ 59.37 KB  │ 33.94 KB  ║
+║ renderer             │ 630 B     │ 490 B     ║
+║ routing              │ 59.37 KB  │ 33.9 KB   ║
 ║ runloop              │ 2.36 KB   │ 1.5 KB    ║
 ║ service              │ 1 KB      │ 858 B     ║
-║ template             │ 654 B     │ 535 B     ║
+║ template             │ 654 B     │ 525 B     ║
 ║ template-compilation │ 429 B     │ 366 B     ║
-║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
-║ template-factory     │ 370 B     │ 385 B     ║
+║ template-compiler    │ 123.33 KB │ 59.69 KB  ║
+║ template-factory     │ 370 B     │ 368 B     ║
 ║ test                 │ 923 B     │ 627 B     ║
 ║ utils                │ 4.11 KB   │ 3.63 KB   ║
 ║ version              │ 55 B      │ 131 B     ║
@@ -40,19 +40,19 @@
 ╔═════════════════╤══════════╤══════════╗
 ║ @glimmer/*      │ Min      │ Gzip     ║
 ╟─────────────────┼──────────┼──────────╢
-║ Total           │ 38.38 KB │ 21.75 KB ║
+║ Total           │ 38.38 KB │ 21.74 KB ║
 ╟─────────────────┼──────────┼──────────╢
 ║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
 ║ encoder         │ 81 B     │ 171 B    ║
 ║ env             │ 38 B     │ 87 B     ║
 ║ global-context  │ 886 B    │ 545 B    ║
 ║ manager         │ 977 B    │ 627 B    ║
-║ node            │ 175 B    │ 268 B    ║
-║ opcode-compiler │ 1.11 KB  │ 905 B    ║
+║ node            │ 175 B    │ 239 B    ║
+║ opcode-compiler │ 1.11 KB  │ 918 B    ║
 ║ owner           │ 159 B    │ 202 B    ║
-║ program         │ 252 B    │ 308 B    ║
+║ program         │ 252 B    │ 289 B    ║
 ║ reference       │ 548 B    │ 544 B    ║
-║ runtime         │ 10.32 KB │ 5.21 KB  ║
+║ runtime         │ 10.32 KB │ 5.23 KB  ║
 ║ tracking        │ 1.34 KB  │ 1.18 KB  ║
 ║ util            │ 1.94 KB  │ 1.6 KB   ║
 ║ validator       │ 15.53 KB │ 6.9 KB   ║

Details

This PRmain
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.26 KB │ 203.55 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.87 KB │ 181.81 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.68 KB  │ 26.01 KB  ║
║ application          │ 13.24 KB  │ 8.01 KB   ║
║ array                │ 13.05 KB  │ 7.54 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 2.05 KB   │ 1.63 KB   ║
║ controller           │ 1.96 KB   │ 1.45 KB   ║
║ debug                │ 11.73 KB  │ 8.14 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 794 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 1.22 KB   │ 984 B     ║
║ object               │ 35.98 KB  │ 22.1 KB   ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 490 B     ║
║ routing              │ 59.37 KB  │ 33.9 KB   ║
║ runloop              │ 2.36 KB   │ 1.5 KB    ║
║ service              │ 1 KB      │ 858 B     ║
║ template             │ 654 B     │ 525 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.33 KB │ 59.69 KB  ║
║ template-factory     │ 370 B     │ 368 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.38 KB │ 21.74 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 239 B    ║
║ opcode-compiler │ 1.11 KB  │ 918 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 289 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.23 KB  ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.94 KB  │ 1.6 KB   ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.26 KB │ 203.59 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.87 KB │ 181.83 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.68 KB  │ 25.99 KB  ║
║ application          │ 13.24 KB  │ 7.99 KB   ║
║ array                │ 13.05 KB  │ 7.54 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 2.05 KB   │ 1.63 KB   ║
║ controller           │ 1.96 KB   │ 1.45 KB   ║
║ debug                │ 11.73 KB  │ 8.14 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 841 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 1.22 KB   │ 991 B     ║
║ object               │ 35.98 KB  │ 22.1 KB   ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 509 B     ║
║ routing              │ 59.37 KB  │ 33.94 KB  ║
║ runloop              │ 2.36 KB   │ 1.5 KB    ║
║ service              │ 1 KB      │ 858 B     ║
║ template             │ 654 B     │ 535 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
║ template-factory     │ 370 B     │ 385 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.38 KB │ 21.75 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 268 B    ║
║ opcode-compiler │ 1.11 KB  │ 905 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 308 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.21 KB  ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.94 KB  │ 1.6 KB   ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant