UNPKG

1.58 kBMarkdownView Raw
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
7This module provides JavaScript/TypeScript
8[Protocol buffer](https://developers.google.com/protocol-buffers/) definitions
9for the Apollo Graph Manager reporting API. These definitions are generated for
10consumption from the `reports.proto` file which is defined internally within
11Apollo.
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
20Currently, 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
24The root of the repository provides the `devDependencies` necessary to build
25these definitions (e.g. `pbjs`, `pbts`, `protobuf`, etc.) and the `prepare`
26npm script is invoked programmatically via the monorepo tooling (e.g. Lerna)
27thanks to _this_ module's `postinstall` script. Therefore, when making
28changes to this module, `npx lerna run prepare` should be run from the **root**
29of this monorepo in order to update the definitions in _this_ module.