{"id":372014,"url":"https://github.com/http-party/node-portfinder","last_synced_at":"2026-05-17T07:00:55.680Z","repository":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-11-21T21:38:03.000Z","size":496,"stargazers_count":898,"open_issues_count":5,"forks_count":100,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-05-13T15:40:33.411Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2026-05-11T08:05:10.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33130240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T06:27:06.342Z","status":"ssl_error","status_checked_at":"2026-05-17T06:26:59.432Z","response_time":107,"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"}},"owner":{"login":"http-party","name":"http ... PARTY!","uuid":"10845406","kind":"organization","description":"Who says networking can't be fun?","email":null,"website":null,"location":"Worldwide","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/10845406?v=4","repositories_count":4,"last_synced_at":"2024-03-25T19:37:23.557Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/http-party","funding_links":[],"total_stars":27864,"followers":64,"following":0,"created_at":"2022-11-02T16:19:15.109Z","updated_at":"2024-03-25T19:37:28.002Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party/repositories"},"packages":[{"id":2182273,"name":"portfinder","ecosystem":"npm","description":"A simple tool to find an open port on the current machine","homepage":"https://github.com/http-party/node-portfinder#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/http-party/node-portfinder","keywords_array":["http","ports","utilities"],"namespace":null,"versions_count":44,"first_release_published_at":"2011-07-08T19:30:31.474Z","latest_release_published_at":"2025-09-12T07:38:42.587Z","latest_release_number":"1.0.38","last_synced_at":"2026-05-16T16:01:20.155Z","created_at":"2022-04-09T22:08:55.888Z","updated_at":"2026-05-16T16:01:20.156Z","registry_url":"https://www.npmjs.com/package/portfinder","install_command":"npm install portfinder","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.38"}},"repo_metadata":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-11-21T21:38:03.000Z","size":496,"stargazers_count":897,"open_issues_count":5,"forks_count":100,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-04-24T23:33:08.869Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2026-04-15T23:33:20.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32288399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T06:26:00.361Z","status":"ssl_error","status_checked_at":"2026-04-26T06:25:58.791Z","response_time":129,"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-07T11:55:45.636Z","dependent_packages_count":8122,"downloads":52123559,"downloads_period":"last-month","dependent_repos_count":2600263,"rankings":{"downloads":0.04692902382154486,"dependent_repos_count":0.00909010263054428,"dependent_packages_count":0.011828085350587736,"stargazers_count":2.4756292158088935,"forks_count":2.971423940325103,"docker_downloads_count":0.038824594970216224,"average":0.9256208271511482},"purl":"pkg:npm/portfinder","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/portfinder","docker_dependents_count":7062,"docker_downloads_count":3181259903,"usage_url":"https://repos.ecosyste.ms/usage/npm/portfinder","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/portfinder/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-11-22T00:03:03.248Z","issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","maintainers":[{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"},{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder/codemeta","maintainers":[{"uuid":"indexzero","login":"indexzero","name":null,"email":"charlie.robbins@gmail.com","url":null,"packages_count":281,"html_url":"https://www.npmjs.com/~indexzero","role":null,"created_at":"2022-11-13T20:36:40.853Z","updated_at":"2022-11-13T20:36:40.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/indexzero/packages"},{"uuid":"eriktrom","login":"eriktrom","name":null,"email":"erik.trom.github@gmail.com","url":null,"packages_count":5,"html_url":"https://www.npmjs.com/~eriktrom","role":null,"created_at":"2022-11-13T20:36:41.388Z","updated_at":"2022-11-13T20:36:41.388Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/eriktrom/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5622264,"maintainers_count":1192639,"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":5003960,"name":"org.webjars.npm:portfinder","ecosystem":"maven","description":"WebJar for portfinder","homepage":"https://www.webjars.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/http-party/node-portfinder","keywords_array":[],"namespace":"org.webjars.npm","versions_count":5,"first_release_published_at":"2015-07-28T20:28:42.000Z","latest_release_published_at":"2024-04-12T11:22:13.000Z","latest_release_number":"1.0.32","last_synced_at":"2026-05-13T15:28:35.530Z","created_at":"2022-07-27T11:05:54.570Z","updated_at":"2026-05-13T15:28:35.530Z","registry_url":"https://central.sonatype.com/artifact/org.webjars.npm/portfinder/","install_command":null,"documentation_url":"https://appdoc.app/artifact/org.webjars.npm/portfinder/","metadata":{"repositories":["https://repo.maven.apache.org/maven2"]},"repo_metadata":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-09-12T07:19:39.000Z","size":460,"stargazers_count":897,"open_issues_count":4,"forks_count":99,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-09-27T05:57:30.938Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2025-09-25T13:21:36.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277261216,"owners_count":25788578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"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":"http-party","name":"http ... PARTY!","uuid":"10845406","kind":"organization","description":"Who says networking can't be fun?","email":null,"website":null,"location":"Worldwide","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/10845406?v=4","repositories_count":4,"last_synced_at":"2024-03-25T19:37:23.557Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/http-party","funding_links":[],"total_stars":27864,"followers":64,"following":0,"created_at":"2022-11-02T16:19:15.109Z","updated_at":"2024-03-25T19:37:28.002Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-12-13T15:17:42.519Z","dependent_packages_count":5,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":31.979943940947386,"dependent_packages_count":11.044877338218269,"stargazers_count":null,"forks_count":null,"average":21.51241063958283},"purl":"pkg:maven/org.webjars.npm/portfinder","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/org.webjars.npm:portfinder","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/maven/org.webjars.npm:portfinder","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/org.webjars.npm:portfinder/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-12T13:02:56.844Z","issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","maintainers":[{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"},{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}],"active_maintainers":[{"login":"eriktrom","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:portfinder/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:portfinder/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:portfinder/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:portfinder/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:portfinder/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.webjars.npm:portfinder/codemeta","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":606284,"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":12096246,"name":"org.mvnpm:portfinder","ecosystem":"maven","description":"A simple tool to find an open port on the current machine","homepage":"https://github.com/http-party/node-portfinder#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/http-party/node-portfinder","keywords_array":[],"namespace":"org.mvnpm","versions_count":5,"first_release_published_at":"2025-03-19T06:40:07.000Z","latest_release_published_at":"2025-09-12T08:07:15.000Z","latest_release_number":"1.0.38","last_synced_at":"2026-05-13T15:28:36.014Z","created_at":"2025-09-12T08:17:49.380Z","updated_at":"2026-05-13T15:28:36.014Z","registry_url":"https://central.sonatype.com/artifact/org.mvnpm/portfinder/","install_command":null,"documentation_url":"https://appdoc.app/artifact/org.mvnpm/portfinder/","metadata":{"repositories":["https://repo.maven.apache.org/maven2"]},"repo_metadata":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-09-12T07:19:39.000Z","size":460,"stargazers_count":897,"open_issues_count":4,"forks_count":99,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-09-27T05:57:30.938Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2025-09-25T13:21:36.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277261216,"owners_count":25788578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"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"},"tags":[]},"repo_metadata_updated_at":"2025-12-13T15:17:42.520Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":32.09060646113736,"dependent_packages_count":45.87774781965249,"stargazers_count":12.978278651276925,"forks_count":19.457602472053075,"docker_downloads_count":null,"average":27.601058851029965},"purl":"pkg:maven/org.mvnpm/portfinder","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/org.mvnpm:portfinder","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/maven/org.mvnpm:portfinder","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/org.mvnpm:portfinder/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-12T13:02:56.844Z","issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","maintainers":[{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"},{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}],"active_maintainers":[{"login":"eriktrom","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.mvnpm:portfinder/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.mvnpm:portfinder/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.mvnpm:portfinder/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.mvnpm:portfinder/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.mvnpm:portfinder/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.mvnpm:portfinder/codemeta","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":606284,"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":14015571,"name":"@depup/portfinder","ecosystem":"npm","description":"[DepUp] A simple tool to find an open port on the current machine","homepage":"https://github.com/http-party/node-portfinder#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/http-party/node-portfinder","keywords_array":["depup","dependency-bumped","updated-deps","portfinder","http","ports","utilities"],"namespace":"depup","versions_count":1,"first_release_published_at":"2026-03-09T05:17:00.792Z","latest_release_published_at":"2026-03-09T05:17:00.792Z","latest_release_number":"1.0.38-depup.0","last_synced_at":"2026-05-13T15:28:36.187Z","created_at":"2026-03-09T05:20:12.806Z","updated_at":"2026-05-13T15:28:36.187Z","registry_url":"https://www.npmjs.com/package/@depup/portfinder","install_command":"npm install @depup/portfinder","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.38-depup.0"}},"repo_metadata":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-11-21T21:38:03.000Z","size":496,"stargazers_count":897,"open_issues_count":5,"forks_count":100,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-04-24T23:33:08.869Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2026-04-15T23:33:20.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32288399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T06:26:00.361Z","status":"ssl_error","status_checked_at":"2026-04-26T06:25:58.791Z","response_time":129,"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-07T16:52:46.474Z","dependent_packages_count":0,"downloads":16,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":22.530291758948266,"dependent_packages_count":32.47518316932033,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.5027374641343},"purl":"pkg:npm/%40depup/portfinder","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@depup/portfinder","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@depup/portfinder","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@depup/portfinder/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-11-22T00:03:03.248Z","issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","maintainers":[{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"},{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}],"active_maintainers":[{"login":"eriktrom","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fportfinder/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fportfinder/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fportfinder/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fportfinder/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fportfinder/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@depup%2Fportfinder/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-09T05:20:13.794Z","updated_at":"2026-03-09T05:20:13.794Z","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":5622264,"maintainers_count":1192639,"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":5139329,"name":"alta-portfinder","ecosystem":"npm","description":"A simple tool to find an open port on the current machine","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/http-party/node-portfinder","keywords_array":["http","ports","utilities"],"namespace":null,"versions_count":2,"first_release_published_at":"2022-08-07T02:23:18.771Z","latest_release_published_at":"2022-08-07T02:29:52.392Z","latest_release_number":"1.0.30","last_synced_at":"2026-05-13T15:28:37.749Z","created_at":"2022-08-07T02:33:23.634Z","updated_at":"2026-05-13T15:28:37.749Z","registry_url":"https://www.npmjs.com/package/alta-portfinder","install_command":"npm install alta-portfinder","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.30"}},"repo_metadata":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-11-21T21:38:03.000Z","size":496,"stargazers_count":897,"open_issues_count":5,"forks_count":100,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-04-24T23:33:08.869Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2026-04-15T23:33:20.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32288399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T06:26:00.361Z","status":"ssl_error","status_checked_at":"2026-04-26T06:25:58.791Z","response_time":129,"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-13T15:28:36.831Z","dependent_packages_count":2,"downloads":8,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":45.749638265770436,"dependent_repos_count":25.30552159382132,"dependent_packages_count":16.219766897652278,"stargazers_count":3.2681705914127024,"forks_count":3.8362337169127216,"average":18.87586621311389},"purl":"pkg:npm/alta-portfinder","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/alta-portfinder","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/alta-portfinder","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/alta-portfinder/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-12T13:02:56.844Z","issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","maintainers":[{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"},{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}],"active_maintainers":[{"login":"eriktrom","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/alta-portfinder/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/alta-portfinder/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/alta-portfinder/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/alta-portfinder/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/alta-portfinder/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/alta-portfinder/codemeta","maintainers":[{"uuid":"jonluca","login":"jonluca","name":null,"email":"jonluca.decaro@gmail.com","url":null,"packages_count":72,"html_url":"https://www.npmjs.com/~jonluca","role":null,"created_at":"2022-11-11T00:22:39.687Z","updated_at":"2022-11-11T00:22:39.687Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/jonluca/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5622264,"maintainers_count":1192639,"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":10106977,"name":"portfinder-cp","ecosystem":"npm","description":"A simple tool to find an open port on the current machine","homepage":"https://github.com/http-party/node-portfinder#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/http-party/node-portfinder","keywords_array":["http","ports","utilities"],"namespace":null,"versions_count":3,"first_release_published_at":"2024-05-24T00:40:55.085Z","latest_release_published_at":"2024-05-24T12:28:50.147Z","latest_release_number":"1.0.34","last_synced_at":"2026-05-13T15:28:37.833Z","created_at":"2024-05-24T11:00:22.882Z","updated_at":"2026-05-13T15:28:37.833Z","registry_url":"https://www.npmjs.com/package/portfinder-cp","install_command":"npm install portfinder-cp","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.34"}},"repo_metadata":{"id":38326216,"uuid":"2018652","full_name":"http-party/node-portfinder","owner":"http-party","description":"A simple tool to find an open port or domain socket on the current machine","archived":false,"fork":false,"pushed_at":"2025-11-21T21:38:03.000Z","size":496,"stargazers_count":897,"open_issues_count":5,"forks_count":100,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-04-24T23:33:08.869Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/http-party/node-portfinder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-07-08T16:15:01.000Z","updated_at":"2026-04-15T23:33:20.000Z","dependencies_parsed_at":"2024-06-18T11:09:31.517Z","dependency_job_id":"ea461984-586b-4b9a-9daf-fee2f1e09f9d","html_url":"https://github.com/http-party/node-portfinder","commit_stats":{"total_commits":165,"total_committers":37,"mean_commits":4.45945945945946,"dds":0.7272727272727273,"last_synced_commit":"123a06f8028288a0f196cef4bf1346f818a8cd73"},"previous_names":["indexzero/node-portfinder"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/http-party/node-portfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http-party","download_url":"https://codeload.github.com/http-party/node-portfinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/sbom","scorecard":{"id":471228,"data":{"date":"2025-08-11","repo":{"name":"github.com/http-party/node-portfinder","commit":"f317e117a458f9bcc40043977133141b1d888f5e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 12/18 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/http-party/node-portfinder/ci.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:60","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:56:17.511Z","repository_id":38326216,"created_at":"2025-08-19T13:56:17.511Z","updated_at":"2025-08-19T13:56:17.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32288399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T06:26:00.361Z","status":"ssl_error","status_checked_at":"2026-04-26T06:25:58.791Z","response_time":129,"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-13T15:28:36.864Z","dependent_packages_count":0,"downloads":472,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":28.67124368638263,"dependent_packages_count":41.67499361561098,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":35.173118650996805},"purl":"pkg:npm/portfinder-cp","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/portfinder-cp","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/portfinder-cp","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/portfinder-cp/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-11-22T00:03:03.248Z","issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","maintainers":[{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"},{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}],"active_maintainers":[{"login":"eriktrom","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder-cp/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder-cp/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder-cp/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder-cp/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder-cp/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/portfinder-cp/codemeta","maintainers":[{"uuid":"cocktailpeanut","login":"cocktailpeanut","name":null,"email":"cocktailpeanuts@proton.me","url":null,"packages_count":52,"html_url":"https://www.npmjs.com/~cocktailpeanut","role":null,"created_at":"2024-05-24T11:01:41.170Z","updated_at":"2024-05-24T11:01:41.170Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/cocktailpeanut/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5622264,"maintainers_count":1192639,"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"}}],"commits":{"id":12924,"full_name":"http-party/node-portfinder","default_branch":"master","total_commits":197,"total_committers":38,"total_bot_commits":3,"total_bot_committers":1,"mean_commits":5.184210526315789,"dds":0.5736040609137056,"past_year_total_commits":2,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.5,"last_synced_at":"2026-05-15T06:01:18.624Z","last_synced_commit":"072d5fd4af07a9bb855d7eca8955d745c827c6fb","created_at":"2023-03-07T11:21:37.716Z","updated_at":"2026-05-15T06:00:56.753Z","committers":[{"name":"Erik Trom","email":"erik.trom@gmail.com","login":"eriktrom","count":84},{"name":"Matthew Peveler","email":"matt.peveler@gmail.com","login":"MasterOdin","count":25},{"name":"indexzero","email":"charlie.robbins@gmail.com","login":"indexzero","count":20},{"name":"Roman Jurkov","email":"winfinit@gmail.com","login":"winfinit","count":13},{"name":"Julien CROUZET","email":"contact@juliencrouzet.fr","login":"jucrouzet","count":6},{"name":"wholock","email":"prithviraj.m.billa@gmail.com","login":"Prithvirajbilla","count":5},{"name":"dcharbonnier","email":"d.charbonnier@oxys.net","login":"dcharbonnier","count":3},{"name":"kayakyakr","email":"kayakyakr@gmail.com","login":"kayakyakr","count":3},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":3},{"name":"Ashcon Partovi","email":"ashcon@partovi.net","login":"Electroid","count":2},{"name":"Juan Julián Merelo Guervós","email":"jjmerelo@gmail.com","login":"JJ","count":2},{"name":"Maciej Małecki","email":"maciej.malecki@notimplemented.org","login":"mmalecki","count":2},{"name":"Nik Polyakov","email":"db.debudda.db@gmail.com","login":"ni-kit","count":2},{"name":"chyzwar","email":"schizek.marcin@gmail.com","login":"chyzwar","count":2},{"name":"charlierudolph","email":"charles.rudolph@originate.com","login":null,"count":2},{"name":"Krzysztof Kwiatkowski","email":"krzysztof.kwiatkowski@allegro.pl","login":null,"count":1},{"name":"E̵̘̳̘̝ṃ̟͈͙̗̹͘i͖͇ḷ͚͔̱̰̠y͜ ̩̲͕R̮̜͓̫o͉̣̦̘̖̖ͅs̫̣͜e̼͖̹̩͉͉͠","email":"emily@contactvibe.com","login":null,"count":1},{"name":"2kjiejie","email":"821208217@qq.com","login":"2kjiejie","count":1},{"name":"Adrian Marte","email":"112816+Pwndrian","login":"Pwndrian","count":1},{"name":"sifan","email":"718662552@qq.com","login":"xiaofan9","count":1},{"name":"hong-jen kao","email":"cadeskao@gmail.com","login":"cades","count":1},{"name":"Tom Sullivan","email":"tom@msbit.com.au","login":"msbit","count":1},{"name":"Tom Hughes","email":"tom@compton.nu","login":"tomhughes","count":1},{"name":"Tim Perry","email":"pimterry@gmail.com","login":"pimterry","count":1},{"name":"Thomas Bouldin","email":"thomas.bouldin@gmail.com","login":"inlined","count":1},{"name":"Remo Hertig","email":"remo.hertig@bluewin.ch","login":"nairboon","count":1},{"name":"Kyle VanderBeek","email":"kylev@kylev.com","login":"kylev","count":1},{"name":"Kyle Mitchell","email":"kyle@kemitchell.com","login":"kemitchell","count":1},{"name":"Kyle Kelley","email":"rgbkrk@gmail.com","login":"rgbkrk","count":1},{"name":"Krzysztof Kwiatkowski","email":"kwiatkk1@gmail.com","login":"kwiatkk1","count":1},{"name":"JonLuca DeCaro","email":"jonluca.decaro@gmail.com","login":"jonluca","count":1},{"name":"Horacio Gonzalez","email":"horacio.gonzalez@gmail.com","login":"LostInBrittany","count":1},{"name":"David Laird","email":"kiwiupover@gmail.com","login":"kiwiupover","count":1},{"name":"Daniel Guettler","email":"daniel.guettler@gmail.com","login":"dguettler","count":1},{"name":"Bruno Gaspar","email":"brunofgaspar1@gmail.com","login":"brunogaspar","count":1},{"name":"Brad Harris","email":"bmharris@gmail.com","login":"selfcontained","count":1},{"name":"Basarat Ali Syed","email":"basaratali@gmail.com","login":"basarat","count":1},{"name":"Alessandro Vergani","email":"alessandro.vergani@gmail.com","login":"Loghorn","count":1}],"past_year_committers":[{"name":"Matthew Peveler","email":"mpeveler@tigerdata.com","login":"MasterOdin","count":1},{"name":"Erik Trom","email":"eriktrom","login":"eriktrom","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-16T00:00:17.015Z","repositories_count":6235300,"commits_count":884575746,"contributors_count":34906861,"owners_count":1153928,"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":"http-party/node-portfinder","html_url":"https://github.com/http-party/node-portfinder","last_synced_at":"2025-11-22T00:03:03.248Z","status":null,"issues_count":60,"pull_requests_count":98,"avg_time_to_close_issue":14519910.44642857,"avg_time_to_close_pull_request":8169238.46875,"issues_closed_count":56,"pull_requests_closed_count":96,"pull_request_authors_count":32,"issue_authors_count":45,"avg_comments_per_issue":3.316666666666667,"avg_comments_per_pull_request":2.1530612244897958,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":11,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":1080044.5555555555,"past_year_avg_time_to_close_pull_request":495288.25,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4545454545454546,"past_year_avg_comments_per_pull_request":1.1842105263157896,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":30,"created_at":"2023-05-16T15:34:06.986Z","updated_at":"2025-11-22T00:03:03.249Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/http-party%2Fnode-portfinder/issues","issue_labels_count":{"table":{"good first issue":5,"meta":4,"docs":3,"dependencies":1,"security":1,"high-priority":1}},"pull_request_labels_count":{"table":{"dependencies":9,"npm publish ready":1,"Add to changelog":1}},"issue_author_associations_count":{"table":{"NONE":39,"MEMBER":13,"CONTRIBUTOR":7,"COLLABORATOR":1}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":69,"MEMBER":20,"NONE":9}},"issue_authors":{"table":{"eriktrom":13,"MasterOdin":4,"houfeng0923":1,"AndreaMontalbani":1,"PeterWone":1,"fubai":1,"aminya":1,"sla89":1,"yuchenshi":1,"pnemade":1,"HeroicEric":1,"axfelix":1,"blackram":1,"lovetingyuan":1,"wenner":1,"rodrigoyoshida":1,"murilobd":1,"LostInBrittany":1,"YounGoat":1,"TingYinHelen":1,"GabrielDelepine":1,"amardeokar23":1,"chergott":1,"tiagosiebler":1,"AxelTerizaki":1,"BillyCottrell":1,"indexzero":1,"nemeseri":1,"Hypnosphi":1,"leekafai":1,"liesislukas":1,"enflag":1,"BarthesSimpson":1,"Hishengs":1,"fryorcraken":1,"stefanocudini":1,"ibc":1,"Prithvirajbilla":1,"dharmax":1,"jelhan":1,"gaggle":1,"arielhad":1,"alexander-akait":1,"danlynn":1,"TimothyAsirJeyasing":1}},"pull_request_authors":{"table":{"MasterOdin":33,"eriktrom":20,"dependabot[bot]":9,"BarthesSimpson":4,"jonluca":2,"Prithvirajbilla":2,"Electroid":2,"kwiatkk1":2,"pimterry":1,"sla89":1,"2kjiejie":1,"chyzwar":1,"JJ":1,"Octalbyte":1,"inlined":1,"lopopolo":1,"LostInBrittany":1,"rgbkrk":1,"yumetodo":1,"aminya":1,"ni-kit":1,"tomhughes":1,"crashbell":1,"awinder":1,"jucrouzet":1,"dingyi1993":1,"xiaofan9":1,"kylev":1,"Pwndrian":1,"openhoat":1,"brunogaspar":1,"msbit":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-13T00:00:11.310Z","repositories_count":14585969,"issues_count":34294428,"pull_requests_count":112198679,"authors_count":11260637,"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":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":1}},"past_year_issue_authors":{"table":{"blackram":1}},"past_year_pull_request_authors":{"table":{"MasterOdin":1}},"maintainers":[{"table":{"login":"eriktrom","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eriktrom"}},{"table":{"login":"indexzero","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indexzero"}}],"active_maintainers":[]}},"events":{"total":{"ReleaseEvent":7,"DeleteEvent":16,"PullRequestEvent":45,"ForkEvent":4,"IssuesEvent":19,"WatchEvent":19,"IssueCommentEvent":47,"PushEvent":29,"PullRequestReviewEvent":32,"PullRequestReviewCommentEvent":33,"CreateEvent":14},"last_year":{"ReleaseEvent":1,"PullRequestEvent":4,"ForkEvent":1,"IssuesEvent":1,"WatchEvent":8,"PushEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"npm","filepath":"package-lock.json","sha":null,"kind":"lockfile","created_at":"2022-08-09T03:00:44.146Z","updated_at":"2022-08-09T03:00:44.146Z","repository_link":"https://github.com/http-party/node-portfinder/blob/master/package-lock.json","dependencies":[{"id":726411960,"package_name":"async","ecosystem":"npm","requirements":"2.6.4","direct":false,"kind":"runtime","optional":false},{"id":726411961,"package_name":"balanced-match","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":726411962,"package_name":"brace-expansion","ecosystem":"npm","requirements":"1.1.11","direct":false,"kind":"development","optional":false},{"id":726411963,"package_name":"concat-map","ecosystem":"npm","requirements":"0.0.1","direct":false,"kind":"development","optional":false},{"id":726411964,"package_name":"debug","ecosystem":"npm","requirements":"3.2.7","direct":false,"kind":"runtime","optional":false},{"id":726411965,"package_name":"diff","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"development","optional":false},{"id":726411966,"package_name":"eyes","ecosystem":"npm","requirements":"0.1.8","direct":false,"kind":"development","optional":false},{"id":726411967,"package_name":"fs.realpath","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":726411968,"package_name":"glob","ecosystem":"npm","requirements":"7.1.4","direct":false,"kind":"development","optional":false},{"id":726411969,"package_name":"inflight","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":726411970,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":726411971,"package_name":"lodash","ecosystem":"npm","requirements":"4.17.21","direct":false,"kind":"runtime","optional":false},{"id":726411972,"package_name":"minimatch","ecosystem":"npm","requirements":"3.0.4","direct":false,"kind":"development","optional":false},{"id":726411973,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.6","direct":false,"kind":"runtime","optional":false},{"id":726411974,"package_name":"mkdirp","ecosystem":"npm","requirements":"0.5.6","direct":false,"kind":"runtime","optional":false},{"id":726411975,"package_name":"ms","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":726411976,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":726411977,"package_name":"path-is-absolute","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":726411978,"package_name":"vows","ecosystem":"npm","requirements":"0.8.3","direct":false,"kind":"development","optional":false},{"id":726411979,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2022-08-09T03:00:44.386Z","updated_at":"2022-08-09T03:00:44.386Z","repository_link":"https://github.com/http-party/node-portfinder/blob/master/package.json","dependencies":[{"id":726417161,"package_name":"async","ecosystem":"npm","requirements":"^2.6.4","direct":true,"kind":"runtime","optional":false},{"id":726417162,"package_name":"debug","ecosystem":"npm","requirements":"^3.2.7","direct":true,"kind":"runtime","optional":false},{"id":726417163,"package_name":"mkdirp","ecosystem":"npm","requirements":"^0.5.6","direct":true,"kind":"runtime","optional":false},{"id":726417164,"package_name":"vows","ecosystem":"npm","requirements":"^0.8.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-02-08T06:31:11.864Z","updated_at":"2023-02-08T06:31:11.864Z","repository_link":"https://github.com/http-party/node-portfinder/blob/master/.github/workflows/ci.yml","dependencies":[{"id":7442568787,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7442568788,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]}],"score":32.34091236912532,"created_at":"2026-05-14T05:03:58.617Z","updated_at":"2026-05-17T07:00:55.690Z","avatar_url":"https://github.com/http-party.png","language":"JavaScript","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/372014","html_url":"https://summary.ecosyste.ms/projects/372014"}