cartant / rxjs-report-usage

Report a project's RxJS API usage to the core team

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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-usage

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.

About

Report a project's RxJS API usage to the core team

License:MIT License


Languages

Language:JavaScript 82.9%Language:TypeScript 17.1%