Skip to content

Conversation

@NullVoxPopuli
Copy link
Contributor

@NullVoxPopuli NullVoxPopuli commented Jul 27, 2025

We have to drop TS < 5.2 -- we were testing against TS 5.0 and TS 5.1.
This is because TS 5.1 does not have the WeakKey type.

Update to our TypeScript support table here: ember-learn/ember-website#1166

What we get with this upgrade

  • tracked-built-ins- built in

In this PR:


When using tarballs:

How to update this PR when glimmer-vm updates:

  1. in glimmer-vm
    1. be on main
    2. run pnpm link:all
  2. in ember.js
    1. be on NullVoxPopuli:nvp/upgrade-vm-main
    2. cp ../path/to/glimmer-vm/dist/*.tgz ./
    3. node ./bin/use-vm-tarballs.mjs
    4. pnpm install
    5. pnpm start

Using my branch in emberjs:

git remote add nvp [email protected]:NullVoxPopuli/ember.js.git
git fetch nvp
git checkout nvp/vm-emit-fn-calls

@github-actions
Copy link

github-actions bot commented Jul 27, 2025

Estimated Asset Sizes

Diff

--- main/out.txt	2025-08-03 00:53:46.000000000 +0000
+++ pr/./pr-16763052327/out.txt	2025-08-05 22:50:26.000000000 +0000
@@ -1,46 +1,46 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 408.84 KB │ 228.88 KB ║
+║ Total │ 418.48 KB │ 231.88 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
-╔══════════════════════╤═══════════╤══════════╗
-║ @ember/*             │ Min       │ Gzip     ║
-╟──────────────────────┼───────────┼──────────╢
-║ Total                │ 239.23 KB │ 147.2 KB ║
-╟──────────────────────┼───────────┼──────────╢
-║ -internals           │ 35.44 KB  │ 25.49 KB ║
-║ application          │ 12.83 KB  │ 7.62 KB  ║
-║ array                │ 12.66 KB  │ 7.32 KB  ║
-║ canary-features      │ 304 B     │ 419 B    ║
-║ component            │ 1.07 KB   │ 1004 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     │ 570 B    ║
-║ instrumentation      │ 2.43 KB   │ 1.78 KB  ║
-║ modifier             │ 669 B     │ 614 B    ║
-║ object               │ 33.78 KB  │ 20.79 KB ║
-║ owner                │ 159 B     │ 178 B    ║
-║ renderer             │ 385 B     │ 327 B    ║
-║ routing              │ 58.05 KB  │ 33.43 KB ║
-║ runloop              │ 2.2 KB    │ 1.33 KB  ║
-║ service              │ 859 B     │ 741 B    ║
-║ template             │ 430 B     │ 390 B    ║
-║ template-compilation │ 429 B     │ 366 B    ║
-║ template-compiler    │ 57.81 KB  │ 30.44 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                │ 239.23 KB │ 147.06 KB ║
+╟──────────────────────┼───────────┼───────────╢
+║ -internals           │ 35.44 KB  │ 25.49 KB  ║
+║ application          │ 12.83 KB  │ 7.62 KB   ║
+║ array                │ 12.66 KB  │ 7.32 KB   ║
+║ canary-features      │ 304 B     │ 419 B     ║
+║ component            │ 1.07 KB   │ 1004 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     │ 570 B     ║
+║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
+║ modifier             │ 669 B     │ 614 B     ║
+║ object               │ 33.78 KB  │ 20.79 KB  ║
+║ owner                │ 159 B     │ 178 B     ║
+║ renderer             │ 385 B     │ 327 B     ║
+║ routing              │ 58.05 KB  │ 33.43 KB  ║
+║ runloop              │ 2.2 KB    │ 1.33 KB   ║
+║ service              │ 859 B     │ 741 B     ║
+║ template             │ 430 B     │ 390 B     ║
+║ template-compilation │ 429 B     │ 366 B     ║
+║ template-compiler    │ 57.81 KB  │ 30.3 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           │ 169.61 KB │ 81.68 KB ║
+║ Total           │ 179.25 KB │ 84.81 KB ║
 ╟─────────────────┼───────────┼──────────╢
 ║ destroyable     │ 2.7 KB    │ 1.35 KB  ║
 ║ encoder         │ 596 B     │ 653 B    ║
@@ -55,7 +55,7 @@
 ║ runtime         │ 95.26 KB  │ 42.51 KB ║
 ║ tracking        │ 989 B     │ 961 B    ║
 ║ util            │ 3.03 KB   │ 2.29 KB  ║
-║ validator       │ 6 KB      │ 3.72 KB  ║
+║ validator       │ 15.64 KB  │ 6.86 KB  ║
 ║ vm              │ 784 B     │ 798 B    ║
 ║ wire-format     │ 1.84 KB   │ 1.35 KB  ║
 ╚═════════════════╧═══════════╧══════════╝

Details

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

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 239.23 KB │ 147.06 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 35.44 KB  │ 25.49 KB  ║
║ application          │ 12.83 KB  │ 7.62 KB   ║
║ array                │ 12.66 KB  │ 7.32 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 1.07 KB   │ 1004 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     │ 570 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 669 B     │ 614 B     ║
║ object               │ 33.78 KB  │ 20.79 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 385 B     │ 327 B     ║
║ routing              │ 58.05 KB  │ 33.43 KB  ║
║ runloop              │ 2.2 KB    │ 1.33 KB   ║
║ service              │ 859 B     │ 741 B     ║
║ template             │ 430 B     │ 390 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 57.81 KB  │ 30.3 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.81 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.51 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 │ 408.84 KB │ 228.88 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤══════════╗
║ @ember/*             │ Min       │ Gzip     ║
╟──────────────────────┼───────────┼──────────╢
║ Total                │ 239.23 KB │ 147.2 KB ║
╟──────────────────────┼───────────┼──────────╢
║ -internals           │ 35.44 KB  │ 25.49 KB ║
║ application          │ 12.83 KB  │ 7.62 KB  ║
║ array                │ 12.66 KB  │ 7.32 KB  ║
║ canary-features      │ 304 B     │ 419 B    ║
║ component            │ 1.07 KB   │ 1004 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     │ 570 B    ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB  ║
║ modifier             │ 669 B     │ 614 B    ║
║ object               │ 33.78 KB  │ 20.79 KB ║
║ owner                │ 159 B     │ 178 B    ║
║ renderer             │ 385 B     │ 327 B    ║
║ routing              │ 58.05 KB  │ 33.43 KB ║
║ runloop              │ 2.2 KB    │ 1.33 KB  ║
║ service              │ 859 B     │ 741 B    ║
║ template             │ 430 B     │ 390 B    ║
║ template-compilation │ 429 B     │ 366 B    ║
║ template-compiler    │ 57.81 KB  │ 30.44 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           │ 169.61 KB │ 81.68 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.51 KB ║
║ tracking        │ 989 B     │ 961 B    ║
║ util            │ 3.03 KB   │ 2.29 KB  ║
║ validator       │ 6 KB      │ 3.72 KB  ║
║ vm              │ 784 B     │ 798 B    ║
║ wire-format     │ 1.84 KB   │ 1.35 KB  ║
╚═════════════════╧═══════════╧══════════╝

@NullVoxPopuli NullVoxPopuli marked this pull request as ready for review August 5, 2025 20:45
@NullVoxPopuli NullVoxPopuli changed the title Upgrade glimmer-vm ( pre-VM release (main) test ) Upgrade glimmer-vm (get the built in built-ins) Aug 5, 2025
@@ -0,0 +1,8 @@
export {
trackedArray,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSDoc does come through here from @glimmer/validator

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.

3 participants