Document the removal of the legacy inheritance in TS
authorAlexander Ebert <ebert@woltlab.com>
Thu, 13 Oct 2022 17:11:26 +0000 (19:11 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Thu, 13 Oct 2022 17:11:26 +0000 (19:11 +0200)
See WoltLab/WCF#5041

docs/migration/wsc55/javascript.md

index ea5b24d25bb752b75ea307cd9221bdd4006d925f..ae9885c9c34ce97a8b17bc69a360538994c7501d 100644 (file)
@@ -14,3 +14,11 @@ The new implementation comes with a ready-to-use template (`__userObjectWatchBut
 ```
 
 See [WoltLab/WCF#4962](https://github.com/WoltLab/WCF/pull/4962/) for details.
+
+## Support for Legacy Inheritance
+
+The migration from JavaScript to TypeScript was a breaking change because the previous prototype based inheritance was incompatible with ES6 classes.
+`Core.enableLegacyInheritance()` was added in an effort to emulate the previous behavior to aid in the migration process.
+
+This workaround was unstable at best and was designed as a temporary solution only.
+[WoltLab/WCF#5041](https://github.com/WoltLab/WCF/pull/5041) removed the legacy inheritance, requiring all depending implementations to migrate to ES6 classes.