rxjs-report-usage
What is it?
The script within this package collects anonymous API usage statistics and reports them to the RxJS core team.
How do you run it?
This package is included as a dependency in:
So if you are using the most-recent version of any of those packages, you can run the following npm command:
npm rxjs-report-usage
Or, with yarn:
yarn rxjs-report-usage
If you're not using any of those packages, you can install rxjs-report-usage
as a devDependency
and then run one of the above commands, or you can use npx
to run the script without installing the package:
npx rxjs-report-error
What it does actually do?
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 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.
For more information see this blog post: Reporting API Usage.