You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
JSDoc: a nested @property with a type that does not parse drops every nested @property after it #65020
CHANGES.md says Closure-style function(...) types are no longer supported, so the TS1005 is expected. This issue is about what happens to the other @property tags in the same typedef.
check.ts(4,45): error TS2322: Type '"onSave"' is not assignable to type '"name"'.
check.ts(5,45): error TS2322: Type '"onCancel"' is not assignable to type '"name"'.
index.js(5,23): error TS1005: '}' expected.
onCancel is also missing, but its type has valid syntax. Every nested property after the one that does not parse is gone.
With flat properties (@property {function(string)=} onSave), only onSave is missing and onCancel is kept. So the problem is in recovery for nested Args.* properties.
🙂 Expected behavior
Only Args.onSave is affected. Args.onCancel is kept, as it is with flat properties.
Additional information about the issue
In real code the only error at the use site is that the property does not exist. For example, a component invocation reports 'onCancel' does not exist in type ..., in a different file from the TS1005. With many typedefs in a codebase, it is hard to connect the two.
It recovers through leftover (...) after an unparseable braced Closure-style type so the property name still parses, and keeps a missing-name nested @property as a child so later nested tags are not aborted. Includes a compiler regression and a parser unit test. Related alternative: #65022.
Activity
timurzvural commentedon Oct 29, 2026
Opened #65029.
It recovers through leftover
(...)after an unparseable braced Closure-style type so the property name still parses, and keeps a missing-name nested@propertyas a child so later nested tags are not aborted. Includes a compiler regression and a parser unit test. Related alternative: #65022.