{"id":24307836,"url":"https://github.com/rstiller/inspector-metrics","last_synced_at":"2025-10-04T16:56:39.670Z","repository":{"id":19563152,"uuid":"86190178","full_name":"rstiller/inspector-metrics","owner":"rstiller","description":"Typescript metrics / monitoring library","archived":false,"fork":false,"pushed_at":"2023-10-16T23:50:19.000Z","size":8982,"stargazers_count":22,"open_issues_count":11,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-19T01:53:44.367Z","etag":null,"topics":["carbon","counter","csv","elasticsearch","elasticsearch-metrics","elasticsearch-monitoring","gauge","graphite","graphite-carbon","hdrhistogram","histogram","influxdb","meters","metrics","monitoring","node-vm","promethues","timer","typescript"],"latest_commit_sha":null,"homepage":"https://rstiller.github.io/inspector-metrics/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rstiller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-03-25T21:39:01.000Z","updated_at":"2023-05-15T07:41:39.000Z","dependencies_parsed_at":"2024-01-12T15:13:06.071Z","dependency_job_id":null,"html_url":"https://github.com/rstiller/inspector-metrics","commit_stats":{"total_commits":557,"total_committers":3,"mean_commits":"185.66666666666666","dds":0.0700179533213644,"last_synced_commit":"37af65d6d97d5a9818f3654ee483192430ccaf36"},"previous_names":[],"tags_count":92,"template":false,"template_full_name":null,"purl":"pkg:github/rstiller/inspector-metrics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstiller%2Finspector-metrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstiller%2Finspector-metrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstiller%2Finspector-metrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstiller%2Finspector-metrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rstiller","download_url":"https://codeload.github.com/rstiller/inspector-metrics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstiller%2Finspector-metrics/sbom","scorecard":{"id":787766,"data":{"date":"2025-08-11","repo":{"name":"github.com/rstiller/inspector-metrics","commit":"37af65d6d97d5a9818f3654ee483192430ccaf36"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/18 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:17","Warn: no topLevel permission defined: .github/workflows/ci-legacy.yml:1","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-legacy.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci-legacy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-legacy.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci-legacy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-legacy.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci-legacy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci-legacy.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci-legacy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/rstiller/inspector-metrics/codeql-analysis.yml/main?enable=pin","Warn: containerImage not pinned by hash: test-env/Dockerfile-node14:1: pin your Docker image by updating node:14 to node:14@sha256:a158d3b9b4e3fa813fa6c8c590b8f0a860e015ad4e59bbce5744d2f6fd8461aa","Warn: containerImage not pinned by hash: test-env/Dockerfile-node15:1: pin your Docker image by updating node:15 to node:15@sha256:608bba799613b1ebf754034ae008849ba51e88b23271412427b76d60ae0d0627","Warn: containerImage not pinned by hash: test-env/Dockerfile-node16:1: pin your Docker image by updating node:16 to node:16@sha256:f77a1aef2da8d83e45ec990f45df50f1a286c5fe8bbfb8c6e4246c6389705c0b","Warn: containerImage not pinned by hash: test-env/Dockerfile-node17:1: pin your Docker image by updating node:17 to node:17@sha256:1845a99ada85e286535bbf12e1261ea688b28b7e8bcf6521590edbbea9f41cf9","Warn: containerImage not pinned by hash: test-env/Dockerfile-node18:1: pin your Docker image by updating node:18 to node:18@sha256:c6ae79e38498325db67193d391e6ec1d224d96c693a8a4d943498556716d3783","Warn: containerImage not pinned by hash: test-env/Dockerfile-node19:1: pin your Docker image by updating node:19 to node:19@sha256:92f06fc13bcc09f1ddc51f6ebf1aa3d21a6532b74f076f224f188bc6b9317570","Warn: containerImage not pinned by hash: test-env/elasticsearch/Dockerfile:1: pin your Docker image by updating docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 to docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2@sha256:2c257b68f361872e13bdd476cba152e232a314ec61b0eedfc1f71b628ba39432","Warn: containerImage not pinned by hash: test-env/grafana/Dockerfile:1: pin your Docker image by updating grafana/grafana:8.4.6 to grafana/grafana:8.4.6@sha256:ddc19d30cb86eb300ed64ecf1aa5e71af5381696297fab55d26a02e3bf0f05cd","Warn: containerImage not pinned by hash: test-env/graphite/Dockerfile:1: pin your Docker image by updating graphiteapp/graphite-statsd:1.1.8-1 to graphiteapp/graphite-statsd:1.1.8-1@sha256:3db96046105740e2659846863566c19ae5d418b0d14d76e5031cd014cff70986","Warn: containerImage not pinned by hash: test-env/influx-v2/Dockerfile:1: pin your Docker image by updating influxdb:2.0 to influxdb:2.0@sha256:6dd9d3894e92c31ba25c59736d00871b46b960e40e65658bd8bd62825a53f88c","Warn: containerImage not pinned by hash: test-env/influx/Dockerfile:1: pin your Docker image by updating influxdb:1.8 to influxdb:1.8@sha256:299ebda2c7e308dbef42e26ac9b8fd1d9b3bcb8a0aee80c6509aa0219c1d0290","Warn: containerImage not pinned by hash: test-env/kibana/Dockerfile:1: pin your Docker image by updating docker.elastic.co/kibana/kibana-oss:7.10.2 to docker.elastic.co/kibana/kibana-oss:7.10.2@sha256:167ad321354458db3516143248a92d46e9d7c07817f8873a3fe5a8eb2908d092","Warn: containerImage not pinned by hash: test-env/node-dev/Dockerfile:1: pin your Docker image by updating node:16 to node:16@sha256:f77a1aef2da8d83e45ec990f45df50f1a286c5fe8bbfb8c6e4246c6389705c0b","Warn: containerImage not pinned by hash: test-env/prometheus/Dockerfile:1: pin your Docker image by updating prom/prometheus:v2.27.1 to prom/prometheus:v2.27.1@sha256:5accb68b56ba452e449a5e552411acaeabbbe0f087acf19a1157ce3dd10a8bed","Warn: containerImage not pinned by hash: test-env/pushgateway/Dockerfile:1: pin your Docker image by updating prom/pushgateway:v1.4.1 to prom/pushgateway:v1.4.1@sha256:bc841d4649616c28e7cd819819686c6057897b34c4b581f73adc8df4861b1679","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node14:5","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node15:5","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node15:6","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node16:5","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node17:5","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node18:5","Warn: npmCommand not pinned by hash: test-env/Dockerfile-node19:5","Warn: npmCommand not pinned by hash: test-env/node-dev/Dockerfile:11","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of  15 containerImage dependencies pinned","Info:   0 out of   8 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"34 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-pgw7-wx7w-2w33","Warn: Project is vulnerable to: GHSA-3cvr-822r-rqcc","Warn: Project is vulnerable to: GHSA-q768-x9m6-m9qp","Warn: Project is vulnerable to: GHSA-8qr4-xgw6-wmr3","Warn: Project is vulnerable to: GHSA-f772-66g8-q5h3","Warn: Project is vulnerable to: GHSA-5r9g-qh6m-jxff","Warn: Project is vulnerable to: GHSA-r6ch-mqf9-qc9w","Warn: Project is vulnerable to: GHSA-wqq4-5wpv-mx2g","Warn: Project is vulnerable to: GHSA-3787-6prv-h9w3","Warn: Project is vulnerable to: GHSA-9qxr-qj54-h672","Warn: Project is vulnerable to: GHSA-m4v8-wqvr-p9f7","Warn: Project is vulnerable to: GHSA-c76h-2ccp-4975","Warn: Project is vulnerable to: GHSA-cxrh-j4jr-qwg3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T06:33:08.915Z","repository_id":19563152,"created_at":"2025-08-23T06:33:08.916Z","updated_at":"2025-08-23T06:33:08.916Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277086788,"owners_count":25758601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-26T02:00:09.010Z","response_time":78,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carbon","counter","csv","elasticsearch","elasticsearch-metrics","elasticsearch-monitoring","gauge","graphite","graphite-carbon","hdrhistogram","histogram","influxdb","meters","metrics","monitoring","node-vm","promethues","timer","typescript"],"created_at":"2025-01-17T04:19:49.805Z","updated_at":"2025-09-26T13:30:48.933Z","avatar_url":"https://github.com/rstiller.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# inspector-metrics\n\nMonitoring / metric library similar to http://metrics.dropwizard.io\n\n[![CI](https://github.com/rstiller/inspector-metrics/actions/workflows/ci.yml/badge.svg)](https://github.com/rstiller/inspector-metrics/actions/workflows/ci.yml)\n\nThis is the mono repository for the `inspector-metrics` modules.  \n`inspector-metrics` modules are a collection of modules around application metrics and monitoring for nodejs.  \n\nTake a look at the [Documentation](https://rstiller.github.io/inspector-metrics/).\n\n## Features\n\n- metric model independent from time-series DB\n- multiple reporter modules\n- multi process support ([nodejs cluster](https://nodejs.org/api/cluster.html))\n- business friendly license ([MIT](https://www.opensource.org/licenses/mit-license.php) License)\n\n## Modules\n\n| Module | Description | Link |  |\n| :--- | :--- | :--- | :--- |\n| [inspector-metrics](packages/inspector-metrics) | API / interface module |  | ![NPM Version](https://img.shields.io/npm/v/inspector-metrics.svg) ![License](https://img.shields.io/npm/l/inspector-metrics.svg) |\n| *Reporter* |  |  |  |\n| [inspector-carbon](packages/inspector-carbon) | reporter for graphite / carbon | [graphite](https://www.npmjs.com/package/graphite) | ![NPM Version](https://img.shields.io/npm/v/inspector-carbon.svg) ![License](https://img.shields.io/npm/l/inspector-carbon.svg) |\n| [inspector-csv](packages/inspector-csv) | reporter for CSV files |  | ![NPM Version](https://img.shields.io/npm/v/inspector-csv.svg) ![License](https://img.shields.io/npm/l/inspector-csv.svg) |\n| [inspector-elasticsearch](packages/inspector-elasticsearch) | reporter for elasticsearch | [elasticsearch](https://github.com/elastic/elasticsearch-js) | ![NPM Version](https://img.shields.io/npm/v/inspector-elasticsearch.svg) ![License](https://img.shields.io/npm/l/inspector-elasticsearch.svg) |\n| [inspector-influx](packages/inspector-influx) | reporter for influxdb | [influxdb](https://github.com/node-influx/node-influx) | ![NPM Version](https://img.shields.io/npm/v/inspector-influx.svg) ![License](https://img.shields.io/npm/l/inspector-influx.svg) |\n| [inspector-prometheus](packages/inspector-prometheus) | reporter for prometheus / pushgateway | [prometheus](https://prometheus.io/docs/introduction/overview/) | ![NPM Version](https://img.shields.io/npm/v/inspector-prometheus.svg) ![License](https://img.shields.io/npm/l/inspector-prometheus.svg) |\n| *Metric Collectors* |  |  |  |\n| [inspector-vm](packages/inspector-vm) | metric collection for nodejs VM |  | ![NPM Version](https://img.shields.io/npm/v/inspector-vm.svg) ![License](https://img.shields.io/npm/l/inspector-vm.svg) |\n\n## 3rd party modules\n\n| Module | Description | Link |  |\n| :--- | :--- | :--- | :--- |\n| [inspector-amqp](https://github.com/ttous/inspector-amqp) | reporter for AMQP | [amqp-ts](https://github.com/abreits/amqp-ts) | ![NPM Version](https://img.shields.io/npm/v/inspector-amqp.svg) ![License](https://img.shields.io/npm/l/inspector-amqp.svg) |\n| [inspector-nats](https://github.com/ttous/inspector-nats) | reporter for [NATS](https://nats.io/) | [node-nats](https://github.com/nats-io/node-nats) | ![NPM Version](https://img.shields.io/npm/v/inspector-nats.svg) ![License](https://img.shields.io/npm/l/inspector-nats.svg) |\n\n## Examples\n\nCode examples for `javascript` and `typescript` are in the `examples` folder.\n\n## development\n\n### local setup / prerequisites\n\nYou should have [nodejs](https://nodejs.org/en/), [docker](https://www.docker.com/) and [docker-compose](https://docs.docker.com/compose/) installed.\n\nboot test environment:  \n`./test-env/boot.sh`\n\nshutdown test environment:  \n`./test-env/reset.sh`\n\nexecute compatibility tests:  \n`docker-compose run --rm nodeX`  \n_X = nodejs version (available: 14, 15, 16, 17, 18, 19)_\n\ninit / update project (if a new dependency is introduced or an existing is updated):  \n```bash\npnpm i\n```\n\ngenerate dependency report:  \n```bash\n# run 'pnpm run build' before checking dependencies\ndocker-compose run --rm deps\n```\n\nrelease packages / publish docs:  \n```bash\n# check functionality\npnpm i\npnpm run build\n\n# publish docs\nrm -fr docs/\ngit branch -D gh-pages\ngit worktree prune\ngit worktree list\ngit worktree add -b gh-pages docs origin/gh-pages\npnpm run publishDocs\n\n# publish package\npnpm publish\n```\n\n## License\n\n[MIT](https://www.opensource.org/licenses/mit-license.php)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstiller%2Finspector-metrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frstiller%2Finspector-metrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstiller%2Finspector-metrics/lists"}