Closed
Description
Angular exposes a number of classes as public API, but only a subset of them are intended to be used as base classes. Extending other classes that are not specifically documented as such is not considered a part of the public API of the framework, see PUBLIC_API.md:
We explicitly don't consider the following to be our public API surface:
...
- extending any of our classes unless the support for this is specifically documented in the API docs
The proposal is to improve API docs pages to indicate whether extending a given class is considered a part of public API.
As a possible option we can generate an extra annotation/label for these classes on AIO (e.g. "sealed") and link it to a particular section of the PUBLIC_API.md.
// cc @petebacondarwin