1 | # `apollo-engine-reporting-protobuf`
|
2 |
|
3 | > **Note:** The Apollo Graph Manager (previously, Apollo Engine) reporting API is subject to change. We strongly
|
4 | > encourage developers to contact Apollo Graph Manager support to discuss their use
|
5 | > case prior to building their own reporting agent using this module.
|
6 |
|
7 | This module provides JavaScript/TypeScript
|
8 | [Protocol buffer](https://developers.google.com/protocol-buffers/) definitions
|
9 | for the Apollo Graph Manager reporting API. These definitions are generated for
|
10 | consumption from the `reports.proto` file which is defined internally within
|
11 | Apollo.
|
12 |
|
13 | ## Development
|
14 |
|
15 | > **Note:** Due to a dependency on Unix tools (e.g. `bash`, `grep`, etc.), the
|
16 | > development of this module requires a Unix system. There is no reason why
|
17 | > this can't be avoided, the time just hasn't been taken to make those changes.
|
18 | > We'd happily accept a PR which makes the appropriate changes!
|
19 |
|
20 | Currently, this package generates a majority of its code with
|
21 | [`protobufjs`](https://www.npmjs.com/package/protobufjs) based on the
|
22 | `reports.proto` file. The output is generated with the `prepare` npm script.
|
23 |
|
24 | The root of the repository provides the `devDependencies` necessary to build
|
25 | these definitions (e.g. `pbjs`, `pbts`, `protobuf`, etc.) and the `prepare`
|
26 | npm script is invoked programmatically via the monorepo tooling (e.g. Lerna)
|
27 | thanks to _this_ module's `postinstall` script. Therefore, when making
|
28 | changes to this module, `npx lerna run prepare` should be run from the **root**
|
29 | of this monorepo in order to update the definitions in _this_ module.
|