fix(classes.doc): Avoid emitting instance fields for collection and manager to preserve decorator-defined prototype getters

This commit is contained in:
2025-12-01 11:48:28 +00:00
parent 40bc408d8f
commit e4faca88ba
4 changed files with 27 additions and 3 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## 2025-12-01 - 7.0.15 - fix(classes.doc)
Avoid emitting instance fields for collection and manager to preserve decorator-defined prototype getters
- ts/classes.doc.ts: changed instance properties `collection` and `manager` to `declare` so TypeScript does not emit them as own properties — prevents ES2022 class fields from shadowing prototype getters created by @Collection and @managed decorators.
- readme.hints.md: added documentation explaining the ES2022 class fields issue and recommending use of `declare` for type-only instance properties; marks the fix as v7.0.15.
## 2025-11-28 - 7.0.14 - fix(classes.collection)
Centralize TC39 decorator metadata initialization and use context.metadata in class decorators