Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@rictic
Copy link
Collaborator

@rictic rictic commented Aug 22, 2025

No description provided.

@rictic rictic requested a review from kevinpschaaf as a code owner August 22, 2025 02:05
@github-actions
Copy link
Contributor

github-actions bot commented Aug 22, 2025

📊 Tachometer Benchmark Results

Summary

nop-update

  • this-change, tip-of-tree, previous-release: unsure 🔍 -4% - +8% (-0.39ms - +0.90ms)
    this-change vs tip-of-tree

render

  • this-change: 40.77ms - 46.47ms
  • this-change, tip-of-tree, previous-release: unsure 🔍 -3% - +7% (-0.50ms - +1.36ms)
    this-change vs tip-of-tree
  • this-change, tip-of-tree, previous-release: unsure 🔍 -1% - +3% (-0.40ms - +0.92ms)
    this-change vs tip-of-tree
  • this-change, tip-of-tree, previous-release: unsure 🔍 -26% - +21% (-15.88ms - +12.80ms)
    this-change vs tip-of-tree

update

  • this-change: 452.65ms - 457.59ms
  • this-change, tip-of-tree, previous-release: unsure 🔍 -6% - +6% (-2.04ms - +2.25ms)
    this-change vs tip-of-tree
  • this-change, tip-of-tree, previous-release: unsure 🔍 -2% - +1% (-1.29ms - +0.80ms)
    this-change vs tip-of-tree
  • this-change, tip-of-tree, previous-release: unsure 🔍 -2% - +1% (-8.70ms - +3.00ms)
    this-change vs tip-of-tree

update-reflect

  • this-change: 438.58ms - 442.11ms
  • this-change, tip-of-tree, previous-release: unsure 🔍 -1% - +1% (-5.29ms - +4.28ms)
    this-change vs tip-of-tree

Results

this-change

render

VersionAvg timevs
40.77ms - 46.47ms-

update

VersionAvg timevs
452.65ms - 457.59ms-

update-reflect

VersionAvg timevs
438.58ms - 442.11ms-
this-change, tip-of-tree, previous-release

render

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
19.33ms - 20.44ms-unsure 🔍
-3% - +7%
-0.50ms - +1.36ms
unsure 🔍
-2% - +7%
-0.29ms - +1.27ms
tip-of-tree
tip-of-tree
18.71ms - 20.20msunsure 🔍
-7% - +2%
-1.36ms - +0.50ms
-unsure 🔍
-4% - +5%
-0.87ms - +0.99ms
previous-release
previous-release
18.84ms - 19.95msunsure 🔍
-6% - +1%
-1.27ms - +0.29ms
unsure 🔍
-5% - +4%
-0.99ms - +0.87ms
-

update

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
35.09ms - 37.54ms-unsure 🔍
-6% - +6%
-2.04ms - +2.25ms
unsure 🔍
-3% - +7%
-1.03ms - +2.53ms
tip-of-tree
tip-of-tree
34.45ms - 37.97msunsure 🔍
-6% - +6%
-2.25ms - +2.04ms
-unsure 🔍
-4% - +8%
-1.54ms - +2.83ms
previous-release
previous-release
34.27ms - 36.85msunsure 🔍
-7% - +3%
-2.53ms - +1.03ms
unsure 🔍
-8% - +4%
-2.83ms - +1.54ms
-

nop-update

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
11.09ms - 11.95ms-unsure 🔍
-4% - +8%
-0.39ms - +0.90ms
unsure 🔍
-4% - +7%
-0.44ms - +0.81ms
tip-of-tree
tip-of-tree
10.78ms - 11.74msunsure 🔍
-8% - +3%
-0.90ms - +0.39ms
-unsure 🔍
-6% - +5%
-0.72ms - +0.58ms
previous-release
previous-release
10.89ms - 11.78msunsure 🔍
-7% - +4%
-0.81ms - +0.44ms
unsure 🔍
-5% - +6%
-0.58ms - +0.72ms
-
this-change, tip-of-tree, previous-release

render

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
34.36ms - 35.25ms-unsure 🔍
-1% - +3%
-0.40ms - +0.92ms
unsure 🔍
-2% - +1%
-0.85ms - +0.46ms
tip-of-tree
tip-of-tree
34.06ms - 35.03msunsure 🔍
-3% - +1%
-0.92ms - +0.40ms
-unsure 🔍
-3% - +1%
-1.13ms - +0.22ms
previous-release
previous-release
34.52ms - 35.47msunsure 🔍
-1% - +2%
-0.46ms - +0.85ms
unsure 🔍
-1% - +3%
-0.22ms - +1.13ms
-

update

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
68.67ms - 70.14ms-unsure 🔍
-2% - +1%
-1.29ms - +0.80ms
unsure 🔍
-2% - +1%
-1.09ms - +1.03ms
tip-of-tree
tip-of-tree
68.91ms - 70.39msunsure 🔍
-1% - +2%
-0.80ms - +1.29ms
-unsure 🔍
-1% - +2%
-0.85ms - +1.28ms
previous-release
previous-release
68.67ms - 70.20msunsure 🔍
-1% - +2%
-1.03ms - +1.09ms
unsure 🔍
-2% - +1%
-1.28ms - +0.85ms
-
this-change, tip-of-tree, previous-release

