Re-activate linting by NullVoxPopuli · Pull Request #21020 · emberjs/ember.js

@NullVoxPopuli

  • enables type-aware linting for the glimmer projects
  • turns off lints for where there were violations for package-specific patterns (matches old behavior roughly)
  • removes mentions of rules we don't currently have enabled (such as regex or import-x plugins)

@NullVoxPopuli

@NullVoxPopuli

@github-actions

Estimated Asset Sizes

Diff

--- main/out.txt	2025-12-16 20:19:28.000000000 +0000
+++ pr/./pr-20603535531/out.txt	2025-12-30 18:47:34.000000000 +0000
@@ -1,62 +1,62 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 416.91 KB │ 231.03 KB ║
+║ Total │ 352.07 KB │ 203.47 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
-╔══════════════════════╤═══════════╤═══════════╗
-║ @ember/*             │ Min       │ Gzip      ║
-╟──────────────────────┼───────────┼───────────╢
-║ Total                │ 238.18 KB │ 146.56 KB ║
-╟──────────────────────┼───────────┼───────────╢
-║ -internals           │ 34.71 KB  │ 24.96 KB  ║
-║ application          │ 12.7 KB   │ 7.6 KB    ║
-║ array                │ 12.63 KB  │ 7.3 KB    ║
-║ canary-features      │ 304 B     │ 419 B     ║
-║ component            │ 1.07 KB   │ 1005 B    ║
-║ controller           │ 1.8 KB    │ 1.36 KB   ║
-║ debug                │ 11.36 KB  │ 7.92 KB   ║
-║ deprecated-features  │ 31 B      │ 77 B      ║
-║ destroyable          │ 561 B     │ 383 B     ║
-║ enumerable           │ 259 B     │ 387 B     ║
-║ helper               │ 823 B     │ 599 B     ║
-║ instrumentation      │ 2.43 KB   │ 1.77 KB   ║
-║ modifier             │ 669 B     │ 586 B     ║
-║ object               │ 33.74 KB  │ 20.66 KB  ║
-║ owner                │ 159 B     │ 178 B     ║
-║ renderer             │ 406 B     │ 353 B     ║
-║ routing              │ 58.04 KB  │ 33.41 KB  ║
-║ runloop              │ 2.2 KB    │ 1.33 KB   ║
-║ service              │ 859 B     │ 741 B     ║
-║ template             │ 430 B     │ 370 B     ║
-║ template-compilation │ 429 B     │ 366 B     ║
-║ template-compiler    │ 57.71 KB  │ 30.53 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                │ 313.81 KB │ 181.8 KB ║
+╟──────────────────────┼───────────┼──────────╢
+║ -internals           │ 36.61 KB  │ 26 KB    ║
+║ application          │ 13.24 KB  │ 8.03 KB  ║
+║ array                │ 13.05 KB  │ 7.54 KB  ║
+║ canary-features      │ 304 B     │ 419 B    ║
+║ component            │ 2.05 KB   │ 1.57 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   │ 830 B    ║
+║ instrumentation      │ 2.43 KB   │ 1.78 KB  ║
+║ modifier             │ 1.22 KB   │ 987 B    ║
+║ object               │ 35.98 KB  │ 22.1 KB  ║
+║ owner                │ 159 B     │ 178 B    ║
+║ renderer             │ 630 B     │ 491 B    ║
+║ routing              │ 59.37 KB  │ 33.91 KB ║
+║ runloop              │ 2.36 KB   │ 1.5 KB   ║
+║ service              │ 1 KB      │ 858 B    ║
+║ template             │ 654 B     │ 538 B    ║
+║ template-compilation │ 429 B     │ 366 B    ║
+║ template-compiler    │ 123.33 KB │ 59.68 KB ║
+║ template-factory     │ 370 B     │ 351 B    ║
+║ test                 │ 923 B     │ 627 B    ║
+║ utils                │ 4.11 KB   │ 3.63 KB  ║
+║ version              │ 55 B      │ 131 B    ║
+╚══════════════════════╧═══════════╧══════════╝
 
-╔═════════════════╤═══════════╤══════════╗
-║ @glimmer/*      │ Min       │ Gzip     ║
-╟─────────────────┼───────────┼──────────╢
-║ Total           │ 178.73 KB │ 84.47 KB ║
-╟─────────────────┼───────────┼──────────╢
-║ destroyable     │ 2.69 KB   │ 1.3 KB   ║
-║ encoder         │ 596 B     │ 653 B    ║
-║ env             │ 38 B      │ 87 B     ║
-║ global-context  │ 886 B     │ 545 B    ║
-║ manager         │ 12.17 KB  │ 5.42 KB  ║
-║ node            │ 2.71 KB   │ 1.81 KB  ║
-║ opcode-compiler │ 29.72 KB  │ 13.19 KB ║
-║ owner           │ 159 B     │ 202 B    ║
-║ program         │ 7.1 KB    │ 3.62 KB  ║
-║ reference       │ 5.49 KB   │ 3.21 KB  ║
-║ runtime         │ 94.98 KB  │ 42.28 KB ║
-║ tracking        │ 989 B     │ 961 B    ║
-║ util            │ 3.03 KB   │ 2.29 KB  ║
-║ validator       │ 15.63 KB  │ 6.83 KB  ║
-║ vm              │ 784 B     │ 798 B    ║
-║ wire-format     │ 1.84 KB   │ 1.35 KB  ║
-╚═════════════════╧═══════════╧══════════╝
+╔═════════════════╤══════════╤══════════╗
+║ @glimmer/*      │ Min      │ Gzip     ║
+╟─────────────────┼──────────┼──────────╢
+║ Total           │ 38.26 KB │ 21.67 KB ║
+╟─────────────────┼──────────┼──────────╢
+║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
+║ encoder         │ 81 B     │ 171 B    ║
+║ env             │ 0 B      │ 0 B      ║
+║ global-context  │ 886 B    │ 545 B    ║
+║ manager         │ 977 B    │ 627 B    ║
+║ node            │ 175 B    │ 249 B    ║
+║ opcode-compiler │ 1.11 KB  │ 905 B    ║
+║ owner           │ 159 B    │ 202 B    ║
+║ program         │ 252 B    │ 333 B    ║
+║ reference       │ 548 B    │ 544 B    ║
+║ runtime         │ 10.32 KB │ 5.22 KB  ║
+║ tracking        │ 1.34 KB  │ 1.18 KB  ║
+║ util            │ 1.85 KB  │ 1.59 KB  ║
+║ validator       │ 15.53 KB │ 6.9 KB   ║
+║ vm              │ 495 B    │ 569 B    ║
+║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
+╚═════════════════╧══════════╧══════════╝
 

Details

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

╔══════════════════════╤═══════════╤══════════╗
║ @ember/*             │ Min       │ Gzip     ║
╟──────────────────────┼───────────┼──────────╢
║ Total                │ 313.81 KB │ 181.8 KB ║
╟──────────────────────┼───────────┼──────────╢
║ -internals           │ 36.61 KB  │ 26 KB    ║
║ application          │ 13.24 KB  │ 8.03 KB  ║
║ array                │ 13.05 KB  │ 7.54 KB  ║
║ canary-features      │ 304 B     │ 419 B    ║
║ component            │ 2.05 KB   │ 1.57 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   │ 830 B    ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB  ║
║ modifier             │ 1.22 KB   │ 987 B    ║
║ object               │ 35.98 KB  │ 22.1 KB  ║
║ owner                │ 159 B     │ 178 B    ║
║ renderer             │ 630 B     │ 491 B    ║
║ routing              │ 59.37 KB  │ 33.91 KB ║
║ runloop              │ 2.36 KB   │ 1.5 KB   ║
║ service              │ 1 KB      │ 858 B    ║
║ template             │ 654 B     │ 538 B    ║
║ template-compilation │ 429 B     │ 366 B    ║
║ template-compiler    │ 123.33 KB │ 59.68 KB ║
║ template-factory     │ 370 B     │ 351 B    ║
║ test                 │ 923 B     │ 627 B    ║
║ utils                │ 4.11 KB   │ 3.63 KB  ║
║ version              │ 55 B      │ 131 B    ║
╚══════════════════════╧═══════════╧══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.26 KB │ 21.67 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 0 B      │ 0 B      ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 249 B    ║
║ opcode-compiler │ 1.11 KB  │ 905 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 333 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.22 KB  ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.85 KB  │ 1.59 KB  ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 416.91 KB │ 231.03 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 238.18 KB │ 146.56 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 34.71 KB  │ 24.96 KB  ║
║ application          │ 12.7 KB   │ 7.6 KB    ║
║ array                │ 12.63 KB  │ 7.3 KB    ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 1.07 KB   │ 1005 B    ║
║ controller           │ 1.8 KB    │ 1.36 KB   ║
║ debug                │ 11.36 KB  │ 7.92 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 823 B     │ 599 B     ║
║ instrumentation      │ 2.43 KB   │ 1.77 KB   ║
║ modifier             │ 669 B     │ 586 B     ║
║ object               │ 33.74 KB  │ 20.66 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 406 B     │ 353 B     ║
║ routing              │ 58.04 KB  │ 33.41 KB  ║
║ runloop              │ 2.2 KB    │ 1.33 KB   ║
║ service              │ 859 B     │ 741 B     ║
║ template             │ 430 B     │ 370 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 57.71 KB  │ 30.53 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           │ 178.73 KB │ 84.47 KB ║
╟─────────────────┼───────────┼──────────╢
║ destroyable     │ 2.69 KB   │ 1.3 KB   ║
║ encoder         │ 596 B     │ 653 B    ║
║ env             │ 38 B      │ 87 B     ║
║ global-context  │ 886 B     │ 545 B    ║
║ manager         │ 12.17 KB  │ 5.42 KB  ║
║ node            │ 2.71 KB   │ 1.81 KB  ║
║ opcode-compiler │ 29.72 KB  │ 13.19 KB ║
║ owner           │ 159 B     │ 202 B    ║
║ program         │ 7.1 KB    │ 3.62 KB  ║
║ reference       │ 5.49 KB   │ 3.21 KB  ║
║ runtime         │ 94.98 KB  │ 42.28 KB ║
║ tracking        │ 989 B     │ 961 B    ║
║ util            │ 3.03 KB   │ 2.29 KB  ║
║ validator       │ 15.63 KB  │ 6.83 KB  ║
║ vm              │ 784 B     │ 798 B    ║
║ wire-format     │ 1.84 KB   │ 1.35 KB  ║
╚═════════════════╧═══════════╧══════════╝

@NullVoxPopuli

@NullVoxPopuli

NullVoxPopuli

@NullVoxPopuli

NullVoxPopuli

Choose a reason for hiding this comment

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

looks like we don't have .github in the prettierignore file

Choose a reason for hiding this comment

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

That doesn't make sense? It never did so previously

Choose a reason for hiding this comment

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

any editor set up to "format on save" is going to format all prettier-compatible files when a project is detected to have prettier enabled -- unless otherwise specified in a prettier* config

Choose a reason for hiding this comment

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

Choose a reason for hiding this comment

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

I don't think so because **/ doesn't match .* (depending on the matcher, ofc)

I always feel like if I want to ignore root-files, I need to explicitly match them, and not rely on a per-implementation opinion of whether or not ** includes 0-depth

@NullVoxPopuli

Failure is pre-existing, and looks to just be that a @glimmer/env didn't get compiled away

ef4

ef4 approved these changes Jan 6, 2026