| # Gerrit TypeScript Plugin API |
| |
| This package contains the types for developing browser plugins for the |
| Gerrit Code Review web application. General documentation for plugin |
| developers can be found at |
| [gerrit-review.googlesource.com](https://gerrit-review.googlesource.com/Documentation/pg-plugin-dev.html). |
| |
| The `.ts` files only contain types, interfaces and enums, and thus the compiled |
| `.js` files only contain the enums. For JavaScript plugins this package is not |
| really useful or necessary, but it also serves as the source of truth for |
| what plugin APIs are actually supported. |
| |
| Versioning of this API matches the MAJOR and MINOR versions of the general |
| Gerrit releases, but the PATCH version is independent. When you are building |
| a plugin for Gerrit x.y.z, then you should use the API package x.y.n, where |
| n is the highest available patch version of the API. Patch versions will only |
| contain additions and fixes, minor versions may include API removals. |
| |
| All types in here should use the `declare` keyword to prevent bundlers from |
| renaming fields, which would break communication across separately built |
| bundles. enums are the exception, because their keys are not referenced |
| across bundles, and values will not be renamed by bundlers as they are strings. |
| |
| This API is also used by other apps embedding gr-diff and any breaking changes |
| should be discussed with the Gerrit core team and properly versioned. |