{"id":373022,"url":"https://github.com/jshttp/negotiator","last_synced_at":"2026-05-17T13:30:20.335Z","repository":{"id":2315446,"uuid":"3275614","full_name":"jshttp/negotiator","owner":"jshttp","description":"An HTTP content negotiator for Node.js","archived":false,"fork":false,"pushed_at":"2026-05-01T06:12:45.000Z","size":217,"stargazers_count":382,"open_issues_count":14,"forks_count":42,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-05-12T13:34:51.366Z","etag":null,"topics":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jshttp.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"express"}},"created_at":"2012-01-26T17:16:32.000Z","updated_at":"2026-05-02T22:46:35.000Z","dependencies_parsed_at":"2024-06-18T12:18:03.942Z","dependency_job_id":"4a543148-a7c6-4558-84df-f115bad5f28a","html_url":"https://github.com/jshttp/negotiator","commit_stats":{"total_commits":279,"total_committers":20,"mean_commits":13.95,"dds":0.2544802867383512,"last_synced_commit":"a63518a9f12546bc6fbe52d45a829ef16ed7eca9"},"previous_names":["federomero/negotiator"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jshttp/negotiator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/sbom","scorecard":{"id":395402,"data":{"date":"2025-08-15T09:29:56Z","repo":{"name":"github.com/jshttp/negotiator","commit":"e377492f84df1f74f0fd1fd92e2c15c27ae4b98f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.7,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":3,"reason":"Found 9/24 approved changesets -- score normalized to 3","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:29","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:52","Info:   7 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:67","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/ci.yml:68","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:32","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:33","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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: 4 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/jshttp/.github/SECURITY.md:1","Info: Found linked content: github.com/jshttp/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/jshttp/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":6,"reason":"8 out of 12 merged PRs checked by a CI test -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 22 contributing companies or organizations","details":["Info: found contributions from: ExpressGateway, MusicMapIo, Netflix, Node-Ops, crypto-utils, expressjs, houzz, jshttp, koajs, migratejs, mysqljs, netflix, nodejs, outbox, pillarjs, pkgjs, pomelo games, pomelogames, repo-utils, restify, stream-utils, tapjs"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T18:52:24.170Z","repository_id":2315446,"created_at":"2025-08-18T18:52:24.171Z","updated_at":"2025-08-18T18:52:24.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33103970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"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"}},"owner":{"login":"jshttp","name":"jshttp","uuid":"8325802","kind":"organization","description":"Low-Level JavaScript HTTP-related Modules","email":null,"website":"https://jshttp.github.io/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8325802?v=4","repositories_count":29,"last_synced_at":"2024-04-16T08:37:30.344Z","metadata":{"has_sponsors_listing":false,"funding":{"open_collective":"express"}},"html_url":"https://github.com/jshttp","funding_links":["https://opencollective.com/express"],"total_stars":9089,"followers":163,"following":0,"created_at":"2022-11-02T16:18:51.300Z","updated_at":"2024-04-16T08:37:36.746Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp/repositories"},"packages":[{"id":10958780,"name":"negotiator-es","ecosystem":"npm","description":"HTTP content negotiation","homepage":"https://github.com/jshttp/negotiator#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jshttp/negotiator","keywords_array":["http","content negotiation","accept","accept-language","accept-encoding","accept-charset"],"namespace":null,"versions_count":7,"first_release_published_at":"2024-10-09T10:10:10.587Z","latest_release_published_at":"2024-10-09T11:01:56.011Z","latest_release_number":"0.1.6","last_synced_at":"2026-05-12T14:27:38.099Z","created_at":"2024-10-09T10:20:14.260Z","updated_at":"2026-05-12T15:22:59.313Z","registry_url":"https://www.npmjs.com/package/negotiator-es","install_command":"npm install negotiator-es","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.1.6"}},"repo_metadata":{"id":2315446,"uuid":"3275614","full_name":"jshttp/negotiator","owner":"jshttp","description":"An HTTP content negotiator for Node.js","archived":false,"fork":false,"pushed_at":"2026-04-01T05:46:06.000Z","size":217,"stargazers_count":379,"open_issues_count":14,"forks_count":41,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-04-16T08:37:10.586Z","etag":null,"topics":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jshttp.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"express"}},"created_at":"2012-01-26T17:16:32.000Z","updated_at":"2026-04-13T05:53:18.000Z","dependencies_parsed_at":"2024-06-18T12:18:03.942Z","dependency_job_id":"4a543148-a7c6-4558-84df-f115bad5f28a","html_url":"https://github.com/jshttp/negotiator","commit_stats":{"total_commits":279,"total_committers":20,"mean_commits":13.95,"dds":0.2544802867383512,"last_synced_commit":"a63518a9f12546bc6fbe52d45a829ef16ed7eca9"},"previous_names":["federomero/negotiator"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jshttp/negotiator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/sbom","scorecard":{"id":395402,"data":{"date":"2025-08-15T09:29:56Z","repo":{"name":"github.com/jshttp/negotiator","commit":"e377492f84df1f74f0fd1fd92e2c15c27ae4b98f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.7,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":3,"reason":"Found 9/24 approved changesets -- score normalized to 3","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:29","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:52","Info:   7 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:67","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/ci.yml:68","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:32","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:33","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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: 4 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/jshttp/.github/SECURITY.md:1","Info: Found linked content: github.com/jshttp/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/jshttp/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":6,"reason":"8 out of 12 merged PRs checked by a CI test -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 22 contributing companies or organizations","details":["Info: found contributions from: ExpressGateway, MusicMapIo, Netflix, Node-Ops, crypto-utils, expressjs, houzz, jshttp, koajs, migratejs, mysqljs, netflix, nodejs, outbox, pillarjs, pkgjs, pomelo games, pomelogames, repo-utils, restify, stream-utils, tapjs"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T18:52:24.170Z","repository_id":2315446,"created_at":"2025-08-18T18:52:24.171Z","updated_at":"2025-08-18T18:52:24.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31934141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: 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"},"tags":[]},"repo_metadata_updated_at":"2026-05-12T15:22:59.286Z","dependent_packages_count":0,"downloads":47,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":25.718518336360262,"dependent_packages_count":37.28905507357474,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":31.5037867049675},"purl":"pkg:npm/negotiator-es","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/negotiator-es","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/negotiator-es","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/negotiator-es/dependencies","status":null,"funding_links":["https://opencollective.com/express"],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-01T13:00:54.784Z","issues_count":43,"pull_requests_count":56,"avg_time_to_close_issue":1197935.705882353,"avg_time_to_close_pull_request":21964457.604651164,"issues_closed_count":34,"pull_requests_closed_count":43,"pull_request_authors_count":29,"issue_authors_count":36,"avg_comments_per_issue":3.7674418604651163,"avg_comments_per_pull_request":2.142857142857143,"merged_pull_requests_count":27,"bot_issues_count":0,"bot_pull_requests_count":10,"past_year_issues_count":2,"past_year_pull_requests_count":16,"past_year_avg_time_to_close_issue":6210964.5,"past_year_avg_time_to_close_pull_request":1542858.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.0625,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":10,"past_year_merged_pull_requests_count":6,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/issues","maintainers":[{"login":"wesleytodd","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wesleytodd"},{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"},{"login":"jonathanong","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jonathanong"},{"login":"dougwilson","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dougwilson"},{"login":"sheplu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sheplu"}],"active_maintainers":[{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"},{"login":"sheplu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sheplu"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator-es/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator-es/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator-es/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator-es/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator-es/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator-es/codemeta","maintainers":[{"uuid":"dretsa","login":"dretsa","name":null,"email":"andrey.tsarev@fpsoftware.io","url":null,"packages_count":1,"html_url":"https://www.npmjs.com/~dretsa","role":null,"created_at":"2024-10-09T12:26:53.557Z","updated_at":"2024-10-09T12:26:53.557Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/dretsa/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5619033,"maintainers_count":1191998,"namespaces_count":373614,"keywords_count":0,"github":"npm","metadata":{"funded_packages_count":166557},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2026-04-03T05:46:01.652Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},{"id":14074753,"name":"@depup/negotiator","ecosystem":"npm","description":"[DepUp] HTTP content negotiation","homepage":"https://github.com/jshttp/negotiator#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jshttp/negotiator","keywords_array":["depup","dependency-bumped","updated-deps","negotiator","http","content negotiation","accept","accept-language","accept-encoding","accept-charset"],"namespace":"depup","versions_count":1,"first_release_published_at":"2026-03-17T16:37:29.124Z","latest_release_published_at":"2026-03-17T16:37:29.124Z","latest_release_number":"1.0.0-depup.0","last_synced_at":"2026-05-12T14:27:38.767Z","created_at":"2026-03-19T04:22:59.195Z","updated_at":"2026-05-12T15:22:59.337Z","registry_url":"https://www.npmjs.com/package/@depup/negotiator","install_command":"npm install @depup/negotiator","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.0-depup.0"}},"repo_metadata":{"id":2315446,"uuid":"3275614","full_name":"jshttp/negotiator","owner":"jshttp","description":"An HTTP content negotiator for Node.js","archived":false,"fork":false,"pushed_at":"2026-04-01T05:46:06.000Z","size":217,"stargazers_count":379,"open_issues_count":14,"forks_count":41,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-04-16T08:37:10.586Z","etag":null,"topics":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jshttp.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"express"}},"created_at":"2012-01-26T17:16:32.000Z","updated_at":"2026-04-13T05:53:18.000Z","dependencies_parsed_at":"2024-06-18T12:18:03.942Z","dependency_job_id":"4a543148-a7c6-4558-84df-f115bad5f28a","html_url":"https://github.com/jshttp/negotiator","commit_stats":{"total_commits":279,"total_committers":20,"mean_commits":13.95,"dds":0.2544802867383512,"last_synced_commit":"a63518a9f12546bc6fbe52d45a829ef16ed7eca9"},"previous_names":["federomero/negotiator"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jshttp/negotiator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/sbom","scorecard":{"id":395402,"data":{"date":"2025-08-15T09:29:56Z","repo":{"name":"github.com/jshttp/negotiator","commit":"e377492f84df1f74f0fd1fd92e2c15c27ae4b98f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.7,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":3,"reason":"Found 9/24 approved changesets -- score normalized to 3","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:29","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:52","Info:   7 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:67","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/ci.yml:68","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:32","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:33","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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: 4 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/jshttp/.github/SECURITY.md:1","Info: Found linked content: github.com/jshttp/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/jshttp/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":6,"reason":"8 out of 12 merged PRs checked by a CI test -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 22 contributing companies or organizations","details":["Info: found contributions from: ExpressGateway, MusicMapIo, Netflix, Node-Ops, crypto-utils, expressjs, houzz, jshttp, koajs, migratejs, mysqljs, netflix, nodejs, outbox, pillarjs, pkgjs, pomelo games, pomelogames, repo-utils, restify, stream-utils, tapjs"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T18:52:24.170Z","repository_id":2315446,"created_at":"2025-08-18T18:52:24.171Z","updated_at":"2025-08-18T18:52:24.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31934141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: 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"},"tags":[]},"repo_metadata_updated_at":"2026-05-12T15:22:59.317Z","dependent_packages_count":0,"downloads":25,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":22.40941024303714,"dependent_packages_count":32.301555319200475,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.35548278111881},"purl":"pkg:npm/%40depup/negotiator","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@depup/negotiator","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@depup/negotiator","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@depup/negotiator/dependencies","status":null,"funding_links":["https://opencollective.com/express"],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fnegotiator/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fnegotiator/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fnegotiator/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fnegotiator/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fnegotiator/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fnegotiator/codemeta","maintainers":[{"uuid":"chiefmikey","login":"chiefmikey","name":null,"email":"wolfemikl@gmail.com","url":null,"packages_count":2064,"html_url":"https://www.npmjs.com/~chiefmikey","role":null,"created_at":"2026-03-19T04:23:01.322Z","updated_at":"2026-03-19T04:23:01.322Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/chiefmikey/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5619033,"maintainers_count":1191998,"namespaces_count":373614,"keywords_count":0,"github":"npm","metadata":{"funded_packages_count":166557},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2026-04-03T05:46:01.652Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},{"id":2063515,"name":"negotiator","ecosystem":"npm","description":"HTTP content negotiation","homepage":"https://github.com/jshttp/negotiator#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jshttp/negotiator","keywords_array":["http","content negotiation","accept","accept-language","accept-encoding","accept-charset"],"namespace":null,"versions_count":28,"first_release_published_at":"2012-01-26T17:25:19.965Z","latest_release_published_at":"2024-08-31T15:42:18.280Z","latest_release_number":"1.0.0","last_synced_at":"2026-05-16T10:45:39.927Z","created_at":"2022-04-09T20:29:59.703Z","updated_at":"2026-05-16T10:45:39.927Z","registry_url":"https://www.npmjs.com/package/negotiator","install_command":"npm install negotiator","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.0","legacy":"0.6.4"}},"repo_metadata":{"id":2315446,"uuid":"3275614","full_name":"jshttp/negotiator","owner":"jshttp","description":"An HTTP content negotiator for Node.js","archived":false,"fork":false,"pushed_at":"2024-10-22T21:33:15.000Z","size":193,"stargazers_count":313,"open_issues_count":10,"forks_count":34,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-10-29T21:01:50.194Z","etag":null,"topics":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jshttp.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-01-26T17:16:32.000Z","updated_at":"2024-10-27T10:06:54.000Z","dependencies_parsed_at":"2024-06-18T12:18:03.942Z","dependency_job_id":"4a543148-a7c6-4558-84df-f115bad5f28a","html_url":"https://github.com/jshttp/negotiator","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222132607,"owners_count":16936614,"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","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"},"owner_record":{"login":"jshttp","name":"jshttp","uuid":"8325802","kind":"organization","description":"Low-Level JavaScript HTTP-related Modules","email":null,"website":"https://jshttp.github.io/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8325802?v=4","repositories_count":29,"last_synced_at":"2024-04-16T08:37:30.344Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/jshttp","funding_links":[],"total_stars":9089,"followers":163,"following":0,"created_at":"2022-11-02T16:18:51.300Z","updated_at":"2024-04-16T08:37:36.746Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp/repositories"},"tags":[{"name":"0.6.3","sha":"40a5acb0c878cca951bc44d1d9e2ab1f90ae813e","kind":"commit","published_at":"2022-01-23T01:33:26.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"99f418e11907b60e63f0addc09fc596ddc7be5be","kind":"commit","published_at":"2019-04-30T00:17:49.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.2","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"751c381c32707f238143cd65d78520e16f4ef9e5","kind":"commit","published_at":"2016-05-03T04:44:06.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.1","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"d904ca6a639487b4e27c009e33183570aae4e789","kind":"commit","published_at":"2015-09-30T01:10:31.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"cbb717b3f164f25820f90b160cda6d0166b9d922","kind":"commit","published_at":"2015-05-11T02:13:30.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"a317a47bcd5efadd0561b1f2da0a7e1bea09b8c2","kind":"commit","published_at":"2015-05-07T05:16:58.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.2","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"bfee971fe0503518cc93d1956518212203b7e68c","kind":"commit","published_at":"2015-02-15T01:44:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.1","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"79110a26fa939a77df65f8651a5d4d071f77a14a","kind":"commit","published_at":"2014-12-19T03:56:55.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.0/manifests"},{"name":"0.4.9","sha":"1e90abd710b662db80f1ea244e647cce3bd74504","kind":"commit","published_at":"2014-10-15T04:21:03.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.9","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.9/manifests"},{"name":"0.4.8","sha":"4b0bc3f2fec38a839556bd4674f79024929ba256","kind":"commit","published_at":"2014-09-28T21:41:58.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.8","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.8/manifests"},{"name":"0.4.7","sha":"074d3630e6c4a71f27bcf6e80757fc929f3ec97b","kind":"commit","published_at":"2014-06-24T22:31:41.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.7","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.7/manifests"},{"name":"0.4.6","sha":"6362263448f77e5ae06bf8d9a3588a1a4cba5e3f","kind":"commit","published_at":"2014-06-11T19:28:05.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.6","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.6/manifests"},{"name":"0.4.3","sha":"75b25bda65fbaefeb78c06d3861972c5af31868f","kind":"commit","published_at":"2014-04-16T14:10:46.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.3/manifests"},{"name":"0.3.0","sha":"b894c2009430605fe38eba811ec5aff59e517942","kind":"commit","published_at":"2013-10-18T20:11:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.3.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.3.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T23:42:01.902Z","dependent_packages_count":1392,"downloads":617963960,"downloads_period":"last-month","dependent_repos_count":1792608,"rankings":{"downloads":0.008898443840141235,"dependent_repos_count":0.01818020526108856,"dependent_packages_count":0.05237760943443134,"stargazers_count":3.5664962911286078,"forks_count":4.290940313876948,"docker_downloads_count":0.0031760599552504106,"average":1.3233448205827447},"purl":"pkg:npm/negotiator","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdtYzUtY2hocC1mbWMz","url":"https://github.com/advisories/GHSA-7mc5-chhp-fmc3","title":"Regular Expression Denial of Service in negotiator","description":"Affected versions of `negotiator` are vulnerable to regular expression denial of service attacks, which trigger upon parsing a specially crafted `Accept-Language` header value.\n\n\n\n\n## Recommendation\n\nUpdate to version 0.6.1 or later.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2018-10-09T00:30:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2016-10539","https://github.com/advisories/GHSA-7mc5-chhp-fmc3","https://www.npmjs.com/advisories/106"],"source_kind":"github","identifiers":["GHSA-7mc5-chhp-fmc3","CVE-2016-10539"],"repository_url":null,"blast_radius":0.0,"created_at":"2022-12-21T16:13:35.963Z","updated_at":"2026-05-15T09:11:55.081Z","epss_percentage":0.00328,"epss_percentile":0.55515,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdtYzUtY2hocC1mbWMz","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdtYzUtY2hocC1mbWMz","packages":[{"ecosystem":"npm","package_name":"negotiator","versions":[{"first_patched_version":"0.6.1","vulnerable_version_range":"\u003c 0.6.1"}],"purl":"pkg:npm/negotiator","statistics":{"dependent_packages_count":1392,"dependent_repos_count":1792608,"downloads":611606373,"downloads_period":"last-month"},"affected_versions":["0.1.0","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.3.0","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.4.8","0.4.9","0.5.0","0.5.1","0.5.2","0.5.3","0.6.0"],"unaffected_versions":["0.6.1","0.6.2","0.6.3","0.6.4","1.0.0"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdtYzUtY2hocC1mbWMz/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/negotiator","docker_dependents_count":60002,"docker_downloads_count":14731424462,"usage_url":"https://repos.ecosyste.ms/usage/npm/negotiator","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/negotiator/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2024-10-29T20:03:26.939Z","issues_count":40,"pull_requests_count":33,"avg_time_to_close_issue":884621.40625,"avg_time_to_close_pull_request":15654318.258064516,"issues_closed_count":32,"pull_requests_closed_count":31,"pull_request_authors_count":26,"issue_authors_count":33,"avg_comments_per_issue":3.925,"avg_comments_per_pull_request":3.242424242424242,"merged_pull_requests_count":16,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":4,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":251373.0,"past_year_avg_time_to_close_pull_request":347605.75,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.4,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/issues","maintainers":[{"login":"jonathanong","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jonathanong"},{"login":"dougwilson","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dougwilson"},{"login":"wesleytodd","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wesleytodd"}],"active_maintainers":[{"login":"wesleytodd","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wesleytodd"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/negotiator/codemeta","maintainers":[{"uuid":"dougwilson","login":"dougwilson","name":null,"email":"doug@somethingdoug.com","url":null,"packages_count":102,"html_url":"https://www.npmjs.com/~dougwilson","role":null,"created_at":"2022-11-13T10:39:23.028Z","updated_at":"2022-11-13T10:39:23.028Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/dougwilson/packages"},{"uuid":"wesleytodd","login":"wesleytodd","name":null,"email":"wes@wesleytodd.com","url":null,"packages_count":155,"html_url":"https://www.npmjs.com/~wesleytodd","role":null,"created_at":"2024-09-01T20:38:21.458Z","updated_at":"2024-09-01T20:38:21.458Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/wesleytodd/packages"},{"uuid":"blakeembrey","login":"blakeembrey","name":null,"email":"hello@blakeembrey.com","url":null,"packages_count":241,"html_url":"https://www.npmjs.com/~blakeembrey","role":null,"created_at":"2024-10-29T23:41:56.997Z","updated_at":"2024-10-29T23:41:56.997Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/blakeembrey/packages"},{"uuid":"ulisesgascon","login":"ulisesgascon","name":null,"email":"ulisesgascondev@gmail.com","url":null,"packages_count":224,"html_url":"https://www.npmjs.com/~ulisesgascon","role":null,"created_at":"2026-02-11T02:56:39.129Z","updated_at":"2026-02-11T02:56:39.129Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/ulisesgascon/packages"},{"uuid":"jongleberry","login":"jongleberry","name":null,"email":"jonathanrichardong@gmail.com","url":null,"packages_count":570,"html_url":"https://www.npmjs.com/~jongleberry","role":null,"created_at":"2022-11-13T10:39:23.172Z","updated_at":"2022-11-13T10:39:23.172Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/jongleberry/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5619033,"maintainers_count":1191998,"namespaces_count":373614,"keywords_count":0,"github":"npm","metadata":{"funded_packages_count":166557},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2026-04-03T05:46:01.652Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},{"id":4991570,"name":"org.webjars.bowergithub.jshttp:negotiator","ecosystem":"maven","description":"WebJar for negotiator","homepage":"http://webjars.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jshttp/negotiator","keywords_array":[],"namespace":"org.webjars.bowergithub.jshttp","versions_count":1,"first_release_published_at":"2018-08-29T18:19:17.000Z","latest_release_published_at":"2018-08-29T18:19:17.000Z","latest_release_number":"0.6.1","last_synced_at":"2026-05-12T14:27:34.439Z","created_at":"2022-07-27T10:38:07.565Z","updated_at":"2026-05-12T14:27:34.439Z","registry_url":"https://central.sonatype.com/artifact/org.webjars.bowergithub.jshttp/negotiator/","install_command":null,"documentation_url":"https://appdoc.app/artifact/org.webjars.bowergithub.jshttp/negotiator/","metadata":{"repositories":["https://repo.maven.apache.org/maven2"]},"repo_metadata":{"id":2315446,"uuid":"3275614","full_name":"jshttp/negotiator","owner":"jshttp","description":"An HTTP content negotiator for Node.js","archived":false,"fork":false,"pushed_at":"2025-10-01T05:18:59.000Z","size":212,"stargazers_count":366,"open_issues_count":15,"forks_count":41,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-10-28T02:34:44.575Z","etag":null,"topics":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jshttp.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"express"}},"created_at":"2012-01-26T17:16:32.000Z","updated_at":"2025-10-21T04:13:26.000Z","dependencies_parsed_at":"2024-06-18T12:18:03.942Z","dependency_job_id":"4a543148-a7c6-4558-84df-f115bad5f28a","html_url":"https://github.com/jshttp/negotiator","commit_stats":{"total_commits":279,"total_committers":20,"mean_commits":13.95,"dds":0.2544802867383512,"last_synced_commit":"a63518a9f12546bc6fbe52d45a829ef16ed7eca9"},"previous_names":["federomero/negotiator"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jshttp/negotiator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/sbom","scorecard":{"id":395402,"data":{"date":"2025-08-15T09:29:56Z","repo":{"name":"github.com/jshttp/negotiator","commit":"e377492f84df1f74f0fd1fd92e2c15c27ae4b98f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.7,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":3,"reason":"Found 9/24 approved changesets -- score normalized to 3","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:29","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:52","Info:   7 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:67","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/ci.yml:68","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:32","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:33","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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: 4 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/jshttp/.github/SECURITY.md:1","Info: Found linked content: github.com/jshttp/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/jshttp/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":6,"reason":"8 out of 12 merged PRs checked by a CI test -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 22 contributing companies or organizations","details":["Info: found contributions from: ExpressGateway, MusicMapIo, Netflix, Node-Ops, crypto-utils, expressjs, houzz, jshttp, koajs, migratejs, mysqljs, netflix, nodejs, outbox, pillarjs, pkgjs, pomelo games, pomelogames, repo-utils, restify, stream-utils, tapjs"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T18:52:24.170Z","repository_id":2315446,"created_at":"2025-08-18T18:52:24.171Z","updated_at":"2025-08-18T18:52:24.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281441016,"owners_count":26501758,"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-10-28T02:00:06.022Z","response_time":60,"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"},"owner_record":{"login":"jshttp","name":"jshttp","uuid":"8325802","kind":"organization","description":"Low-Level JavaScript HTTP-related Modules","email":null,"website":"https://jshttp.github.io/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8325802?v=4","repositories_count":29,"last_synced_at":"2024-04-16T08:37:30.344Z","metadata":{"has_sponsors_listing":false,"funding":{"open_collective":"express"}},"html_url":"https://github.com/jshttp","funding_links":["https://opencollective.com/express"],"total_stars":9089,"followers":163,"following":0,"created_at":"2022-11-02T16:18:51.300Z","updated_at":"2024-04-16T08:37:36.746Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp/repositories"},"tags":[{"name":"v0.6.4","sha":"9ee4e31fa72a5bf9378afa1ef13707276e540117","kind":"tag","published_at":"2024-10-19T03:20:21.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/v0.6.4","html_url":"https://github.com/jshttp/negotiator/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v0.6.4/manifests"},{"name":"v1.0.0","sha":"f808e27873670e11022220cbcb61a3eb2810dc01","kind":"commit","published_at":"2024-08-31T15:40:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/v1.0.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v1.0.0/manifests"},{"name":"0.6.3","sha":"40a5acb0c878cca951bc44d1d9e2ab1f90ae813e","kind":"commit","published_at":"2022-01-23T01:33:26.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"99f418e11907b60e63f0addc09fc596ddc7be5be","kind":"commit","published_at":"2019-04-30T00:17:49.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.2","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"751c381c32707f238143cd65d78520e16f4ef9e5","kind":"commit","published_at":"2016-05-03T04:44:06.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.1","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"d904ca6a639487b4e27c009e33183570aae4e789","kind":"commit","published_at":"2015-09-30T01:10:31.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"cbb717b3f164f25820f90b160cda6d0166b9d922","kind":"commit","published_at":"2015-05-11T02:13:30.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"a317a47bcd5efadd0561b1f2da0a7e1bea09b8c2","kind":"commit","published_at":"2015-05-07T05:16:58.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.2","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"bfee971fe0503518cc93d1956518212203b7e68c","kind":"commit","published_at":"2015-02-15T01:44:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.1","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"79110a26fa939a77df65f8651a5d4d071f77a14a","kind":"commit","published_at":"2014-12-19T03:56:55.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.0/manifests"},{"name":"0.4.9","sha":"1e90abd710b662db80f1ea244e647cce3bd74504","kind":"commit","published_at":"2014-10-15T04:21:03.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.9","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.9/manifests"},{"name":"0.4.8","sha":"4b0bc3f2fec38a839556bd4674f79024929ba256","kind":"commit","published_at":"2014-09-28T21:41:58.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.8","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.8/manifests"},{"name":"0.4.7","sha":"074d3630e6c4a71f27bcf6e80757fc929f3ec97b","kind":"commit","published_at":"2014-06-24T22:31:41.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.7","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.7/manifests"},{"name":"0.4.6","sha":"6362263448f77e5ae06bf8d9a3588a1a4cba5e3f","kind":"commit","published_at":"2014-06-11T19:28:05.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.6","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.6/manifests"},{"name":"0.4.3","sha":"75b25bda65fbaefeb78c06d3861972c5af31868f","kind":"commit","published_at":"2014-04-16T14:10:46.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.3/manifests"},{"name":"0.3.0","sha":"b894c2009430605fe38eba811ec5aff59e517942","kind":"commit","published_at":"2013-10-18T20:11:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.3.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.3.0/manifests"}]},"repo_metadata_updated_at":"2025-10-28T12:58:17.734Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":31.979943940947386,"dependent_packages_count":31.998402898858956,"stargazers_count":15.914029409935335,"forks_count":18.353822107812352,"average":24.561549589388505},"purl":"pkg:maven/org.webjars.bowergithub.jshttp/negotiator","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/org.webjars.bowergithub.jshttp:negotiator","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/maven/org.webjars.bowergithub.jshttp:negotiator","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/org.webjars.bowergithub.jshttp:negotiator/dependencies","status":null,"funding_links":["https://opencollective.com/express"],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-01T08:03:32.113Z","issues_count":43,"pull_requests_count":50,"avg_time_to_close_issue":858436.303030303,"avg_time_to_close_pull_request":23610570.3,"issues_closed_count":33,"pull_requests_closed_count":40,"pull_request_authors_count":28,"issue_authors_count":36,"avg_comments_per_issue":3.7209302325581395,"avg_comments_per_pull_request":2.4,"merged_pull_requests_count":24,"bot_issues_count":0,"bot_pull_requests_count":5,"past_year_issues_count":5,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":52604.5,"past_year_avg_time_to_close_pull_request":3069428.6666666665,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.09090909090909091,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/issues","maintainers":[{"login":"wesleytodd","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wesleytodd"},{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"},{"login":"jonathanong","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jonathanong"},{"login":"dougwilson","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dougwilson"}],"active_maintainers":[{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.bowergithub.jshttp:negotiator/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.bowergithub.jshttp:negotiator/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.bowergithub.jshttp:negotiator/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.bowergithub.jshttp:negotiator/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.bowergithub.jshttp:negotiator/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.bowergithub.jshttp:negotiator/codemeta","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":606028,"maintainers_count":0,"namespaces_count":79339,"keywords_count":0,"github":"maven-central","metadata":{"funded_packages_count":39644},"icon_url":"https://github.com/maven-central.png","created_at":"2022-07-21T16:40:13.074Z","updated_at":"2026-04-03T06:29:38.544Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/namespaces"}},{"id":5003176,"name":"org.webjars.npm:negotiator","ecosystem":"maven","description":"WebJar for negotiator","homepage":"https://www.webjars.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jshttp/negotiator","keywords_array":[],"namespace":"org.webjars.npm","versions_count":9,"first_release_published_at":"2018-05-25T12:45:15.000Z","latest_release_published_at":"2025-04-17T21:15:58.000Z","latest_release_number":"1.0.0","last_synced_at":"2026-05-12T14:27:34.142Z","created_at":"2022-07-27T11:04:17.663Z","updated_at":"2026-05-12T14:27:34.142Z","registry_url":"https://central.sonatype.com/artifact/org.webjars.npm/negotiator/","install_command":null,"documentation_url":"https://appdoc.app/artifact/org.webjars.npm/negotiator/","metadata":{"repositories":["https://repo.maven.apache.org/maven2"]},"repo_metadata":{"id":2315446,"uuid":"3275614","full_name":"jshttp/negotiator","owner":"jshttp","description":"An HTTP content negotiator for Node.js","archived":false,"fork":false,"pushed_at":"2025-10-01T05:18:59.000Z","size":212,"stargazers_count":366,"open_issues_count":15,"forks_count":41,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-10-28T02:34:44.575Z","etag":null,"topics":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jshttp.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"express"}},"created_at":"2012-01-26T17:16:32.000Z","updated_at":"2025-10-21T04:13:26.000Z","dependencies_parsed_at":"2024-06-18T12:18:03.942Z","dependency_job_id":"4a543148-a7c6-4558-84df-f115bad5f28a","html_url":"https://github.com/jshttp/negotiator","commit_stats":{"total_commits":279,"total_committers":20,"mean_commits":13.95,"dds":0.2544802867383512,"last_synced_commit":"a63518a9f12546bc6fbe52d45a829ef16ed7eca9"},"previous_names":["federomero/negotiator"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jshttp/negotiator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/sbom","scorecard":{"id":395402,"data":{"date":"2025-08-15T09:29:56Z","repo":{"name":"github.com/jshttp/negotiator","commit":"e377492f84df1f74f0fd1fd92e2c15c27ae4b98f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.7,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":3,"reason":"Found 9/24 approved changesets -- score normalized to 3","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/jshttp/negotiator/scorecards.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:29","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:52","Info:   7 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:67","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/ci.yml:68","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:32","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:33","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/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: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/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: 4 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/jshttp/.github/SECURITY.md:1","Info: Found linked content: github.com/jshttp/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/jshttp/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":6,"reason":"8 out of 12 merged PRs checked by a CI test -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 22 contributing companies or organizations","details":["Info: found contributions from: ExpressGateway, MusicMapIo, Netflix, Node-Ops, crypto-utils, expressjs, houzz, jshttp, koajs, migratejs, mysqljs, netflix, nodejs, outbox, pillarjs, pkgjs, pomelo games, pomelogames, repo-utils, restify, stream-utils, tapjs"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T18:52:24.170Z","repository_id":2315446,"created_at":"2025-08-18T18:52:24.171Z","updated_at":"2025-08-18T18:52:24.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281441016,"owners_count":26501758,"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-10-28T02:00:06.022Z","response_time":60,"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"},"owner_record":{"login":"jshttp","name":"jshttp","uuid":"8325802","kind":"organization","description":"Low-Level JavaScript HTTP-related Modules","email":null,"website":"https://jshttp.github.io/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8325802?v=4","repositories_count":29,"last_synced_at":"2024-04-16T08:37:30.344Z","metadata":{"has_sponsors_listing":false,"funding":{"open_collective":"express"}},"html_url":"https://github.com/jshttp","funding_links":["https://opencollective.com/express"],"total_stars":9089,"followers":163,"following":0,"created_at":"2022-11-02T16:18:51.300Z","updated_at":"2024-04-16T08:37:36.746Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshttp/repositories"},"tags":[{"name":"v0.6.4","sha":"9ee4e31fa72a5bf9378afa1ef13707276e540117","kind":"tag","published_at":"2024-10-19T03:20:21.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/v0.6.4","html_url":"https://github.com/jshttp/negotiator/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v0.6.4/manifests"},{"name":"v1.0.0","sha":"f808e27873670e11022220cbcb61a3eb2810dc01","kind":"commit","published_at":"2024-08-31T15:40:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/v1.0.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/v1.0.0/manifests"},{"name":"0.6.3","sha":"40a5acb0c878cca951bc44d1d9e2ab1f90ae813e","kind":"commit","published_at":"2022-01-23T01:33:26.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"99f418e11907b60e63f0addc09fc596ddc7be5be","kind":"commit","published_at":"2019-04-30T00:17:49.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.2","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"751c381c32707f238143cd65d78520e16f4ef9e5","kind":"commit","published_at":"2016-05-03T04:44:06.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.1","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"d904ca6a639487b4e27c009e33183570aae4e789","kind":"commit","published_at":"2015-09-30T01:10:31.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.6.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"cbb717b3f164f25820f90b160cda6d0166b9d922","kind":"commit","published_at":"2015-05-11T02:13:30.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"a317a47bcd5efadd0561b1f2da0a7e1bea09b8c2","kind":"commit","published_at":"2015-05-07T05:16:58.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.2","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"bfee971fe0503518cc93d1956518212203b7e68c","kind":"commit","published_at":"2015-02-15T01:44:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.1","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"79110a26fa939a77df65f8651a5d4d071f77a14a","kind":"commit","published_at":"2014-12-19T03:56:55.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.5.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.5.0/manifests"},{"name":"0.4.9","sha":"1e90abd710b662db80f1ea244e647cce3bd74504","kind":"commit","published_at":"2014-10-15T04:21:03.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.9","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.9/manifests"},{"name":"0.4.8","sha":"4b0bc3f2fec38a839556bd4674f79024929ba256","kind":"commit","published_at":"2014-09-28T21:41:58.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.8","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.8/manifests"},{"name":"0.4.7","sha":"074d3630e6c4a71f27bcf6e80757fc929f3ec97b","kind":"commit","published_at":"2014-06-24T22:31:41.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.7","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.7/manifests"},{"name":"0.4.6","sha":"6362263448f77e5ae06bf8d9a3588a1a4cba5e3f","kind":"commit","published_at":"2014-06-11T19:28:05.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.6","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.6/manifests"},{"name":"0.4.3","sha":"75b25bda65fbaefeb78c06d3861972c5af31868f","kind":"commit","published_at":"2014-04-16T14:10:46.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.4.3","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.4.3/manifests"},{"name":"0.3.0","sha":"b894c2009430605fe38eba811ec5aff59e517942","kind":"commit","published_at":"2013-10-18T20:11:57.000Z","download_url":"https://codeload.github.com/jshttp/negotiator/tar.gz/0.3.0","html_url":"https://github.com/jshttp/negotiator/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/jshttp/negotiator@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/tags/0.3.0/manifests"}]},"repo_metadata_updated_at":"2025-10-28T12:58:17.730Z","dependent_packages_count":3,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":31.979943940947386,"dependent_packages_count":16.90359006667295,"stargazers_count":15.914029409935335,"forks_count":18.353822107812352,"average":20.787846381342007},"purl":"pkg:maven/org.webjars.npm/negotiator","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/org.webjars.npm:negotiator","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/maven/org.webjars.npm:negotiator","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/org.webjars.npm:negotiator/dependencies","status":null,"funding_links":["https://opencollective.com/express"],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-01T08:03:32.113Z","issues_count":43,"pull_requests_count":50,"avg_time_to_close_issue":858436.303030303,"avg_time_to_close_pull_request":23610570.3,"issues_closed_count":33,"pull_requests_closed_count":40,"pull_request_authors_count":28,"issue_authors_count":36,"avg_comments_per_issue":3.7209302325581395,"avg_comments_per_pull_request":2.4,"merged_pull_requests_count":24,"bot_issues_count":0,"bot_pull_requests_count":5,"past_year_issues_count":5,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":52604.5,"past_year_avg_time_to_close_pull_request":3069428.6666666665,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.09090909090909091,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/issues","maintainers":[{"login":"wesleytodd","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wesleytodd"},{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"},{"login":"jonathanong","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jonathanong"},{"login":"dougwilson","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dougwilson"}],"active_maintainers":[{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:negotiator/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:negotiator/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:negotiator/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:negotiator/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:negotiator/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:negotiator/codemeta","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":606028,"maintainers_count":0,"namespaces_count":79339,"keywords_count":0,"github":"maven-central","metadata":{"funded_packages_count":39644},"icon_url":"https://github.com/maven-central.png","created_at":"2022-07-21T16:40:13.074Z","updated_at":"2026-04-03T06:29:38.544Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/namespaces"}},{"id":14338249,"name":"github.com/jshttp/negotiator","ecosystem":"go","description":null,"homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/jshttp/negotiator","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2024-10-19T03:20:21.000Z","latest_release_published_at":"2024-08-31T15:40:57.000Z","latest_release_number":"v1.0.0","last_synced_at":"2026-05-12T14:27:37.380Z","created_at":"2026-04-28T11:00:50.568Z","updated_at":"2026-05-12T14:27:37.380Z","registry_url":"https://pkg.go.dev/github.com/jshttp/negotiator","install_command":"go get github.com/jshttp/negotiator","documentation_url":"https://pkg.go.dev/github.com/jshttp/negotiator#section-documentation","metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-28T12:53:56.473Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.135177172859481,"dependent_packages_count":4.811484132117595,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":4.973330652488539},"purl":"pkg:golang/github.com/jshttp/negotiator","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/jshttp/negotiator","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/jshttp/negotiator","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/jshttp/negotiator/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fjshttp%2Fnegotiator/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fjshttp%2Fnegotiator/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fjshttp%2Fnegotiator/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fjshttp%2Fnegotiator/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fjshttp%2Fnegotiator/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fjshttp%2Fnegotiator/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2140190,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":236729,"full_name":"jshttp/negotiator","default_branch":"master","total_commits":292,"total_committers":22,"total_bot_commits":9,"total_bot_committers":1,"mean_commits":13.272727272727273,"dds":0.28767123287671237,"past_year_total_commits":13,"past_year_total_committers":3,"past_year_total_bot_commits":9,"past_year_total_bot_committers":1,"past_year_mean_commits":4.333333333333333,"past_year_dds":0.3076923076923077,"last_synced_at":"2026-05-12T13:20:49.361Z","last_synced_commit":"a690ff23c8a3b3f24ebc8643561487f02024fba7","created_at":"2023-03-08T09:46:49.704Z","updated_at":"2026-05-12T13:20:49.138Z","committers":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com","login":"dougwilson","count":208},{"name":"Federico Romero","email":"hi@federomero.uy","login":"federomero","count":34},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"Wes Todd","email":"wes@wesleytodd.com","login":"wesleytodd","count":6},{"name":"isaacs","email":"i@izs.me","login":"isaacs","count":6},{"name":"Jonathan Ong","email":"jonathanrichardong@gmail.com","login":"jonathanong","count":5},{"name":"Carlos Serrano","email":"carpasse@gmail.com","login":"carpasse","count":3},{"name":"Blake Embrey","email":"hello@blakeembrey.com","login":"blakeembrey","count":2},{"name":"John Deerhake","email":"jdeerhake@gmail.com","login":"jdeerhake","count":2},{"name":"Phillip Barta","email":"barta.phillip@gmail.com","login":"Phillip9587","count":2},{"name":"Ulises Gascón","email":"ulisesgascongonzalez@gmail.com","login":"UlisesGascon","count":2},{"name":"Ville Skyttä","email":"ville.skytta@iki.fi","login":"scop","count":2},{"name":"Wyatt Preul","email":"wpreul@gmail.com","login":"geek","count":2},{"name":"Andi Neck","email":"andi.neck@intesso.com","login":"andineck","count":1},{"name":"Christophe Hurpeau","email":"christophe@hurpeau.com","login":"christophehurpeau","count":1},{"name":"Daniel Cohen Gindi","email":"Danielgindi@gmail.com","login":"danielgindi","count":1},{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","login":"domenic","count":1},{"name":"Ethan Resnick","email":"ethan.resnick@gmail.com","login":"ethanresnick","count":1},{"name":"Nikhil Benesch","email":"nikhil.benesch@gmail.com","login":"benesch","count":1},{"name":"Ruben Verborgh","email":"ruben.verborgh@gmail.com","login":"RubenVerborgh","count":1},{"name":"Tobias Speicher","email":"rootcommander@gmail.com","login":"CommanderRoot","count":1},{"name":"nlf","email":"quitlahok@gmail.com","login":"nlf","count":1}],"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"Ulises Gascón","email":"ulisesgascongonzalez@gmail.com","login":"UlisesGascon","count":2},{"name":"Phillip Barta","email":"barta.phillip@gmail.com","login":"Phillip9587","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-16T00:00:17.015Z","repositories_count":6234907,"commits_count":894639211,"contributors_count":34908749,"owners_count":1153694,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"jshttp/negotiator","html_url":"https://github.com/jshttp/negotiator","last_synced_at":"2026-05-01T10:04:35.506Z","status":null,"issues_count":43,"pull_requests_count":61,"avg_time_to_close_issue":1197935.705882353,"avg_time_to_close_pull_request":20642870.673913043,"issues_closed_count":34,"pull_requests_closed_count":46,"pull_request_authors_count":31,"issue_authors_count":36,"avg_comments_per_issue":3.7674418604651163,"avg_comments_per_pull_request":1.9836065573770492,"merged_pull_requests_count":27,"bot_issues_count":0,"bot_pull_requests_count":13,"past_year_issues_count":2,"past_year_pull_requests_count":21,"past_year_avg_time_to_close_issue":6210964.5,"past_year_avg_time_to_close_pull_request":1595280.5555555555,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.09523809523809523,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":13,"past_year_merged_pull_requests_count":6,"created_at":"2023-05-16T14:18:39.801Z","updated_at":"2026-05-01T10:04:35.507Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshttp%2Fnegotiator/issues","issue_labels_count":{"table":{"bug":7,"question":5,"help wanted":3,"investigate":3,"enhancement":3,"awaiting more info":2,"invalid":1,"tests":1,"ideas":1,"discuss":1}},"pull_request_labels_count":{"table":{"pr":19,"dependencies":13,"github_actions":11,"enhancement":7,"fast track":5,"javascript":2,"tests":2,"bug":1,"ideas":1,"investigate":1,"wontfix":1,"docs":1}},"issue_author_associations_count":{"table":{"NONE":37,"CONTRIBUTOR":4,"MEMBER":2}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":30,"NONE":19,"MEMBER":12}},"issue_authors":{"table":{"AnyhowStep":3,"tj":3,"ethanresnick":3,"jonathanong":2,"kaganAhmetOkan":1,"cubitworx":1,"Phillip9587":1,"caridy":1,"therigu":1,"ivan-kovatchev":1,"guybedford":1,"NatalieWolfe":1,"kapouer":1,"moll":1,"CxRes":1,"LeoIannacone":1,"EverlyScott":1,"wraithgar":1,"MumiaIrrequieta":1,"gr0uch":1,"tewshi":1,"samuel871211":1,"jcrben":1,"tangye1234":1,"silentjohnny":1,"hansmalherbe":1,"s-ko-mo":1,"marr":1,"alanhogan":1,"nfroidure":1,"NoumanSaleem":1,"dretsa":1,"kevinprotoss":1,"isaacs":1,"zeronone":1,"brabster":1}},"pull_request_authors":{"table":{"dependabot[bot]":13,"wesleytodd":4,"carpasse":4,"UlisesGascon":4,"dougwilson":2,"Phillip9587":2,"jdeerhake":2,"ethanresnick":2,"CommanderRoot":2,"federomero":2,"danielgindi":2,"scop":2,"gmokki":2,"geek":1,"xaka":1,"marr":1,"isaacs":1,"nlf":1,"alanzabihi":1,"RubenVerborgh":1,"jonathanong":1,"benesch":1,"samadin-123":1,"shockie":1,"domenic":1,"andineck":1,"madbence":1,"christophehurpeau":1,"guybedford":1,"sheplu":1,"ahmadnassri":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-16T00:00:24.458Z","repositories_count":14616067,"issues_count":34235734,"pull_requests_count":112074489,"authors_count":11264002,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{"bug":2}},"past_year_pull_request_labels_count":{"table":{"dependencies":13,"github_actions":11,"fast track":5,"javascript":2}},"past_year_issue_author_associations_count":{"table":{"NONE":2}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":9,"NONE":7,"MEMBER":5}},"past_year_issue_authors":{"table":{"samuel871211":1,"tewshi":1}},"past_year_pull_request_authors":{"table":{"dependabot[bot]":13,"UlisesGascon":4,"alanzabihi":1,"Phillip9587":1,"samadin-123":1,"sheplu":1}},"maintainers":[{"table":{"login":"wesleytodd","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wesleytodd"}},{"table":{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"}},{"table":{"login":"jonathanong","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jonathanong"}},{"table":{"login":"dougwilson","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dougwilson"}},{"table":{"login":"sheplu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sheplu"}}],"active_maintainers":[{"table":{"login":"UlisesGascon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/UlisesGascon"}},{"table":{"login":"sheplu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sheplu"}}]}},"events":{"total":{"ReleaseEvent":2,"DeleteEvent":11,"PullRequestEvent":35,"ForkEvent":7,"IssuesEvent":4,"WatchEvent":52,"IssueCommentEvent":19,"PushEvent":8,"PullRequestReviewEvent":9,"CreateEvent":15},"last_year":{"DeleteEvent":9,"PullRequestEvent":34,"ForkEvent":3,"IssuesEvent":2,"WatchEvent":19,"IssueCommentEvent":8,"PushEvent":5,"PullRequestReviewEvent":9,"CreateEvent":13}},"keywords":["accept","accept-charset","accept-encoding","accept-language","http","javascript","nodejs"],"dependencies":[{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2022-09-08T12:21:57.703Z","updated_at":"2022-09-08T12:21:57.703Z","repository_link":"https://github.com/jshttp/negotiator/blob/master/package.json","dependencies":[{"id":4192808496,"package_name":"eslint","ecosystem":"npm","requirements":"7.32.0","direct":true,"kind":"development","optional":false},{"id":4192808497,"package_name":"eslint-plugin-markdown","ecosystem":"npm","requirements":"2.2.1","direct":true,"kind":"development","optional":false},{"id":4192808498,"package_name":"mocha","ecosystem":"npm","requirements":"9.1.3","direct":true,"kind":"development","optional":false},{"id":4192808499,"package_name":"nyc","ecosystem":"npm","requirements":"15.1.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T12:18:03.732Z","updated_at":"2024-06-18T12:18:03.732Z","repository_link":"https://github.com/jshttp/negotiator/blob/master/.github/workflows/ci.yml","dependencies":[{"id":18675664897,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18675664898,"package_name":"coverallsapp/github-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/scorecard.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T12:18:03.744Z","updated_at":"2024-06-18T12:18:03.744Z","repository_link":"https://github.com/jshttp/negotiator/blob/master/.github/workflows/scorecard.yml","dependencies":[{"id":18675664899,"package_name":"actions/checkout","ecosystem":"actions","requirements":"f43a0e5ff2bd294095638e18286ca9a3d1956744","direct":true,"kind":"composite","optional":false},{"id":18675664900,"package_name":"ossf/scorecard-action","ecosystem":"actions","requirements":"99c53751e09b9529366343771cc321ec74e9bd3d","direct":true,"kind":"composite","optional":false},{"id":18675664901,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"a8a3f3ad30e3422c9c7b888a15615d19a852ae32","direct":true,"kind":"composite","optional":false},{"id":18675664902,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"2f93e4319b2f04a2efc38fa7f78bd681bc3f7b2f","direct":true,"kind":"composite","optional":false}]}],"score":32.52691891739797,"created_at":"2026-05-14T11:33:26.422Z","updated_at":"2026-05-17T13:30:20.335Z","avatar_url":"https://github.com/jshttp.png","language":"JavaScript","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/373022","html_url":"https://summary.ecosyste.ms/projects/373022"}