The types of the namespaces the PLUGINS mount — an augmentable registry.
The core declares those namespaces (GeoLeaf.Table, GeoLeaf.Editor…) and cannot type
them: it never imports a plugin (no-plugin-in-core). A plugin's own declarations add
one member here, named after its namespace:
and GeoLeaf.Table is then typed for whoever installs that plugin. A namespace nobody
augmented stays unknown — reachable, never callable — which is what it was before.
⚠️ Augmenting GeoLeafGlobal directly does not work: redeclaring Table with another
type is refused (TS2717), and skipLibCheck silences the refusal while keeping the
first declaration — the augmentation would have no effect and say nothing.
The types of the namespaces the PLUGINS mount — an augmentable registry.
The core declares those namespaces (
GeoLeaf.Table,GeoLeaf.Editor…) and cannot type them: it never imports a plugin (no-plugin-in-core). A plugin's own declarations add one member here, named after its namespace:and
GeoLeaf.Tableis then typed for whoever installs that plugin. A namespace nobody augmented staysunknown— reachable, never callable — which is what it was before.⚠️ Augmenting
GeoLeafGlobaldirectly does not work: redeclaringTablewith another type is refused (TS2717), andskipLibChecksilences the refusal while keeping the first declaration — the augmentation would have no effect and say nothing.