Skip to content

Conversation

NullVoxPopuli
Copy link
Contributor

@NullVoxPopuli NullVoxPopuli commented Sep 7, 2025

Spiking out an idea I had:

  • https://github.com/NullVoxPopuli/legacy-ember-component
    • Generally, I want to figure out if all the legacy stuff can be extracted to a library and used independently -- combined with a babel plugin to re-write old imports to the library, this would give folks a path to migrating forward -- at least until the underlying private APIs are removed (a lot of glimmer runtime/reference stuff)

Additional motivation is that I want to simplify what all goes in to the renderer.

In order to land this:

Copy link

github-actions bot commented Sep 7, 2025

Estimated Asset Sizes

Diff

--- main/out.txt	2025-09-04 03:19:38.000000000 +0000
+++ pr/./pr-17531355995/out.txt	2025-09-07 16:59:10.000000000 +0000
@@ -1,41 +1,41 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 418.65 KB │ 232.22 KB ║
+║ Total │ 418.16 KB │ 231.83 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
-╔══════════════════════╤══════════╤═══════════╗
-║ @ember/*             │ Min      │ Gzip      ║
-╟──────────────────────┼──────────┼───────────╢
-║ Total                │ 239.4 KB │ 147.23 KB ║
-╟──────────────────────┼──────────┼───────────╢
-║ -internals           │ 35.46 KB │ 25.49 KB  ║
-║ application          │ 12.83 KB │ 7.7 KB    ║
-║ array                │ 12.66 KB │ 7.32 KB   ║
-║ canary-features      │ 304 B    │ 419 B     ║
-║ component            │ 1.07 KB  │ 1005 B    ║
-║ controller           │ 1.8 KB   │ 1.36 KB   ║
-║ debug                │ 11.4 KB  │ 7.92 KB   ║
-║ deprecated-features  │ 31 B     │ 77 B      ║
-║ destroyable          │ 561 B    │ 383 B     ║
-║ enumerable           │ 259 B    │ 387 B     ║
-║ helper               │ 823 B    │ 605 B     ║
-║ instrumentation      │ 2.43 KB  │ 1.78 KB   ║
-║ modifier             │ 669 B    │ 581 B     ║
-║ object               │ 33.78 KB │ 20.79 KB  ║
-║ owner                │ 159 B    │ 178 B     ║
-║ renderer             │ 406 B    │ 350 B     ║
-║ routing              │ 58.08 KB │ 33.43 KB  ║
-║ runloop              │ 2.2 KB   │ 1.33 KB   ║
-║ service              │ 859 B    │ 741 B     ║
-║ template             │ 430 B    │ 364 B     ║
-║ template-compilation │ 429 B    │ 366 B     ║
-║ template-compiler    │ 57.91 KB │ 30.4 KB   ║
-║ template-factory     │ 94 B     │ 160 B     ║
-║ test                 │ 923 B    │ 627 B     ║
-║ utils                │ 3.93 KB  │ 3.5 KB    ║
-║ version              │ 55 B     │ 131 B     ║
-╚══════════════════════╧══════════╧═══════════╝
+╔══════════════════════╤═══════════╤═══════════╗
+║ @ember/*             │ Min       │ Gzip      ║
+╟──────────────────────┼───────────┼───────────╢
+║ Total                │ 238.91 KB │ 146.84 KB ║
+╟──────────────────────┼───────────┼───────────╢
+║ -internals           │ 35.39 KB  │ 25.46 KB  ║
+║ application          │ 12.83 KB  │ 7.69 KB   ║
+║ array                │ 12.66 KB  │ 7.32 KB   ║
+║ canary-features      │ 304 B     │ 419 B     ║
+║ component            │ 665 B     │ 620 B     ║
+║ controller           │ 1.8 KB    │ 1.36 KB   ║
+║ debug                │ 11.4 KB   │ 7.92 KB   ║
+║ deprecated-features  │ 31 B      │ 77 B      ║
+║ destroyable          │ 561 B     │ 383 B     ║
+║ enumerable           │ 259 B     │ 387 B     ║
+║ helper               │ 823 B     │ 604 B     ║
+║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
+║ modifier             │ 669 B     │ 588 B     ║
+║ object               │ 33.78 KB  │ 20.79 KB  ║
+║ owner                │ 159 B     │ 178 B     ║
+║ renderer             │ 406 B     │ 344 B     ║
+║ routing              │ 58.08 KB  │ 33.44 KB  ║
+║ runloop              │ 2.2 KB    │ 1.33 KB   ║
+║ service              │ 859 B     │ 741 B     ║
+║ template             │ 430 B     │ 382 B     ║
+║ template-compilation │ 429 B     │ 366 B     ║
+║ template-compiler    │ 57.91 KB  │ 30.4 KB   ║
+║ template-factory     │ 94 B      │ 160 B     ║
+║ test                 │ 923 B     │ 627 B     ║
+║ utils                │ 3.93 KB   │ 3.5 KB    ║
+║ version              │ 55 B      │ 131 B     ║
+╚══════════════════════╧═══════════╧═══════════╝
 
 ╔═════════════════╤═══════════╤══════════╗
 ║ @glimmer/*      │ Min       │ Gzip     ║

Details

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

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 238.91 KB │ 146.84 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 35.39 KB  │ 25.46 KB  ║
║ application          │ 12.83 KB  │ 7.69 KB   ║
║ array                │ 12.66 KB  │ 7.32 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 665 B     │ 620 B     ║
║ controller           │ 1.8 KB    │ 1.36 KB   ║
║ debug                │ 11.4 KB   │ 7.92 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 823 B     │ 604 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 669 B     │ 588 B     ║
║ object               │ 33.78 KB  │ 20.79 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 406 B     │ 344 B     ║
║ routing              │ 58.08 KB  │ 33.44 KB  ║
║ runloop              │ 2.2 KB    │ 1.33 KB   ║
║ service              │ 859 B     │ 741 B     ║
║ template             │ 430 B     │ 382 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 57.91 KB  │ 30.4 KB   ║
║ template-factory     │ 94 B      │ 160 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 3.93 KB   │ 3.5 KB    ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤═══════════╤══════════╗
║ @glimmer/*      │ Min       │ Gzip     ║
╟─────────────────┼───────────┼──────────╢
║ Total           │ 179.25 KB │ 84.99 KB ║
╟─────────────────┼───────────┼──────────╢
║ destroyable     │ 2.7 KB    │ 1.35 KB  ║
║ encoder         │ 596 B     │ 653 B    ║
║ env             │ 38 B      │ 87 B     ║
║ global-context  │ 886 B     │ 545 B    ║
║ manager         │ 12.19 KB  │ 5.44 KB  ║
║ node            │ 2.71 KB   │ 1.81 KB  ║
║ opcode-compiler │ 29.89 KB  │ 13.23 KB ║
║ owner           │ 159 B     │ 202 B    ║
║ program         │ 7.1 KB    │ 3.63 KB  ║
║ reference       │ 5.51 KB   │ 3.18 KB  ║
║ runtime         │ 95.26 KB  │ 42.69 KB ║
║ tracking        │ 989 B     │ 961 B    ║
║ util            │ 3.03 KB   │ 2.29 KB  ║
║ validator       │ 15.64 KB  │ 6.86 KB  ║
║ vm              │ 784 B     │ 798 B    ║
║ wire-format     │ 1.84 KB   │ 1.35 KB  ║
╚═════════════════╧═══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 418.65 KB │ 232.22 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤══════════╤═══════════╗
║ @ember/*             │ Min      │ Gzip      ║
╟──────────────────────┼──────────┼───────────╢
║ Total                │ 239.4 KB │ 147.23 KB ║
╟──────────────────────┼──────────┼───────────╢
║ -internals           │ 35.46 KB │ 25.49 KB  ║
║ application          │ 12.83 KB │ 7.7 KB    ║
║ array                │ 12.66 KB │ 7.32 KB   ║
║ canary-features      │ 304 B    │ 419 B     ║
║ component            │ 1.07 KB  │ 1005 B    ║
║ controller           │ 1.8 KB   │ 1.36 KB   ║
║ debug                │ 11.4 KB  │ 7.92 KB   ║
║ deprecated-features  │ 31 B     │ 77 B      ║
║ destroyable          │ 561 B    │ 383 B     ║
║ enumerable           │ 259 B    │ 387 B     ║
║ helper               │ 823 B    │ 605 B     ║
║ instrumentation      │ 2.43 KB  │ 1.78 KB   ║
║ modifier             │ 669 B    │ 581 B     ║
║ object               │ 33.78 KB │ 20.79 KB  ║
║ owner                │ 159 B    │ 178 B     ║
║ renderer             │ 406 B    │ 350 B     ║
║ routing              │ 58.08 KB │ 33.43 KB  ║
║ runloop              │ 2.2 KB   │ 1.33 KB   ║
║ service              │ 859 B    │ 741 B     ║
║ template             │ 430 B    │ 364 B     ║
║ template-compilation │ 429 B    │ 366 B     ║
║ template-compiler    │ 57.91 KB │ 30.4 KB   ║
║ template-factory     │ 94 B     │ 160 B     ║
║ test                 │ 923 B    │ 627 B     ║
║ utils                │ 3.93 KB  │ 3.5 KB    ║
║ version              │ 55 B     │ 131 B     ║
╚══════════════════════╧══════════╧═══════════╝

╔═════════════════╤═══════════╤══════════╗
║ @glimmer/*      │ Min       │ Gzip     ║
╟─────────────────┼───────────┼──────────╢
║ Total           │ 179.25 KB │ 84.99 KB ║
╟─────────────────┼───────────┼──────────╢
║ destroyable     │ 2.7 KB    │ 1.35 KB  ║
║ encoder         │ 596 B     │ 653 B    ║
║ env             │ 38 B      │ 87 B     ║
║ global-context  │ 886 B     │ 545 B    ║
║ manager         │ 12.19 KB  │ 5.44 KB  ║
║ node            │ 2.71 KB   │ 1.81 KB  ║
║ opcode-compiler │ 29.89 KB  │ 13.23 KB ║
║ owner           │ 159 B     │ 202 B    ║
║ program         │ 7.1 KB    │ 3.63 KB  ║
║ reference       │ 5.51 KB   │ 3.18 KB  ║
║ runtime         │ 95.26 KB  │ 42.69 KB ║
║ tracking        │ 989 B     │ 961 B    ║
║ util            │ 3.03 KB   │ 2.29 KB  ║
║ validator       │ 15.64 KB  │ 6.86 KB  ║
║ vm              │ 784 B     │ 798 B    ║
║ wire-format     │ 1.84 KB   │ 1.35 KB  ║
╚═════════════════╧═══════════╧══════════╝

@NullVoxPopuli NullVoxPopuli changed the title Prototype what it would be like to remove the c lassic / pre-octane things from @ember/component Prototype what it would be like to remove the classic / pre-octane things from @ember/component Sep 7, 2025
@NullVoxPopuli NullVoxPopuli marked this pull request as draft September 7, 2025 17:17
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