{"id":13511883,"url":"https://github.com/newrelic/node-newrelic","last_synced_at":"2026-02-17T16:07:53.349Z","repository":{"id":6200555,"uuid":"7431305","full_name":"newrelic/node-newrelic","owner":"newrelic","description":"New Relic Node.js agent code base. Developers are welcome to create pull requests here, please see our contributing guidelines. For New Relic technical support, please go to http://support.newrelic.com.","archived":false,"fork":false,"pushed_at":"2026-02-10T21:02:07.000Z","size":33687,"stargazers_count":998,"open_issues_count":79,"forks_count":421,"subscribers_count":36,"default_branch":"main","last_synced_at":"2026-02-10T21:27:35.946Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/newrelic.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-01-03T22:19:32.000Z","updated_at":"2026-02-10T21:02:13.000Z","dependencies_parsed_at":"2023-10-05T02:12:45.041Z","dependency_job_id":"48e0dd4f-9246-4fc6-b3b7-d50219db18ee","html_url":"https://github.com/newrelic/node-newrelic","commit_stats":{"total_commits":8433,"total_committers":183,"mean_commits":46.08196721311475,"dds":0.8726431874777659,"last_synced_commit":"7bdada678c18997c268cf19c56262b870bae5673"},"previous_names":[],"tags_count":468,"template":false,"template_full_name":null,"purl":"pkg:github/newrelic/node-newrelic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newrelic%2Fnode-newrelic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newrelic%2Fnode-newrelic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newrelic%2Fnode-newrelic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newrelic%2Fnode-newrelic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/newrelic","download_url":"https://codeload.github.com/newrelic/node-newrelic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newrelic%2Fnode-newrelic/sbom","scorecard":{"id":578832,"data":{"date":"2025-08-11","repo":{"name":"github.com/newrelic/node-newrelic","commit":"aa3f8d936aa9fd7ffdad1f771dc16da8782ad917"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":7.1,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 10 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/ci-workflow.yml:23","Info: jobLevel permissions set to 'read-all': .github/workflows/smoke-test-workflow.yml:22","Warn: no topLevel permission defined: .github/workflows/add-to-board.yml:1","Warn: no topLevel permission defined: .github/workflows/azure-site-extension.yml:1","Warn: no topLevel permission defined: .github/workflows/benchmark-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/board.yml:1","Warn: no topLevel permission defined: .github/workflows/ci-workflow.yml:1","Warn: no topLevel permission defined: .github/workflows/compatibility-report.yml:1","Warn: no topLevel permission defined: .github/workflows/create-release.yml:1","Warn: no topLevel permission defined: .github/workflows/notify-release.yml:1","Warn: no topLevel permission defined: .github/workflows/post-release.yml:1","Warn: no topLevel permission defined: .github/workflows/prep-release.yml:1","Warn: no topLevel permission defined: .github/workflows/prepare-release.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-branch.yml:1","Warn: no topLevel permission defined: .github/workflows/release-creation.yml:1","Warn: no topLevel permission defined: .github/workflows/release-lambda-init-containers.yml:1","Warn: no topLevel permission defined: .github/workflows/repolinter.yml:1","Warn: no topLevel permission defined: .github/workflows/smoke-test-workflow.yml:1","Warn: no topLevel permission defined: .github/workflows/update-snyk-prs.yml:1","Warn: no topLevel permission defined: .github/workflows/versioned-security-agent.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: 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":"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":"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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/newrelic/.github/SECURITY.md:1","Info: Found linked content: github.com/newrelic/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/newrelic/.github/SECURITY.md:1","Info: Found text in security policy: github.com/newrelic/.github/SECURITY.md:1"],"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":"Branch-Protection","score":5,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Info: 'stale review dismissal' is required to merge on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on 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":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Info: Possibly incomplete results: error parsing shell code: reached EOF without closing quote ': .github/workflows/update-snyk-prs.yml:24","Warn: third-party GitHubAction not pinned by hash: .github/workflows/add-to-board.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/add-to-board.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/azure-site-extension.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/azure-site-extension.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/azure-site-extension.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/azure-site-extension.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/azure-site-extension.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/azure-site-extension.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/azure-site-extension.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/azure-site-extension.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark-tests.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/benchmark-tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark-tests.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/benchmark-tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark-tests.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/benchmark-tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:119: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:141: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:153: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:158: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:230: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:251: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:253: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:177: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:194: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci-workflow.yml:208: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/ci-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compatibility-report.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/compatibility-report.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create-release.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/create-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/notify-release.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/notify-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/notify-release.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/notify-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/post-release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/post-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/post-release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/post-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/post-release.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/post-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/post-release.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/post-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/prep-release.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/prep-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/prep-release.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/prep-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/prep-release.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/prep-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/prepare-release.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/prepare-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-branch.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/publish-branch.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-branch.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/publish-branch.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-creation.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/release-creation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-creation.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/release-creation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-creation.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/release-creation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-lambda-init-containers.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/release-lambda-init-containers.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/repolinter.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/repolinter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/repolinter.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/repolinter.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/repolinter.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/repolinter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoke-test-workflow.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/smoke-test-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoke-test-workflow.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/smoke-test-workflow.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-snyk-prs.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/update-snyk-prs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-snyk-prs.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/update-snyk-prs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/versioned-security-agent.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/versioned-security-agent.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/versioned-security-agent.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/versioned-security-agent.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/versioned-security-agent.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/newrelic/node-newrelic/versioned-security-agent.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/benchmark-tests.yml:29","Warn: npmCommand not pinned by hash: .github/workflows/ci-workflow.yml:92","Warn: npmCommand not pinned by hash: .github/workflows/ci-workflow.yml:116","Warn: npmCommand not pinned by hash: .github/workflows/ci-workflow.yml:148","Warn: npmCommand not pinned by hash: .github/workflows/ci-workflow.yml:184","Warn: npmCommand not pinned by hash: .github/workflows/ci-workflow.yml:235","Warn: npmCommand not pinned by hash: .github/workflows/ci-workflow.yml:68","Warn: npmCommand not pinned by hash: .github/workflows/notify-release.yml:19","Warn: npmCommand not pinned by hash: .github/workflows/post-release.yml:57","Warn: npmCommand not pinned by hash: .github/workflows/post-release.yml:36","Warn: npmCommand not pinned by hash: .github/workflows/prep-release.yml:45","Warn: npmCommand not pinned by hash: .github/workflows/publish-branch.yml:23","Warn: npmCommand not pinned by hash: .github/workflows/release-creation.yml:53","Warn: npmCommand not pinned by hash: .github/workflows/release-creation.yml:55","Warn: npmCommand not pinned by hash: .github/workflows/smoke-test-workflow.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/update-snyk-prs.yml:23","Warn: npmCommand not pinned by hash: .github/workflows/versioned-security-agent.yml:79","Warn: npmCommand not pinned by hash: .github/workflows/versioned-security-agent.yml:82","Info:   0 out of  58 GitHub-owned GitHubAction dependencies pinned","Info:  15 out of  19 third-party GitHubAction dependencies pinned","Info:   0 out of  18 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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/azure-site-extension.yml:14"],"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":"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":"SAST","score":6,"reason":"SAST tool is not run on all commits -- score normalized to 6","details":["Warn: 20 commits out of 30 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"}}]},"last_synced_at":"2025-08-20T18:36:25.959Z","repository_id":6200555,"created_at":"2025-08-20T18:36:25.959Z","updated_at":"2025-08-20T18:36:25.959Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29549358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-08-01T03:01:16.189Z","updated_at":"2026-02-17T16:07:53.315Z","avatar_url":"https://github.com/newrelic.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","📈 Monitoring \u0026 APM"],"sub_categories":["E2E Testing"],"readme":"\u003ca href=\"https://opensource.newrelic.com/oss-category/#community-plus\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/newrelic/opensource-website/raw/main/src/images/categories/dark/Community_Plus.png\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Community_Plus.png\"\u003e\u003cimg alt=\"New Relic Open Source community plus project banner.\" src=\"https://github.com/newrelic/opensource-website/raw/main/src/images/categories/Community_Plus.png\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n# New Relic's Node.js agent\n[![npm status badge][1]][2] [![Server Smoke Tests][3]][4] [![Node Agent CI][5]][6] [![codecov][7]][8]\n\nThis package instruments your application for performance monitoring with [New Relic](https://newrelic.com).\n\nIn order to take full advantage of this package, make sure you have a [New Relic account](https://newrelic.com) before starting. \n\nAs with any instrumentation tool, please test before using in production.\n\n## Installation\n\nTo use New Relic's Node.js agent entails these three steps, which are described in detail below:\n\n- Install [the `newrelic` package](https://www.npmjs.com/package/newrelic)\n- Create a base configuration file\n- Load the agent in your program\n\n1. To install the agent for performance monitoring, use your favorite npm-based package manager and install the `newrelic` package into your application:\n\n    ```sh\n    $ npm install newrelic\n    ```\n\n2. Then, copy the stock configuration file to your program's base folder:\n\n    ```sh\n    $ cp ./node_modules/newrelic/newrelic.js ./\u003cyour destination\u003e\n    ```\n\n3. Now, add your New Relic license key and application/service name to that file:\n\n    ```js\n    /* File: newrelic.js */\n    'use strict'\n    /**\n     * New Relic agent configuration.\n     *\n     * See lib/config/default.js in the agent distribution for a more complete\n     * description of configuration variables and their potential values.\n     */\n    exports.config = {\n      app_name: ['Your application or service name'],\n      license_key: 'your new relic license key',\n      /* ... rest of configuration .. */\n    }\n    ```\n\n4. Finally, run your program with the `newrelic` module loaded first by using node's `-r/--require` flag.\n\n    ```sh\n    $ node -r newrelic your-program.js\n    ```\n\n    If you cannot control how your program is run, you can load the `newrelic` module _before any other module_ in your program.\n\n    ```js\n    const newrelic = require('newrelic')\n\n    /* ... the rest of your program ... */\n    ```\n\n## Next.js instrumentation\n**Note**: The minimum supported Next.js version is [12.0.9](https://github.com/vercel/next.js/releases/tag/v12.0.9).  If you are using Next.js middleware the minimum supported version is [12.2.0](https://github.com/vercel/next.js/releases/tag/v12.2.0).\n\nThe New Relic Node.js agent provides instrumentation for Next.js  The instrumentation provides telemetry for server-side rendering via [`getServerSideProps`](https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props), [middleware](https://nextjs.org/docs/middleware) (limited to Next.js versions [12.2.0](https://github.com/vercel/next.js/releases/tag/v12.2.0) - [13.4.12](https://github.com/vercel/next.js/releases/tag/v13.4.12)), and New Relic transaction naming for both page and server requests. It does not provide any instrumentation for actions occurring during build or in client-side code.  If you want telemetry data on actions occurring on the client (browser), you can [inject the browser agent](./documentation/nextjs/faqs/browser-agent.md).\n\nHere are documents for more in-depth explanations about [transaction naming](./documentation/nextjs/transactions.md), and [segments/spans](./documentation/nextjs/segments-and-spans.md).\n\n### Setup\nTypically you are running a Next.js app with the `next` cli and you must load the agent via `NODE_OPTIONS`:\n\n```sh\nNODE_OPTIONS='-r newrelic' next start\n```\n\nIf you are having trouble getting the `newrelic` package to instrument Next.js, take a look at our [FAQs](./documentation/nextjs/faqs/README.md).\n\n### Next.js example projects\nThe following example applications show how to load the `newrelic` instrumentation, inject browser agent, and handle errors:\n\n * [Pages Router example](https://github.com/newrelic/newrelic-node-examples/tree/9415503f3bd78fa5d87a7214596d51c946199474/nextjs/nextjs-legacy)\n * [App Router example](https://github.com/newrelic/newrelic-node-examples/tree/9415503f3bd78fa5d87a7214596d51c946199474/nextjs/nextjs-app-router)\n\n### Custom Next.js servers\n\nIf you are using next as a [custom server](https://nextjs.org/docs/advanced-features/custom-server), you're probably not running your application with the `next` CLI.  In that scenario we recommend running the Next.js instrumentation as follows.\n\n```sh\nnode -r newrelic your-program.js\n```\n\n## ECMAScript Modules\n\nIf your application is written with `import` and `export` statements in javascript, you are using [ES Modules](https://nodejs.org/api/esm.html#modules-ecmascript-modules) and must bootstrap the agent in a different way.\n\nThe New Relic Node.js agent includes support for ES Modules. \n\n### Setup\n\n 1. If you rely on a configuration file to run the agent, you must rename the file from `newrelic.js` to `newrelic.cjs` so it can be properly loaded.  All the contents of the configuration file will behave the same once you rename. See [CommonJS modules in ESM](https://nodejs.org/api/modules.html#enabling) for more details.\n\n    ```sh\n    $ mv newrelic.js newrelic.cjs\n    ```\n\n 2. To use the newrelic ESM loader, start your program with node and use the `--import` flag and a path to the loader file, like this:\n\n    ```sh\n    $ node --import newrelic/esm-loader.mjs -r newrelic your-program.js\n    ```\n\n### Custom Instrumentation\n\nThe agent supports adding your own custom instrumentation to ES module applications. You can use the instrumentation API methods. The only other difference between CommonJS custom instrumentation and ESM is you must provide a property of `isEsm: true`. \n\n```js\nimport newrelic from 'newrelic'\nnewrelic.instrument({ moduleName: 'parse-json', isEsm: true }, function wrap(shim, parseJson, moduleName) {\n  shim.wrap(parseJson.default, function wrapParseJson(shim, orig) {\n    return function wrappedParseJson() {\n      const result = orig.apply(this, arguments)\n      result.instrumented = true\n      return true\n    }\n  })\n})\n```\n\nWe support the following custom instrumentation API methods in ES module apps:\n\n* `newrelic.instrument`\n* `newrelic.instrumentConglomerate`\n* `newrelic.instrumentDatastore`\n* `newrelic.instrumentMessages`\n* `newrelic.instrumentWebframework`\n\nNote that we _do not_ support `newrelic.instrumentLoadedModule`, for the same issue of immutability mentioned above.\n\nIf you want to see an example of how to write custom instrumentation in an ES module app, check out our [examples](https://github.com/newrelic/newrelic-node-examples/tree/main/esm-app) repo for a working demo.\n\n## Getting Started\n\nFor more information on getting started, [check the Node.js docs](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs).\n\n### External Modules\n\nThere are modules that can be installed and configured to accompany the Node.js agent:\n\n * [`@newrelic/apollo-server-plugin`](https://github.com/newrelic/newrelic-node-apollo-server-plugin): New Relic's official Apollo Server plugin for use with the Node.js agent.\n\nThere are modules included within the Node.js agent to add more instrumentation for 3rd party modules:\n\n * [`@newrelic/native-metrics`](https://github.com/newrelic/node-native-metrics): Provides hooks into the native v8 layer of Node.js to provide metrics to the Node.js agent.\n\n## Usage\n\n### Using the API\n\nThe `newrelic` module returns an object with the Node.js agent's API methods attached.\n\n```js\nconst newrelic = require('newrelic')\n\n/* ... */\nnewrelic.addCustomAttribute('some-attribute', 'some-value')\n```\n\nYou can read more about using the API over on the [New Relic documentation](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api) site.\n\n## Testing\n\nThese are the steps to work on core agent features, with more detail below:\n\n- Fork the agent\n- Install its dependencies\n- Run tests using `npm`\n\n1. [Fork](https://github.com/newrelic/node-newrelic/fork) and clone this GitHub repository:\n\n    ```sh\n    $ git clone git@github.com:your-user-name/node-newrelic.git\n    $ cd node-newrelic\n    ```\n\n2. Install the project's dependencies:\n\n    ```sh\n    $ npm install\n    ```\n\nThen you're all set to start programming.\n\n### To run the test suite\n\n1. [Install Docker](https://www.docker.com/products/docker-desktop)\n2. Start the Docker services: `$ npm run services`\n3. Run all the tests using `$ npm run test`\n\nAvailable test suites include:\n\n  ```sh\n  $ npm run unit\n  $ npm run integration\n  $ npm run versioned\n  $ npm run lint\n  $ npm run smoke\n  ```\n\n## Further Reading\n\nHere are some resources for learning more about the agent:\n\n- [New Relic's official Node.js agent documentation](https://docs.newrelic.com/docs/agents/nodejs-agent)\n\n- [Developer docs](https://newrelic.github.io/node-newrelic/)\n\n- [Configuring the agent using `newrelic.js` or environment variables](https://docs.newrelic.com/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration)\n\n- [Use the node agent to add the Browser and SPA monitoring](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/new-relic-browser-nodejs-agent)\n\n- [API transaction naming](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/nodejs-agent-api#request-names) and [rules-based transaction naming](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/nodejs-agent-api#ignoring)\n\n- [Custom instrumentation/transactions](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api#creating-transactions)\n\n- [The changelog](https://github.com/newrelic/node-newrelic/blob/main/NEWS.md)\n\n- [Example applications](https://github.com/newrelic/newrelic-node-examples) - Working examples of New Relic features in Node.js.\n\n## Support\n\nShould you need assistance with New Relic products, you are in good hands with several support channels.\n\nIf the issue has been confirmed as a bug or is a feature request, please file a GitHub issue.\n\n**Support Channels**\n\n* [New Relic Documentation](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs): Comprehensive guidance for using our platform\n* [New Relic Community](https://support.newrelic.com/): The best place to engage in troubleshooting questions\n* [New Relic Technical Support Offerings](https://docs.newrelic.com/docs/licenses/license-information/general-usage-licenses/support-plan): Support offerings.\n* [New Relic University](https://learn.newrelic.com/): A range of online training for New Relic users of every level\n\n\n## Privacy\nAt New Relic we take your privacy and the security of your information seriously, and are committed to protecting your information. We must emphasize the importance of not sharing personal data in public forums, and ask all users to scrub logs and diagnostic information for sensitive information, whether personal, proprietary, or otherwise.\n\nWe define “Personal Data” as any information relating to an identified or identifiable individual, including, for example, your name, phone number, post code or zip code, Device ID, IP address and email address.\n\nPlease review [New Relic’s General Data Privacy Notice](https://newrelic.com/termsandconditions/privacy) for more information.\n\n## Contribute\n\nWe encourage your contributions to improve the Node.js agent! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project.\n\nIf you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company,  please drop us an email at opensource@newrelic.com.\n\n**A note about vulnerabilities**\n\nAs noted in our [security policy](../../security/policy), New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.\n\nIf you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through [our bug bounty program](https://docs.newrelic.com/docs/security/security-privacy/information-security/report-security-vulnerabilities/).\n\nIf you would like to contribute to this project, review [these guidelines](./CONTRIBUTING.md).\n\nTo [all contributors](https://github.com/newrelic/node-newrelic/graphs/contributors), we thank you!  Without your contribution, this project would not be what it is today.\n\n## License\n\nExcept as noted below, the Node.js agent is licensed under the [Apache 2.0](https://apache.org/licenses/LICENSE-2.0.txt) License.\n\nThe New Relic [security agent](https://github.com/newrelic/csec-node-agent) is licensed under the New Relic Software License v1.0.  The New Relic security agent module may be integrated like the New Relic Node.js agent.\n\nThe Node.js agent also uses source code from third-party libraries. You can find full details on which libraries are used and the terms under which they are licensed in [the third-party notices document](https://github.com/newrelic/node-newrelic/blob/main/THIRD_PARTY_NOTICES.md).\n\n\n[1]: https://img.shields.io/npm/v/newrelic.svg\n[2]: https://www.npmjs.com/package/newrelic\n[3]: https://github.com/newrelic/node-newrelic/workflows/Server%20Smoke%20Tests/badge.svg\n[4]: https://github.com/newrelic/node-newrelic/actions?query=workflow%3A%22Server+Smoke+Tests%22\n[5]: https://github.com/newrelic/node-newrelic/workflows/Node%20Agent%20CI/badge.svg\n[6]: https://github.com/newrelic/node-newrelic/actions?query=workflow%3A%22Node+Agent+CI%22\n[7]: https://codecov.io/gh/newrelic/node-newrelic/branch/main/graph/badge.svg\n[8]: https://codecov.io/gh/newrelic/node-newrelic\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewrelic%2Fnode-newrelic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnewrelic%2Fnode-newrelic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewrelic%2Fnode-newrelic/lists"}