render

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
49.37ms - 69.31ms-unsure 🔍
-26% - +21%
-15.88ms - +12.80ms
unsure 🔍
-9% - +51%
-3.08ms - +23.78ms
tip-of-tree
tip-of-tree
50.58ms - 71.18msunsure 🔍
-22% - +27%
-12.80ms - +15.88ms
-unsure 🔍
-7% - +55%
-1.79ms - +25.57ms
previous-release
previous-release
39.99ms - 57.98msunsure 🔍
-38% - +3%
-23.78ms - +3.08ms
unsure 🔍
-40% - +1%
-25.57ms - +1.79ms
-

update

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
451.16ms - 459.87ms-unsure 🔍
-2% - +1%
-8.70ms - +3.00ms
unsure 🔍
-2% - +0%
-9.13ms - +2.22ms
tip-of-tree
tip-of-tree
454.46ms - 462.27msunsure 🔍
-1% - +2%
-3.00ms - +8.70ms
-unsure 🔍
-1% - +1%
-5.94ms - +4.73ms
previous-release
previous-release
455.34ms - 462.61msunsure 🔍
-0% - +2%
-2.22ms - +9.13ms
unsure 🔍
-1% - +1%
-4.73ms - +5.94ms
-

update-reflect

VersionAvg timevs this-change
vs tip-of-tree
tip-of-tree
vs previous-release
previous-release
this-change
457.42ms - 464.24ms-unsure 🔍
-1% - +1%
-5.29ms - +4.28ms
unsure 🔍
-1% - +1%
-5.70ms - +3.46ms
tip-of-tree
tip-of-tree
457.98ms - 464.69msunsure 🔍
-1% - +1%
-4.28ms - +5.29ms
-unsure 🔍
-1% - +1%
-5.15ms - +3.93ms
previous-release
previous-release
458.89ms - 465.01msunsure 🔍
-1% - +1%
-3.46ms - +5.70ms
unsure 🔍
-1% - +1%
-3.93ms - +5.15ms
-

tachometer-reporter-action v2 for Benchmarks

@github-actions
Copy link
Contributor

The size of lit-html.js and lit-core.min.js are as expected.

@changeset-bot
Copy link

changeset-bot bot commented Aug 22, 2025

🦋 Changeset detected

Latest commit: 8e9cf61

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@lit-labs/tsserver-plugin Minor
@lit-labs/analyzer Minor
@lit-labs/vscode-extension Patch
@lit-labs/cli Patch
@lit-labs/compiler Patch
eslint-plugin-lit Patch
@lit-labs/gen-manifest Patch
@lit-labs/gen-utils Patch
@lit-labs/gen-wrapper-angular Patch
@lit-labs/gen-wrapper-react Patch
@lit-labs/gen-wrapper-vue Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@rictic rictic changed the title Test directives and unions a bit more, fix a few subtle bugs. Type check Lit property bindings in tsserver Aug 22, 2025
@rictic rictic changed the title Type check Lit property bindings in tsserver Type check Lit property bindings in the ts-server plugin Aug 22, 2025
Copy link
Collaborator

@justinfagnani justinfagnani left a comment

Choose a reason for hiding this comment

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

🎉

* Central definition of diagnostic codes.
*/
export const LitDiagnosticCode = {
BindingLikeAttributeName: 6301,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we comment on why we chose these numbers?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done.

} else {
if (part.expressions.length !== 1) {
throw new Error(
'InternalError: Expected exactly one expression'
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be impossible, but want to leave any breadcrumbs for after-the-fact debugging? Like outputting the attribute test from the template?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Sure. Done.

element.tagName
);
if (elementType === undefined) {
// Unknown element. Other rules will warn in this case.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does the HTMLElementTagNameMap include built-in elements? Should we fall back to HTMLElement for unknown elements? ie, a .id=${} binding is fine actually, but if we don't know the element .foo=${} is bad.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It does include built-ins, but yeah, good point, we should fall back to HTMLUnknownElement here.

const location = element.sourceCodeLocation?.attrs?.[attr.name];
const templateStart =
(typescript.isNoSubstitutionTemplateLiteral(tsNode.template)
? tsNode.template.getStart()
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm still not entirely sure the difference, but I've been trying to use getFullStart() after getting inconsistence results from other methods and properties.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

@justinfagnani
Copy link
Collaborator

I think we should merge this into main when it's prereqs are in, instead of into tools-hackathon

@justinfagnani justinfagnani changed the title Type check Lit property bindings in the ts-server plugin [labs/tsserver-plugin] Type check Lit property bindings Aug 22, 2025
@justinfagnani justinfagnani changed the base branch from tools-hackathon to main August 22, 2025 21:29
@justinfagnani justinfagnani changed the base branch from main to tools-hackathon August 22, 2025 21:33
@rictic rictic force-pushed the tools-hackathon-check-binding-property-type branch from b1fe56e to dd920c2 Compare August 26, 2025 21:07
@rictic rictic changed the base branch from tools-hackathon to main August 26, 2025 21:08
@rictic rictic enabled auto-merge (squash) August 27, 2025 18:50
@rictic rictic merged commit a131af1 into main Aug 27, 2025
10 checks passed
@rictic rictic deleted the tools-hackathon-check-binding-property-type branch August 27, 2025 18:57
@lit-robot lit-robot mentioned this pull request Dec 18, 2025
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.

2 participants