rxjs-report-usage
This script within this package collects anonymous API usage statistics and reports them to the RxJS core team.
When run inside a project, the script locates all JavaScript and TypeScript files - except for those in the node_modules
directory - and parses them with Babel. The parsed code is searched for import
statements and require
calls that consume rxjs
and a usage count is recorded for each consumed RxJS API.
The script also locates any rxjs
and typescript
packages within node_modules
and reports their versions. The versions of other packages are not included in the report.
The anonymous statistics that are collected look like this:
{
"apis": {
"rxjs": {
"concat": 1,
"merge": 1,
"of": 4
},
"rxjs/operators": {
"concatMap": 1,
"mergeMap": 1
},
},
"packageVersions": {
"rxjs": ["6.5.5"],
"typescript": ["3.9.5"]
},
"schemaVersion": 1,
"timestamp": 1592659729551
}
Once the script has collected the usage statistics, the payload is shown on-screen and the developer is prompted to confirm the sending of the payload to the core team. The script sends no information without the developer's consent.