{"id":5862,"name":"hydro","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","url":"https://github.com/hydro-dev/hydro","last_synced_at":"2025-09-04T18:50:05.580Z","repository":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2025-08-23T12:45:53.000Z","size":19564,"stargazers_count":5536,"open_issues_count":27,"forks_count":399,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-23T19:14:52.002Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2025-08-23T14:38:47.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3782,"total_committers":45,"mean_commits":84.04444444444445,"dds":"0.27657324167107356","last_synced_commit":"28e9bea06cb505cab41177ad822f5b74cd9aeaff"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/Hydro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/sbom","scorecard":{"id":164437,"data":{"date":"2025-08-11","repo":{"name":"github.com/hydro-dev/Hydro","commit":"1c7b2275ff18d5adfef1cdef1d9ed051b5f76bce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.6,"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":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Warn: no topLevel permission defined: .github/workflows/codeql.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":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm to mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm@sha256:2baa40a4eef3ac5b42d53acddaca3aac2e47bc30c54788f6fe299dbc5da83262","Warn: containerImage not pinned by hash: install/docker/backend/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: containerImage not pinned by hash: install/docker/judge/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: downloadThenRun not pinned by hash: install/install.sh:16","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (5) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:25:24.167Z","repository_id":37935362,"created_at":"2025-08-16T14:25:24.167Z","updated_at":"2025-08-16T14:25:24.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273656877,"owners_count":25145002,"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-04T02:00:08.968Z","response_time":61,"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":{"login":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"packages":[{"id":1033359,"name":"@limorton/hydrojudge","ecosystem":"npm","description":null,"homepage":null,"licenses":"AGPL-3.0-only","normalized_licenses":["AGPL-3.0-only"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":"limorton","versions_count":2,"first_release_published_at":"2021-06-09T03:08:26.933Z","latest_release_published_at":"2021-06-09T09:08:31.047Z","latest_release_number":"2.5.2-dev","last_synced_at":"2025-08-23T21:57:28.899Z","created_at":"2022-04-07T19:45:53.189Z","updated_at":"2025-08-23T21:57:28.899Z","registry_url":"https://www.npmjs.com/package/@limorton/hydrojudge","install_command":"npm install @limorton/hydrojudge","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"2.5.2-dev"}},"repo_metadata":{"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2023-12-17T14:34:43.000Z","size":15260,"stargazers_count":2296,"open_issues_count":17,"forks_count":228,"subscribers_count":19,"default_branch":"master","last_synced_at":"2023-12-17T20:59:11.742Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2023-12-17T09:13:27.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3219,"total_committers":34,"mean_commits":94.67647058823529,"dds":"0.29822926374650516","last_synced_commit":"10e6e893c54388d986ea1f2895e3e452a9df97f7"},"previous_names":[],"tags_count":0,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":176799120,"owners_count":10450894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":8,"last_synced_at":"2023-03-06T02:21:01.400Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","created_at":"2022-11-16T03:01:30.137Z","updated_at":"2023-03-06T02:21:01.419Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[]},"repo_metadata_updated_at":"2023-12-17T20:59:24.577Z","dependent_packages_count":1,"downloads":0,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":40.03317130195296,"dependent_repos_count":25.32799796580169,"dependent_packages_count":16.223928578504864,"stargazers_count":2.902539402386824,"forks_count":2.9882549920407775,"average":17.495178448137423},"purl":"pkg:npm/%40limorton/hydrojudge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@limorton/hydrojudge","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@limorton/hydrojudge","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@limorton/hydrojudge/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2023-12-17T20:59:22.852Z","issues_count":123,"pull_requests_count":262,"avg_time_to_close_issue":1046601.0571428571,"avg_time_to_close_pull_request":775587.5365853659,"issues_closed_count":105,"pull_requests_closed_count":246,"pull_request_authors_count":22,"issue_authors_count":44,"avg_comments_per_issue":1.3902439024390243,"avg_comments_per_pull_request":0.5038167938931297,"merged_pull_requests_count":200,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":118,"past_year_pull_requests_count":262,"past_year_avg_time_to_close_issue":712763.7378640777,"past_year_avg_time_to_close_pull_request":775587.5365853659,"past_year_issues_closed_count":103,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":22,"past_year_issue_authors_count":41,"past_year_avg_comments_per_issue":1.271186440677966,"past_year_avg_comments_per_pull_request":0.5038167938931297,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":200,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues"},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@limorton%2Fhydrojudge/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@limorton%2Fhydrojudge/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@limorton%2Fhydrojudge/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@limorton%2Fhydrojudge/related_packages","maintainers":[{"uuid":"limorton","login":"limorton","name":null,"email":"1352976585@qq.com","url":null,"packages_count":1,"html_url":"https://www.npmjs.com/~limorton","role":null,"created_at":"2022-11-20T18:47:36.938Z","updated_at":"2022-11-20T18:47:36.938Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/limorton/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":982394,"name":"@hydrooj/syzoj-ng-api","ecosystem":"npm","description":"A syzoj-ng API interface","homepage":null,"licenses":"AGPL-3.0.only","normalized_licenses":["Other"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":"hydrooj","versions_count":3,"first_release_published_at":"2020-12-06T14:48:24.688Z","latest_release_published_at":"2021-03-15T16:09:13.693Z","latest_release_number":"0.0.2","last_synced_at":"2025-08-23T21:57:29.075Z","created_at":"2022-04-07T18:27:15.004Z","updated_at":"2025-08-23T21:57:29.076Z","registry_url":"https://www.npmjs.com/package/@hydrooj/syzoj-ng-api","install_command":"npm install @hydrooj/syzoj-ng-api","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.0.2","dev":"0.0.2-dev"}},"repo_metadata":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2024-08-31T13:13:15.000Z","size":16135,"stargazers_count":3668,"open_issues_count":22,"forks_count":296,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-09-06T12:09:19.416Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2024-09-06T11:43:52.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3681,"total_committers":44,"mean_commits":83.6590909090909,"dds":"0.28334691659875033","last_synced_commit":"57f6e9e243b11016a6c9c15ef873a691c483411f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217781781,"owners_count":16229413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[]},"repo_metadata_updated_at":"2024-09-06T12:22:43.713Z","dependent_packages_count":2,"downloads":36,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":37.249016373683894,"dependent_repos_count":25.32799796580169,"dependent_packages_count":9.4821380216761,"stargazers_count":2.902539402386824,"forks_count":2.9882549920407775,"average":15.589989351117856},"purl":"pkg:npm/%40hydrooj/syzoj-ng-api","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@hydrooj/syzoj-ng-api","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@hydrooj/syzoj-ng-api","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@hydrooj/syzoj-ng-api/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-04T21:14:16.811Z","issues_count":205,"pull_requests_count":367,"avg_time_to_close_issue":1344025.2625698324,"avg_time_to_close_pull_request":908908.8583815029,"issues_closed_count":179,"pull_requests_closed_count":346,"pull_request_authors_count":34,"issue_authors_count":73,"avg_comments_per_issue":1.2829268292682927,"avg_comments_per_pull_request":0.553133514986376,"merged_pull_requests_count":279,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":90,"past_year_pull_requests_count":143,"past_year_avg_time_to_close_issue":744753.8734177215,"past_year_avg_time_to_close_pull_request":297258.2835820895,"past_year_issues_closed_count":79,"past_year_pull_requests_closed_count":134,"past_year_pull_request_authors_count":25,"past_year_issue_authors_count":41,"past_year_avg_comments_per_issue":1.0333333333333332,"past_year_avg_comments_per_pull_request":0.6013986013986014,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":102,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","maintainers":[{"login":"pandadtdyy","count":220,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"pandadtdyy","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fsyzoj-ng-api/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fsyzoj-ng-api/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fsyzoj-ng-api/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fsyzoj-ng-api/related_packages","maintainers":[{"uuid":"pandadtdyy","login":"pandadtdyy","name":null,"email":"panda_dtdyy@outlook.com","url":null,"packages_count":50,"html_url":"https://www.npmjs.com/~pandadtdyy","role":null,"created_at":"2022-12-14T21:42:41.276Z","updated_at":"2022-12-14T21:42:41.276Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/pandadtdyy/packages"},{"uuid":"undefinedmoe","login":"undefinedmoe","name":null,"email":"i@undefined.moe","url":null,"packages_count":53,"html_url":"https://www.npmjs.com/~undefinedmoe","role":null,"created_at":"2022-12-14T21:42:41.258Z","updated_at":"2022-12-14T21:42:41.258Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/undefinedmoe/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":982373,"name":"@hydrooj/html2md","ecosystem":"npm","description":"turn html into markdown","homepage":null,"licenses":"AGPL-3.0-only","normalized_licenses":["AGPL-3.0-only"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":"hydrooj","versions_count":3,"first_release_published_at":"2020-09-01T15:33:03.354Z","latest_release_published_at":"2020-09-04T04:53:18.617Z","latest_release_number":"1.0.2","last_synced_at":"2025-08-23T21:57:29.967Z","created_at":"2022-04-07T18:27:12.181Z","updated_at":"2025-08-23T22:37:57.079Z","registry_url":"https://www.npmjs.com/package/@hydrooj/html2md","install_command":"npm install @hydrooj/html2md","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.2"}},"repo_metadata":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2025-08-23T12:45:53.000Z","size":19564,"stargazers_count":5536,"open_issues_count":27,"forks_count":399,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-23T19:14:52.002Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2025-08-23T14:38:47.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3782,"total_committers":45,"mean_commits":84.04444444444445,"dds":"0.27657324167107356","last_synced_commit":"28e9bea06cb505cab41177ad822f5b74cd9aeaff"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/Hydro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/sbom","scorecard":{"id":164437,"data":{"date":"2025-08-11","repo":{"name":"github.com/hydro-dev/Hydro","commit":"1c7b2275ff18d5adfef1cdef1d9ed051b5f76bce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.6,"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":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Warn: no topLevel permission defined: .github/workflows/codeql.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":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm to mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm@sha256:2baa40a4eef3ac5b42d53acddaca3aac2e47bc30c54788f6fe299dbc5da83262","Warn: containerImage not pinned by hash: install/docker/backend/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: containerImage not pinned by hash: install/docker/judge/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: downloadThenRun not pinned by hash: install/install.sh:16","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (5) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:25:24.167Z","repository_id":37935362,"created_at":"2025-08-16T14:25:24.167Z","updated_at":"2025-08-16T14:25:24.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271770519,"owners_count":24817646,"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-08-23T02:00:09.327Z","response_time":69,"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":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[{"name":"5.0.0-beta.0","sha":"d46de63264da5f2be78495656558512b297ca41f","kind":"commit","published_at":"2025-04-12T18:10:10.000Z","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/5.0.0-beta.0","html_url":"https://github.com/hydro-dev/Hydro/releases/tag/5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/hydro-dev/Hydro@5.0.0-beta.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T22:37:57.078Z","dependent_packages_count":2,"downloads":3,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":41.71134362760962,"dependent_repos_count":25.32799796580169,"dependent_packages_count":9.4821380216761,"stargazers_count":2.902539402386824,"forks_count":2.9882549920407775,"average":16.482454801903003},"purl":"pkg:npm/%40hydrooj/html2md","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@hydrooj/html2md","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@hydrooj/html2md","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@hydrooj/html2md/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-16T15:49:53.082Z","issues_count":202,"pull_requests_count":324,"avg_time_to_close_issue":2280924.5,"avg_time_to_close_pull_request":1191536.7699680512,"issues_closed_count":184,"pull_requests_closed_count":313,"pull_request_authors_count":45,"issue_authors_count":111,"avg_comments_per_issue":1.400990099009901,"avg_comments_per_pull_request":0.7808641975308642,"merged_pull_requests_count":240,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":77,"past_year_pull_requests_count":73,"past_year_avg_time_to_close_issue":1272546.9253731344,"past_year_avg_time_to_close_pull_request":707583.9705882353,"past_year_issues_closed_count":67,"past_year_pull_requests_closed_count":68,"past_year_pull_request_authors_count":19,"past_year_issue_authors_count":47,"past_year_avg_comments_per_issue":1.077922077922078,"past_year_avg_comments_per_pull_request":1.3013698630136985,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":52,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","maintainers":[{"login":"pandadtdyy","count":158,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"undefined-moe","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"},{"login":"pandadtdyy","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fhtml2md/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fhtml2md/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fhtml2md/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fhtml2md/related_packages","maintainers":[{"uuid":"pandadtdyy","login":"pandadtdyy","name":null,"email":"panda_dtdyy@outlook.com","url":null,"packages_count":50,"html_url":"https://www.npmjs.com/~pandadtdyy","role":null,"created_at":"2022-12-14T21:42:41.503Z","updated_at":"2022-12-14T21:42:41.503Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/pandadtdyy/packages"},{"uuid":"undefinedmoe","login":"undefinedmoe","name":null,"email":"i@undefined.moe","url":null,"packages_count":53,"html_url":"https://www.npmjs.com/~undefinedmoe","role":null,"created_at":"2022-12-14T21:42:41.488Z","updated_at":"2022-12-14T21:42:41.488Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/undefinedmoe/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":11118531,"name":"@cn_ryh/hydrooj-dev-ui-default","ecosystem":"npm","description":"Based on Vijos-UI-Framework","homepage":"https://github.com/hydro-dev/Hydro#readme","licenses":"AGPL-3.0","normalized_licenses":["AGPL-3.0"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":"cn_ryh","versions_count":2,"first_release_published_at":"2024-12-06T11:52:16.094Z","latest_release_published_at":"2024-12-06T11:56:19.404Z","latest_release_number":"0.0.2","last_synced_at":"2025-08-23T21:57:29.835Z","created_at":"2024-12-06T13:07:07.338Z","updated_at":"2025-08-23T22:37:57.082Z","registry_url":"https://www.npmjs.com/package/@cn_ryh/hydrooj-dev-ui-default","install_command":"npm install @cn_ryh/hydrooj-dev-ui-default","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.0.2"}},"repo_metadata":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2025-08-23T12:45:53.000Z","size":19564,"stargazers_count":5536,"open_issues_count":27,"forks_count":399,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-23T19:14:52.002Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2025-08-23T14:38:47.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3782,"total_committers":45,"mean_commits":84.04444444444445,"dds":"0.27657324167107356","last_synced_commit":"28e9bea06cb505cab41177ad822f5b74cd9aeaff"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/Hydro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/sbom","scorecard":{"id":164437,"data":{"date":"2025-08-11","repo":{"name":"github.com/hydro-dev/Hydro","commit":"1c7b2275ff18d5adfef1cdef1d9ed051b5f76bce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.6,"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":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Warn: no topLevel permission defined: .github/workflows/codeql.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":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm to mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm@sha256:2baa40a4eef3ac5b42d53acddaca3aac2e47bc30c54788f6fe299dbc5da83262","Warn: containerImage not pinned by hash: install/docker/backend/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: containerImage not pinned by hash: install/docker/judge/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: downloadThenRun not pinned by hash: install/install.sh:16","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (5) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:25:24.167Z","repository_id":37935362,"created_at":"2025-08-16T14:25:24.167Z","updated_at":"2025-08-16T14:25:24.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271770519,"owners_count":24817646,"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-08-23T02:00:09.327Z","response_time":69,"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":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[{"name":"5.0.0-beta.0","sha":"d46de63264da5f2be78495656558512b297ca41f","kind":"commit","published_at":"2025-04-12T18:10:10.000Z","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/5.0.0-beta.0","html_url":"https://github.com/hydro-dev/Hydro/releases/tag/5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/hydro-dev/Hydro@5.0.0-beta.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T22:37:57.082Z","dependent_packages_count":0,"downloads":2,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":25.445677685613145,"dependent_packages_count":36.834324449043955,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":31.140001067328548},"purl":"pkg:npm/%40cn_ryh/hydrooj-dev-ui-default","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@cn_ryh/hydrooj-dev-ui-default","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@cn_ryh/hydrooj-dev-ui-default","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@cn_ryh/hydrooj-dev-ui-default/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-16T15:49:53.082Z","issues_count":202,"pull_requests_count":324,"avg_time_to_close_issue":2280924.5,"avg_time_to_close_pull_request":1191536.7699680512,"issues_closed_count":184,"pull_requests_closed_count":313,"pull_request_authors_count":45,"issue_authors_count":111,"avg_comments_per_issue":1.400990099009901,"avg_comments_per_pull_request":0.7808641975308642,"merged_pull_requests_count":240,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":77,"past_year_pull_requests_count":73,"past_year_avg_time_to_close_issue":1272546.9253731344,"past_year_avg_time_to_close_pull_request":707583.9705882353,"past_year_issues_closed_count":67,"past_year_pull_requests_closed_count":68,"past_year_pull_request_authors_count":19,"past_year_issue_authors_count":47,"past_year_avg_comments_per_issue":1.077922077922078,"past_year_avg_comments_per_pull_request":1.3013698630136985,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":52,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","maintainers":[{"login":"pandadtdyy","count":158,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"undefined-moe","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"},{"login":"pandadtdyy","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@cn_ryh%2Fhydrooj-dev-ui-default/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@cn_ryh%2Fhydrooj-dev-ui-default/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@cn_ryh%2Fhydrooj-dev-ui-default/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@cn_ryh%2Fhydrooj-dev-ui-default/related_packages","maintainers":[{"uuid":"cn_ryh","login":"cn_ryh","name":null,"email":"15543677192@163.com","url":null,"packages_count":1,"html_url":"https://www.npmjs.com/~cn_ryh","role":null,"created_at":"2024-12-06T13:12:12.366Z","updated_at":"2024-12-06T13:12:12.366Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/cn_ryh/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":982381,"name":"@hydrooj/live2d","ecosystem":"npm","description":null,"homepage":null,"licenses":"AGPL-3.0-or-later","normalized_licenses":["AGPL-3.0-or-later"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":"hydrooj","versions_count":1,"first_release_published_at":"2021-06-20T05:17:20.528Z","latest_release_published_at":"2021-06-20T05:17:20.528Z","latest_release_number":"0.0.9","last_synced_at":"2024-11-30T01:37:09.658Z","created_at":"2022-04-07T18:27:12.814Z","updated_at":"2025-08-23T22:37:57.081Z","registry_url":"https://www.npmjs.com/package/@hydrooj/live2d","install_command":"npm install @hydrooj/live2d","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.0.9"}},"repo_metadata":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2025-08-23T12:45:53.000Z","size":19564,"stargazers_count":5536,"open_issues_count":27,"forks_count":399,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-23T19:14:52.002Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2025-08-23T14:38:47.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3782,"total_committers":45,"mean_commits":84.04444444444445,"dds":"0.27657324167107356","last_synced_commit":"28e9bea06cb505cab41177ad822f5b74cd9aeaff"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/Hydro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/sbom","scorecard":{"id":164437,"data":{"date":"2025-08-11","repo":{"name":"github.com/hydro-dev/Hydro","commit":"1c7b2275ff18d5adfef1cdef1d9ed051b5f76bce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.6,"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":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Warn: no topLevel permission defined: .github/workflows/codeql.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":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm to mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm@sha256:2baa40a4eef3ac5b42d53acddaca3aac2e47bc30c54788f6fe299dbc5da83262","Warn: containerImage not pinned by hash: install/docker/backend/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: containerImage not pinned by hash: install/docker/judge/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: downloadThenRun not pinned by hash: install/install.sh:16","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (5) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:25:24.167Z","repository_id":37935362,"created_at":"2025-08-16T14:25:24.167Z","updated_at":"2025-08-16T14:25:24.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271770519,"owners_count":24817646,"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-08-23T02:00:09.327Z","response_time":69,"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":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[{"name":"5.0.0-beta.0","sha":"d46de63264da5f2be78495656558512b297ca41f","kind":"commit","published_at":"2025-04-12T18:10:10.000Z","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/5.0.0-beta.0","html_url":"https://github.com/hydro-dev/Hydro/releases/tag/5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/hydro-dev/Hydro@5.0.0-beta.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T22:37:57.081Z","dependent_packages_count":2,"downloads":3,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":43.5886015547087,"dependent_repos_count":25.32799796580169,"dependent_packages_count":9.4821380216761,"stargazers_count":2.902539402386824,"forks_count":2.9882549920407775,"average":16.85790638732282},"purl":"pkg:npm/%40hydrooj/live2d","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@hydrooj/live2d","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@hydrooj/live2d","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@hydrooj/live2d/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-16T15:49:53.082Z","issues_count":202,"pull_requests_count":324,"avg_time_to_close_issue":2280924.5,"avg_time_to_close_pull_request":1191536.7699680512,"issues_closed_count":184,"pull_requests_closed_count":313,"pull_request_authors_count":45,"issue_authors_count":111,"avg_comments_per_issue":1.400990099009901,"avg_comments_per_pull_request":0.7808641975308642,"merged_pull_requests_count":240,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":77,"past_year_pull_requests_count":73,"past_year_avg_time_to_close_issue":1272546.9253731344,"past_year_avg_time_to_close_pull_request":707583.9705882353,"past_year_issues_closed_count":67,"past_year_pull_requests_closed_count":68,"past_year_pull_request_authors_count":19,"past_year_issue_authors_count":47,"past_year_avg_comments_per_issue":1.077922077922078,"past_year_avg_comments_per_pull_request":1.3013698630136985,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":52,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","maintainers":[{"login":"pandadtdyy","count":158,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"undefined-moe","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"},{"login":"pandadtdyy","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Flive2d/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Flive2d/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Flive2d/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Flive2d/related_packages","maintainers":[{"uuid":"pandadtdyy","login":"pandadtdyy","name":null,"email":"panda_dtdyy@outlook.com","url":null,"packages_count":50,"html_url":"https://www.npmjs.com/~pandadtdyy","role":null,"created_at":"2022-12-14T21:42:40.236Z","updated_at":"2022-12-14T21:42:40.236Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/pandadtdyy/packages"},{"uuid":"undefinedmoe","login":"undefinedmoe","name":null,"email":"i@undefined.moe","url":null,"packages_count":53,"html_url":"https://www.npmjs.com/~undefinedmoe","role":null,"created_at":"2022-12-14T21:42:40.222Z","updated_at":"2022-12-14T21:42:40.222Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/undefinedmoe/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":2013358,"name":"migrate-syzoj-user","ecosystem":"npm","description":"这个模块用于从HustOJ的数据库导入数据。","homepage":"https://github.com/hydro-dev/Hydro","licenses":"AGPL-3.0-or-later","normalized_licenses":["AGPL-3.0-or-later"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2021-08-03T10:41:33.992Z","latest_release_published_at":"2021-08-03T10:41:33.992Z","latest_release_number":"0.0.2","last_synced_at":"2024-11-30T11:22:24.806Z","created_at":"2022-04-09T19:36:50.650Z","updated_at":"2025-08-23T22:37:57.078Z","registry_url":"https://www.npmjs.com/package/migrate-syzoj-user","install_command":"npm install migrate-syzoj-user","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.0.2"}},"repo_metadata":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2025-08-23T12:45:53.000Z","size":19564,"stargazers_count":5536,"open_issues_count":27,"forks_count":399,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-23T19:14:52.002Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2025-08-23T14:38:47.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3782,"total_committers":45,"mean_commits":84.04444444444445,"dds":"0.27657324167107356","last_synced_commit":"28e9bea06cb505cab41177ad822f5b74cd9aeaff"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/Hydro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/sbom","scorecard":{"id":164437,"data":{"date":"2025-08-11","repo":{"name":"github.com/hydro-dev/Hydro","commit":"1c7b2275ff18d5adfef1cdef1d9ed051b5f76bce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.6,"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":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Warn: no topLevel permission defined: .github/workflows/codeql.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":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm to mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm@sha256:2baa40a4eef3ac5b42d53acddaca3aac2e47bc30c54788f6fe299dbc5da83262","Warn: containerImage not pinned by hash: install/docker/backend/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: containerImage not pinned by hash: install/docker/judge/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: downloadThenRun not pinned by hash: install/install.sh:16","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (5) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:25:24.167Z","repository_id":37935362,"created_at":"2025-08-16T14:25:24.167Z","updated_at":"2025-08-16T14:25:24.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271770519,"owners_count":24817646,"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-08-23T02:00:09.327Z","response_time":69,"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":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[{"name":"5.0.0-beta.0","sha":"d46de63264da5f2be78495656558512b297ca41f","kind":"commit","published_at":"2025-04-12T18:10:10.000Z","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/5.0.0-beta.0","html_url":"https://github.com/hydro-dev/Hydro/releases/tag/5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/hydro-dev/Hydro@5.0.0-beta.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T22:37:57.078Z","dependent_packages_count":2,"downloads":1,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":51.222151958299555,"dependent_repos_count":25.32799796580169,"dependent_packages_count":9.4821380216761,"stargazers_count":2.907058030218358,"forks_count":2.9882549920407775,"average":18.3855201936073},"purl":"pkg:npm/migrate-syzoj-user","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/migrate-syzoj-user","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/migrate-syzoj-user","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/migrate-syzoj-user/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-16T15:49:53.082Z","issues_count":202,"pull_requests_count":324,"avg_time_to_close_issue":2280924.5,"avg_time_to_close_pull_request":1191536.7699680512,"issues_closed_count":184,"pull_requests_closed_count":313,"pull_request_authors_count":45,"issue_authors_count":111,"avg_comments_per_issue":1.400990099009901,"avg_comments_per_pull_request":0.7808641975308642,"merged_pull_requests_count":240,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":77,"past_year_pull_requests_count":73,"past_year_avg_time_to_close_issue":1272546.9253731344,"past_year_avg_time_to_close_pull_request":707583.9705882353,"past_year_issues_closed_count":67,"past_year_pull_requests_closed_count":68,"past_year_pull_request_authors_count":19,"past_year_issue_authors_count":47,"past_year_avg_comments_per_issue":1.077922077922078,"past_year_avg_comments_per_pull_request":1.3013698630136985,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":52,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","maintainers":[{"login":"pandadtdyy","count":158,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"undefined-moe","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"},{"login":"pandadtdyy","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/migrate-syzoj-user/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/migrate-syzoj-user/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/migrate-syzoj-user/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/migrate-syzoj-user/related_packages","maintainers":[{"uuid":"liyanqwq","login":"liyanqwq","name":null,"email":"liyanqwq@duianit.cn","url":null,"packages_count":5,"html_url":"https://www.npmjs.com/~liyanqwq","role":null,"created_at":"2022-11-13T07:10:12.524Z","updated_at":"2022-11-13T07:10:12.524Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/liyanqwq/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":982371,"name":"@hydrooj/better-search","ecosystem":"npm","description":"Enhance Problem Search","homepage":null,"licenses":"AGPL-3.0-only","normalized_licenses":["AGPL-3.0-only"],"repository_url":"https://github.com/hydro-dev/Hydro","keywords_array":[],"namespace":"hydrooj","versions_count":4,"first_release_published_at":"2020-09-06T04:12:32.278Z","latest_release_published_at":"2021-04-04T04:44:33.776Z","latest_release_number":"1.0.3","last_synced_at":"2025-08-23T21:57:29.414Z","created_at":"2022-04-07T18:27:12.176Z","updated_at":"2025-08-23T22:37:57.078Z","registry_url":"https://www.npmjs.com/package/@hydrooj/better-search","install_command":"npm install @hydrooj/better-search","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"1.0.3","dev":"1.0.3-dev"}},"repo_metadata":{"id":37935362,"uuid":"252140224","full_name":"hydro-dev/Hydro","owner":"hydro-dev","description":"Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)","archived":false,"fork":false,"pushed_at":"2025-08-23T12:45:53.000Z","size":19564,"stargazers_count":5536,"open_issues_count":27,"forks_count":399,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-23T19:14:52.002Z","etag":null,"topics":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"latest_commit_sha":null,"homepage":"https://hydro.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["undefined-moe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pay.undefined.moe"]}},"created_at":"2020-04-01T10:14:19.000Z","updated_at":"2025-08-23T14:38:47.000Z","dependencies_parsed_at":"2023-09-24T03:17:10.356Z","dependency_job_id":"52593093-5257-48ca-b9a6-5efb71015a71","html_url":"https://github.com/hydro-dev/Hydro","commit_stats":{"total_commits":3782,"total_committers":45,"mean_commits":84.04444444444445,"dds":"0.27657324167107356","last_synced_commit":"28e9bea06cb505cab41177ad822f5b74cd9aeaff"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/Hydro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/sbom","scorecard":{"id":164437,"data":{"date":"2025-08-11","repo":{"name":"github.com/hydro-dev/Hydro","commit":"1c7b2275ff18d5adfef1cdef1d9ed051b5f76bce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.6,"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":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Warn: no topLevel permission defined: .github/workflows/codeql.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":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hydro-dev/Hydro/codeql.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm to mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm@sha256:2baa40a4eef3ac5b42d53acddaca3aac2e47bc30c54788f6fe299dbc5da83262","Warn: containerImage not pinned by hash: install/docker/backend/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: containerImage not pinned by hash: install/docker/judge/Dockerfile:1: pin your Docker image by updating node:20 to node:20@sha256:572a90df10a58ebb7d3f223d661d964a6c2383a9c2b5763162b4f631c53dc56a","Warn: downloadThenRun not pinned by hash: install/install.sh:16","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (5) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:25:24.167Z","repository_id":37935362,"created_at":"2025-08-16T14:25:24.167Z","updated_at":"2025-08-16T14:25:24.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271770519,"owners_count":24817646,"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-08-23T02:00:09.327Z","response_time":69,"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":"hydro-dev","name":"Hydro Online Judge Develop Team","uuid":"49672635","kind":"organization","description":"","email":"i@undefined.moe","website":"https://hydro.ac/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49672635?v=4","repositories_count":24,"last_synced_at":"2024-04-28T01:15:54.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hydro-dev","funding_links":[],"total_stars":2979,"followers":49,"following":0,"created_at":"2022-11-16T03:01:30.137Z","updated_at":"2024-04-28T01:15:57.179Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev/repositories"},"tags":[{"name":"5.0.0-beta.0","sha":"d46de63264da5f2be78495656558512b297ca41f","kind":"commit","published_at":"2025-04-12T18:10:10.000Z","download_url":"https://codeload.github.com/hydro-dev/Hydro/tar.gz/5.0.0-beta.0","html_url":"https://github.com/hydro-dev/Hydro/releases/tag/5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/hydro-dev/Hydro@5.0.0-beta.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/tags/5.0.0-beta.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T22:37:57.078Z","dependent_packages_count":2,"downloads":35,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":36.06644332314033,"dependent_repos_count":25.32799796580169,"dependent_packages_count":9.4821380216761,"stargazers_count":2.902539402386824,"forks_count":2.9882549920407775,"average":15.353474741009142},"purl":"pkg:npm/%40hydrooj/better-search","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@hydrooj/better-search","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@hydrooj/better-search","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@hydrooj/better-search/dependencies","status":null,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-16T15:49:53.082Z","issues_count":202,"pull_requests_count":324,"avg_time_to_close_issue":2280924.5,"avg_time_to_close_pull_request":1191536.7699680512,"issues_closed_count":184,"pull_requests_closed_count":313,"pull_request_authors_count":45,"issue_authors_count":111,"avg_comments_per_issue":1.400990099009901,"avg_comments_per_pull_request":0.7808641975308642,"merged_pull_requests_count":240,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":77,"past_year_pull_requests_count":73,"past_year_avg_time_to_close_issue":1272546.9253731344,"past_year_avg_time_to_close_pull_request":707583.9705882353,"past_year_issues_closed_count":67,"past_year_pull_requests_closed_count":68,"past_year_pull_request_authors_count":19,"past_year_issue_authors_count":47,"past_year_avg_comments_per_issue":1.077922077922078,"past_year_avg_comments_per_pull_request":1.3013698630136985,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":52,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","maintainers":[{"login":"pandadtdyy","count":158,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"undefined-moe","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"},{"login":"pandadtdyy","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fbetter-search/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fbetter-search/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fbetter-search/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@hydrooj%2Fbetter-search/related_packages","maintainers":[{"uuid":"pandadtdyy","login":"pandadtdyy","name":null,"email":"panda_dtdyy@outlook.com","url":null,"packages_count":50,"html_url":"https://www.npmjs.com/~pandadtdyy","role":null,"created_at":"2022-12-14T21:42:40.392Z","updated_at":"2022-12-14T21:42:40.392Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/pandadtdyy/packages"},{"uuid":"undefinedmoe","login":"undefinedmoe","name":null,"email":"i@undefined.moe","url":null,"packages_count":53,"html_url":"https://www.npmjs.com/~undefinedmoe","role":null,"created_at":"2022-12-14T21:42:40.379Z","updated_at":"2022-12-14T21:42:40.379Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/undefinedmoe/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5130204,"maintainers_count":1051317,"namespaces_count":313133,"keywords_count":729662,"github":"npm","metadata":{"funded_packages_count":155690},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-09-04T06:49:01.052Z","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":66610,"full_name":"hydro-dev/Hydro","default_branch":"master","committers":[{"name":"undefined","email":"i@undefined.moe","login":"undefined-moe","count":3693},{"name":"panda","email":"panda_dtdyy@outlook.com","login":"pandadtdyy","count":229},{"name":"Yang Gao","email":"6821729+criyle","login":"criyle","count":23},{"name":"无限UCW","email":"45730483+wuxianucw","login":"wuxianucw","count":23},{"name":"Macesuted","email":"57275149+Macesuted","login":"Macesuted","count":11},{"name":"allcontributors[bot]","email":"46447321+allcontributors[bot]","login":"allcontributors[bot]","count":8},{"name":"guke1024","email":"46668943+guke1024","login":"guke1024","count":8},{"name":"Baoshuo","email":"i@baoshuo.ren","login":"renbaoshuo","count":8},{"name":"Milmon","email":"115549630@qq.com","login":"Molmin","count":7},{"name":"Junu Kwon","email":"junukwon7@gmail.com","login":"junukwon7","count":5},{"name":"Taoning Ge","email":"i@gtn1024.me","login":"gtn1024","count":4},{"name":"snyk-bot","email":"snyk-bot@snyk.io","login":"snyk-bot","count":3},{"name":"Rratic","email":"73381027+Rratic","login":"Rratic","count":3},{"name":"BATTLEHAWK","email":"154075059@qq.com","login":"BATTLEHAWK00","count":3},{"name":"AgOH","email":"50107074+StableAgOH","login":"StableAgOH","count":2},{"name":"Godtokoo","email":"79078025+Godtokoo666","login":"Godtokoo666","count":2},{"name":"Langning Chen","email":"chenlangning2009@outlook.com","login":"langningchen","count":2},{"name":"LaoShui","email":"79132480+laoshuikaixue","login":"laoshuikaixue","count":2},{"name":"Nerlci Chen","email":"nerlci.underline@outlook.com","login":"Nerlci","count":2},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2},{"name":"imgbot[bot]","email":"31301654+imgbot[bot]","login":"imgbot[bot]","count":2},{"name":"汪心禾 Wang, Xinhe","email":"wangxinhe06@gmail.com","login":"wxh06","count":2},{"name":"zhoupb12313","email":"49674520+zhoupb12313","login":"zhoupb12313","count":1},{"name":"yzx_28","email":"95169501+yzx-28","login":"yzx-28","count":1},{"name":"smallfang","email":"59567465+smallfangqwq","login":"smallfangqwq","count":1},{"name":"remmymilkyway","email":"94217071+remmymilkyway","login":"remmymilkyway","count":1},{"name":"nr0728","email":"88932464+nr0728","login":"nr0728","count":1},{"name":"lijunhao2023","email":"60656888+ELEVENStudio-Main","login":"ELEVENStudio-Main","count":1},{"name":"lgtm-com[bot]","email":"43144390+lgtm-com[bot]","login":"lgtm-com[bot]","count":1},{"name":"fossabot","email":"badges@fossa.io","login":"fossabot","count":1},{"name":"chengguanglc","email":"163853543+chengguanglc","login":"chengguanglc","count":1},{"name":"Rei","email":"lhh@live.com","login":"ReiAccept","count":1},{"name":"MiaoTony","email":"41962043+miaotony","login":"miaotony","count":1},{"name":"Linshu Yang","email":"46046648+yanglinshu","login":"yanglinshu","count":1},{"name":"LYkcul","email":"pandaliu0812@163.com","login":"LYkcul","count":1},{"name":"KunoiSayami","email":"46131041+KunoiSayami","login":"KunoiSayami","count":1},{"name":"Jorylee","email":"53945377+joryQuark","login":"joryQuark","count":1},{"name":"HetmesAskalana","email":"60427521+HetmesAskalana","login":"HetmesAskalana","count":1},{"name":"CAI WENZHE","email":"caiwenzhe2021@gmail.com","login":"dextercai","count":1},{"name":"Bowen 404","email":"ali12333@126.com","login":"15921483570","count":1},{"name":"AsakuraMizu","email":"0xWATERx0@gmail.com","login":"AsakuraMizu","count":1}],"total_commits":4063,"total_committers":41,"total_bot_commits":13,"total_bot_committers":4,"mean_commits":99.09756097560975,"dds":0.09106571498892446,"past_year_committers":[{"name":"undefined","email":"i@undefined.moe","login":"undefined-moe","count":448},{"name":"panda","email":"panda_dtdyy@outlook.com","login":"pandadtdyy","count":14},{"name":"Baoshuo","email":"i@baoshuo.ren","login":"renbaoshuo","count":6},{"name":"Yang Gao","email":"6821729+criyle","login":"criyle","count":5},{"name":"Milmon","email":"115549630@qq.com","login":"Molmin","count":2},{"name":"Langning Chen","email":"chenlangning2009@outlook.com","login":"langningchen","count":2},{"name":"Godtokoo","email":"79078025+Godtokoo666","login":"Godtokoo666","count":2},{"name":"nr0728","email":"88932464+nr0728","login":"nr0728","count":1},{"name":"imgbot[bot]","email":"31301654+imgbot[bot]","login":"imgbot[bot]","count":1},{"name":"Taoning Ge","email":"gtn1024@foxmail.com","login":"gtn1024","count":1},{"name":"MiaoTony","email":"41962043+miaotony","login":"miaotony","count":1},{"name":"HetmesAskalana","email":"60427521+HetmesAskalana","login":"HetmesAskalana","count":1}],"past_year_total_commits":484,"past_year_total_committers":12,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":40.333333333333336,"past_year_dds":0.07438016528925617,"last_synced_at":"2025-06-21T13:01:20.126Z","last_synced_commit":"6b691a264139db728d8f2cf2921474c90bb39a4d","created_at":"2023-03-07T19:05:14.047Z","updated_at":"2025-06-21T13:01:20.168Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"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_stats":{"full_name":"hydro-dev/Hydro","html_url":"https://github.com/hydro-dev/Hydro","last_synced_at":"2025-08-31T11:03:12.635Z","status":null,"issues_count":205,"pull_requests_count":379,"avg_time_to_close_issue":2436982.0508474577,"avg_time_to_close_pull_request":1359231.549132948,"issues_closed_count":177,"pull_requests_closed_count":346,"pull_request_authors_count":49,"issue_authors_count":110,"avg_comments_per_issue":1.2292682926829268,"avg_comments_per_pull_request":0.8179419525065963,"merged_pull_requests_count":264,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":74,"past_year_pull_requests_count":128,"past_year_avg_time_to_close_issue":1238097.2222222222,"past_year_avg_time_to_close_pull_request":826336.8585858586,"past_year_issues_closed_count":54,"past_year_pull_requests_closed_count":99,"past_year_pull_request_authors_count":24,"past_year_issue_authors_count":45,"past_year_avg_comments_per_issue":0.6216216216216216,"past_year_avg_comments_per_pull_request":1.109375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":77,"created_at":"2023-05-18T10:24:41.449Z","updated_at":"2025-09-03T06:14:25.017Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2FHydro/issues","issue_labels_count":{"invalid":5,"need discussion":4,"duplicate":3,"enhancement":2,"wontfix":1,"need more info":1,"feature request":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":187,"CONTRIBUTOR":17,"MEMBER":1},"pull_request_author_associations_count":{"MEMBER":277,"CONTRIBUTOR":127,"NONE":69},"issue_authors":{"toprise":15,"Yerosius":10,"stong12345":8,"Molmin":7,"wood3":6,"laoshuikaixue":6,"Lixuannan":5,"guosoun":5,"riverstore":4,"HeRaNO":4,"fearlessxjdx":4,"Follow-wind5":3,"criyle":3,"Xbraves":3,"xcx0902":3,"immccn123":3,"nr0728":3,"yviscool":3,"LYkcul":3,"BlackPanda24":2,"orangezsclite":2,"FelixYu2021202":2,"topdevst":2,"Hongshi0622":2,"Godtokoo666":2,"luocixi":2,"zryoung":2,"RimuruChan":2,"highertq":2,"gi-b716":2,"ShorterTuxedo":2,"Rickyxrc":2,"liaojiqing2012":2,"gtn1024":2,"Lotuses-robot":1,"air-adteam":1,"ptsq-bot":1,"NWater23":1,"shine-yu-student":1,"kikikkiikk":1,"smallfangqwq":1,"HelkeNarmo":1,"CodingCow1":1,"Kenny0521":1,"TheSoundOfWA":1,"hehelego":1,"hetao6899411":1,"zongltd":1,"iamPorter":1,"cn-ryh":1,"tjc1216":1,"ioi-ak-dajuruo888":1,"Eletary":1,"typed-sigterm":1,"Shunpower":1,"Taiga-A":1,"kerocate":1,"hin1n":1,"Rayminn":1,"Leabox":1,"dailinyang":1,"RonenWen":1,"klarkxy":1,"NacJackson":1,"yanyunwu":1,"XiaoGeNintendo":1,"Xiuyuan121":1,"chenhaoyang2008":1,"chengguanglc":1,"RyaninChina11":1,"youyu":1,"brotherYoung":1,"18111958981":1,"Lord-scheme":1,"hm66666":1,"Lirzh":1,"HShiDianLu":1,"qwedc001":1,"Delovue":1,"L-time":1,"crcdlixx":1,"Eternity-Sky":1,"kouxin":1,"OnceGzsJAY":1,"Shiroiame-Kusu":1,"myhaooo":1,"pt3155420267":1,"xby0058":1,"saihaze":1,"AutumnKite":1,"BetterOIer":1,"netEternity":1,"Manical-David":1,"cqzym1985":1,"nldtz":1,"undefined-moe":1,"StupidQu":1,"1eagle":1,"HeiGiMTK":1,"langningchen":1,"15921483570":1,"mcoi-dev":1,"YANGRENRUIYRR":1,"caibyte":1,"yaoxi-std":1,"tabbbbbb":1,"Kibiandkimi":1,"zjx-kimi":1,"bigmiaocat":1,"yao-jz":1,"Rratic":1},"pull_request_authors":{"pandadtdyy":206,"undefined-moe":71,"criyle":35,"Molmin":19,"renbaoshuo":19,"bhscer":9,"laoshuikaixue":9,"StupidQu":8,"LYkcul":7,"gtn1024":7,"air-adteam":6,"langningchen":4,"smallfangqwq":4,"nr0728":4,"Winlere":4,"035966-L3":4,"HetmesAskalana":3,"Rratic":3,"Jacka10086":3,"KiritoKing":3,"Godtokoo666":3,"guke1024":3,"Lirzh":3,"ACRei":2,"1104cba":2,"mjbcxh":2,"miyago9267":2,"liaojiqing2012":2,"helloxm":2,"Yerosius":2,"wohaoshuai114514":2,"yzy-1":2,"imgbot[bot]":2,"HeRaNO":2,"chengguanglc":1,"zzsqjdhqgb":1,"Xiaohuba":1,"wcjxayx":1,"Lotuses-robot":1,"Alan2O18":1,"yanglinshu":1,"StableAgOH":1,"remmymilkyway":1,"ZaberKo":1,"CwRv07":1,"dextercai":1,"miaotony":1,"15921483570":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.939Z","repositories_count":10081382,"issues_count":31322741,"pull_requests_count":96214245,"authors_count":10693626,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":72,"CONTRIBUTOR":5},"past_year_pull_request_author_associations_count":{"MEMBER":68,"CONTRIBUTOR":50,"NONE":25},"past_year_issue_authors":{"Yerosius":10,"wood3":5,"guosoun":5,"toprise":3,"HeRaNO":3,"Xbraves":3,"laoshuikaixue":2,"Hongshi0622":2,"highertq":2,"gi-b716":2,"fearlessxjdx":2,"criyle":2,"RimuruChan":2,"stong12345":1,"Shunpower":1,"Shiroiame-Kusu":1,"RyaninChina11":1,"StupidQu":1,"tabbbbbb":1,"1eagle":1,"TheSoundOfWA":1,"typed-sigterm":1,"xby0058":1,"xcx0902":1,"XiaoGeNintendo":1,"yao-jz":1,"zjx-kimi":1,"zongltd":1,"bigmiaocat":1,"chenhaoyang2008":1,"cn-ryh":1,"cqzym1985":1,"Eternity-Sky":1,"FelixYu2021202":1,"gtn1024":1,"hin1n":1,"iamPorter":1,"Kibiandkimi":1,"kouxin":1,"Lirzh":1,"Lord-scheme":1,"Manical-David":1,"myhaooo":1,"netEternity":1,"nldtz":1,"OnceGzsJAY":1,"qwedc001":1},"past_year_pull_request_authors":{"undefined-moe":42,"pandadtdyy":26,"renbaoshuo":13,"criyle":11,"bhscer":9,"035966-L3":4,"Godtokoo666":3,"Jacka10086":3,"HetmesAskalana":3,"Lirzh":3,"Molmin":3,"langningchen":2,"StupidQu":2,"imgbot[bot]":2,"LYkcul":2,"Yerosius":2,"HeRaNO":2,"helloxm":2,"laoshuikaixue":2,"liaojiqing2012":2,"gtn1024":2,"ZaberKo":1,"zzsqjdhqgb":1,"miaotony":1},"maintainers":[{"login":"pandadtdyy","count":206,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"},{"login":"undefined-moe","count":72,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"}],"active_maintainers":[{"login":"undefined-moe","count":42,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/undefined-moe"},{"login":"pandadtdyy","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandadtdyy"}]},"events":{"total":{"CreateEvent":32,"CommitCommentEvent":3,"ReleaseEvent":1,"IssuesEvent":118,"WatchEvent":1493,"DeleteEvent":27,"IssueCommentEvent":153,"PushEvent":319,"PullRequestReviewCommentEvent":230,"PullRequestReviewEvent":267,"PullRequestEvent":122,"ForkEvent":113},"last_year":{"CreateEvent":32,"CommitCommentEvent":3,"ReleaseEvent":1,"IssuesEvent":118,"WatchEvent":1493,"DeleteEvent":27,"IssueCommentEvent":153,"PushEvent":319,"PullRequestReviewCommentEvent":230,"PullRequestReviewEvent":267,"PullRequestEvent":122,"ForkEvent":113}},"keywords":["acm-icpc","cpp","hydro","java","mixed-judge","mongodb","node","noip","oi","oj","online-judge","onlinejudge","python","vijos","vj5"],"dependencies":[{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:18.943Z","updated_at":"2022-06-25T19:39:18.943Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/package.json","dependencies":[{"id":58328781,"package_name":"@types/autocannon","ecosystem":"npm","requirements":"^7.6.1","direct":true,"kind":"development","optional":false},{"id":58328782,"package_name":"@types/cross-spawn","ecosystem":"npm","requirements":"^6.0.2","direct":true,"kind":"development","optional":false},{"id":58328783,"package_name":"@types/mocha","ecosystem":"npm","requirements":"^9.1.1","direct":true,"kind":"development","optional":false},{"id":58328784,"package_name":"@types/node","ecosystem":"npm","requirements":"^17.0.35","direct":true,"kind":"development","optional":false},{"id":58328785,"package_name":"@types/semver","ecosystem":"npm","requirements":"^7.3.9","direct":true,"kind":"development","optional":false},{"id":58328786,"package_name":"@types/supertest","ecosystem":"npm","requirements":"^2.0.12","direct":true,"kind":"development","optional":false},{"id":58328787,"package_name":"@typescript-eslint/eslint-plugin","ecosystem":"npm","requirements":"^5.25.0","direct":true,"kind":"development","optional":false},{"id":58328788,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"^5.25.0","direct":true,"kind":"development","optional":false},{"id":58328789,"package_name":"autocannon","ecosystem":"npm","requirements":"^7.9.0","direct":true,"kind":"development","optional":false},{"id":58328790,"package_name":"cac","ecosystem":"npm","requirements":"^6.7.12","direct":true,"kind":"development","optional":false},{"id":58328791,"package_name":"cross-env","ecosystem":"npm","requirements":"^7.0.3","direct":true,"kind":"development","optional":false},{"id":58328792,"package_name":"cross-spawn","ecosystem":"npm","requirements":"^7.0.3","direct":true,"kind":"development","optional":false},{"id":58328793,"package_name":"esbuild","ecosystem":"npm","requirements":"0.14.3","direct":true,"kind":"development","optional":false},{"id":58328794,"package_name":"eslint","ecosystem":"npm","requirements":"^8.16.0","direct":true,"kind":"development","optional":false},{"id":58328795,"package_name":"eslint-config-airbnb","ecosystem":"npm","requirements":"^19.0.4","direct":true,"kind":"development","optional":false},{"id":58328796,"package_name":"eslint-config-airbnb-typescript","ecosystem":"npm","requirements":"^17.0.0","direct":true,"kind":"development","optional":false},{"id":58328797,"package_name":"eslint-import-resolver-typescript","ecosystem":"npm","requirements":"^2.7.1","direct":true,"kind":"development","optional":false},{"id":58328798,"package_name":"eslint-import-resolver-webpack","ecosystem":"npm","requirements":"^0.13.2","direct":true,"kind":"development","optional":false},{"id":58328799,"package_name":"eslint-plugin-import","ecosystem":"npm","requirements":"2.26.0","direct":true,"kind":"development","optional":false},{"id":58328800,"package_name":"eslint-plugin-jsx-a11y","ecosystem":"npm","requirements":"^6.5.1","direct":true,"kind":"development","optional":false},{"id":58328801,"package_name":"eslint-plugin-react","ecosystem":"npm","requirements":"^7.30.0","direct":true,"kind":"development","optional":false},{"id":58328802,"package_name":"eslint-plugin-simple-import-sort","ecosystem":"npm","requirements":"7.0.0","direct":true,"kind":"development","optional":false},{"id":58328803,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"development","optional":false},{"id":58328804,"package_name":"globby","ecosystem":"npm","requirements":"11.1.0","direct":true,"kind":"development","optional":false},{"id":58328805,"package_name":"latest-version","ecosystem":"npm","requirements":"^6.0.0","direct":true,"kind":"development","optional":false},{"id":58328806,"package_name":"mocha","ecosystem":"npm","requirements":"^10.0.0","direct":true,"kind":"development","optional":false},{"id":58328807,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"development","optional":false},{"id":58328808,"package_name":"mongodb-memory-server","ecosystem":"npm","requirements":"^8.5.2","direct":true,"kind":"development","optional":false},{"id":58328809,"package_name":"ora","ecosystem":"npm","requirements":"5.4.1","direct":true,"kind":"development","optional":false},{"id":58328810,"package_name":"semver","ecosystem":"npm","requirements":"^7.3.7","direct":true,"kind":"development","optional":false},{"id":58328811,"package_name":"supertest","ecosystem":"npm","requirements":"^6.2.3","direct":true,"kind":"development","optional":false},{"id":58328812,"package_name":"typedoc","ecosystem":"npm","requirements":"^0.22.15","direct":true,"kind":"development","optional":false},{"id":58328813,"package_name":"typescript","ecosystem":"npm","requirements":"^4.6.4","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/center/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.015Z","updated_at":"2022-06-25T19:39:19.015Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/center/package.json","dependencies":[{"id":58328814,"package_name":"js-yaml","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328815,"package_name":"superagent","ecosystem":"npm","requirements":"^7.1.3","direct":true,"kind":"runtime","optional":false},{"id":58328816,"package_name":"@types/js-yaml","ecosystem":"npm","requirements":"^4.0.5","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/elastic/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.094Z","updated_at":"2022-06-25T19:39:19.094Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/elastic/package.json","dependencies":[{"id":58328817,"package_name":"@elastic/elasticsearch","ecosystem":"npm","requirements":"^8.2.0-patch.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/fps-importer/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.212Z","updated_at":"2022-06-25T19:39:19.212Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/fps-importer/package.json","dependencies":[{"id":58328818,"package_name":"adm-zip","ecosystem":"npm","requirements":"0.5.5","direct":true,"kind":"runtime","optional":false},{"id":58328819,"package_name":"decode-html","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"runtime","optional":false},{"id":58328820,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328821,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"runtime","optional":false},{"id":58328822,"package_name":"xml2js","ecosystem":"npm","requirements":"^0.4.23","direct":true,"kind":"runtime","optional":false},{"id":58328823,"package_name":"@types/xml2js","ecosystem":"npm","requirements":"^0.4.11","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/geoip/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.283Z","updated_at":"2022-06-25T19:39:19.283Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/geoip/package.json","dependencies":[{"id":58328824,"package_name":"maxmind","ecosystem":"npm","requirements":"^4.3.6","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/hydrojudge/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.360Z","updated_at":"2022-06-25T19:39:19.360Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/hydrojudge/package.json","dependencies":[{"id":58328825,"package_name":"@hydrooj/utils","ecosystem":"npm","requirements":"workspace:*","direct":true,"kind":"runtime","optional":false},{"id":58328826,"package_name":"axios","ecosystem":"npm","requirements":"^0.27.2","direct":true,"kind":"runtime","optional":false},{"id":58328827,"package_name":"cac","ecosystem":"npm","requirements":"^6.7.12","direct":true,"kind":"runtime","optional":false},{"id":58328828,"package_name":"esbuild","ecosystem":"npm","requirements":"0.14.3","direct":true,"kind":"runtime","optional":false},{"id":58328829,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328830,"package_name":"js-yaml","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328831,"package_name":"lodash","ecosystem":"npm","requirements":"^4.17.21","direct":true,"kind":"runtime","optional":false},{"id":58328832,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"runtime","optional":false},{"id":58328833,"package_name":"p-queue","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"runtime","optional":false},{"id":58328834,"package_name":"shell-quote","ecosystem":"npm","requirements":"^1.7.3","direct":true,"kind":"runtime","optional":false},{"id":58328835,"package_name":"ws","ecosystem":"npm","requirements":"^8.6.0","direct":true,"kind":"runtime","optional":false},{"id":58328836,"package_name":"@types/fs-extra","ecosystem":"npm","requirements":"^9.0.13","direct":true,"kind":"development","optional":false},{"id":58328837,"package_name":"@types/js-yaml","ecosystem":"npm","requirements":"^4.0.5","direct":true,"kind":"development","optional":false},{"id":58328838,"package_name":"@types/lodash","ecosystem":"npm","requirements":"^4.14.182","direct":true,"kind":"development","optional":false},{"id":58328839,"package_name":"@types/shell-quote","ecosystem":"npm","requirements":"^1.7.1","direct":true,"kind":"development","optional":false},{"id":58328840,"package_name":"@types/ws","ecosystem":"npm","requirements":"^8.5.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/hydrooj/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.474Z","updated_at":"2022-06-25T19:39:19.474Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/hydrooj/package.json","dependencies":[{"id":58328841,"package_name":"@graphql-tools/schema","ecosystem":"npm","requirements":"^8.3.13","direct":true,"kind":"runtime","optional":false},{"id":58328842,"package_name":"@hydrooj/utils","ecosystem":"npm","requirements":"workspace:*","direct":true,"kind":"runtime","optional":false},{"id":58328843,"package_name":"adm-zip","ecosystem":"npm","requirements":"0.5.5","direct":true,"kind":"runtime","optional":false},{"id":58328844,"package_name":"ajv","ecosystem":"npm","requirements":"^8.11.0","direct":true,"kind":"runtime","optional":false},{"id":58328845,"package_name":"ansi_up","ecosystem":"npm","requirements":"^5.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328846,"package_name":"cac","ecosystem":"npm","requirements":"^6.7.12","direct":true,"kind":"runtime","optional":false},{"id":58328847,"package_name":"cookies","ecosystem":"npm","requirements":"^0.8.0","direct":true,"kind":"runtime","optional":false},{"id":58328848,"package_name":"detect-browser","ecosystem":"npm","requirements":"^5.3.0","direct":true,"kind":"runtime","optional":false},{"id":58328849,"package_name":"emoji-regex","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328850,"package_name":"emojis-list","ecosystem":"npm","requirements":"2.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328851,"package_name":"esbuild","ecosystem":"npm","requirements":"0.14.3","direct":true,"kind":"runtime","optional":false},{"id":58328852,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328853,"package_name":"graphql","ecosystem":"npm","requirements":"^16.5.0","direct":true,"kind":"runtime","optional":false},{"id":58328854,"package_name":"graphql-scalars","ecosystem":"npm","requirements":"1.17.0","direct":true,"kind":"runtime","optional":false},{"id":58328855,"package_name":"isbinaryfile","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"runtime","optional":false},{"id":58328856,"package_name":"js-yaml","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328857,"package_name":"koa","ecosystem":"npm","requirements":"^2.13.4","direct":true,"kind":"runtime","optional":false},{"id":58328858,"package_name":"koa-body","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"runtime","optional":false},{"id":58328859,"package_name":"koa-compress","ecosystem":"npm","requirements":"^5.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328860,"package_name":"koa-proxies","ecosystem":"npm","requirements":"^0.12.2","direct":true,"kind":"runtime","optional":false},{"id":58328861,"package_name":"koa-router","ecosystem":"npm","requirements":"^10.1.1","direct":true,"kind":"runtime","optional":false},{"id":58328862,"package_name":"koa-static-cache","ecosystem":"npm","requirements":"^5.1.4","direct":true,"kind":"runtime","optional":false},{"id":58328863,"package_name":"lodash","ecosystem":"npm","requirements":"^4.17.21","direct":true,"kind":"runtime","optional":false},{"id":58328864,"package_name":"lru-cache","ecosystem":"npm","requirements":"7.9.0","direct":true,"kind":"runtime","optional":false},{"id":58328865,"package_name":"mime-types","ecosystem":"npm","requirements":"^2.1.35","direct":true,"kind":"runtime","optional":false},{"id":58328866,"package_name":"minio","ecosystem":"npm","requirements":"7.0.25","direct":true,"kind":"runtime","optional":false},{"id":58328867,"package_name":"moment-timezone","ecosystem":"npm","requirements":"^0.5.34","direct":true,"kind":"runtime","optional":false},{"id":58328868,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"runtime","optional":false},{"id":58328869,"package_name":"nanoid","ecosystem":"npm","requirements":"^3.3.4","direct":true,"kind":"runtime","optional":false},{"id":58328870,"package_name":"nodemailer","ecosystem":"npm","requirements":"^6.7.5","direct":true,"kind":"runtime","optional":false},{"id":58328871,"package_name":"notp","ecosystem":"npm","requirements":"^2.0.3","direct":true,"kind":"runtime","optional":false},{"id":58328872,"package_name":"p-queue","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"runtime","optional":false},{"id":58328873,"package_name":"require-resolve-hook","ecosystem":"npm","requirements":"^1.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328874,"package_name":"semver","ecosystem":"npm","requirements":"^7.3.7","direct":true,"kind":"runtime","optional":false},{"id":58328875,"package_name":"serialize-javascript","ecosystem":"npm","requirements":"^6.0.0","direct":true,"kind":"runtime","optional":false},{"id":58328876,"package_name":"source-map-support","ecosystem":"npm","requirements":"^0.5.21","direct":true,"kind":"runtime","optional":false},{"id":58328877,"package_name":"superagent","ecosystem":"npm","requirements":"^7.1.3","direct":true,"kind":"runtime","optional":false},{"id":58328878,"package_name":"thirty-two","ecosystem":"npm","requirements":"^1.0.2","direct":true,"kind":"runtime","optional":false},{"id":58328879,"package_name":"tx2","ecosystem":"npm","requirements":"^1.0.5","direct":true,"kind":"runtime","optional":false},{"id":58328880,"package_name":"@types/adm-zip","ecosystem":"npm","requirements":"^0.4.34","direct":true,"kind":"development","optional":false},{"id":58328881,"package_name":"@types/fs-extra","ecosystem":"npm","requirements":"^9.0.13","direct":true,"kind":"development","optional":false},{"id":58328882,"package_name":"@types/js-yaml","ecosystem":"npm","requirements":"^4.0.5","direct":true,"kind":"development","optional":false},{"id":58328883,"package_name":"@types/koa","ecosystem":"npm","requirements":"^2.13.4","direct":true,"kind":"development","optional":false},{"id":58328884,"package_name":"@types/koa-compress","ecosystem":"npm","requirements":"^4.0.3","direct":true,"kind":"development","optional":false},{"id":58328885,"package_name":"@types/koa-router","ecosystem":"npm","requirements":"^7.4.4","direct":true,"kind":"development","optional":false},{"id":58328886,"package_name":"@types/koa-static-cache","ecosystem":"npm","requirements":"^5.1.1","direct":true,"kind":"development","optional":false},{"id":58328887,"package_name":"@types/lodash","ecosystem":"npm","requirements":"^4.14.182","direct":true,"kind":"development","optional":false},{"id":58328888,"package_name":"@types/lru-cache","ecosystem":"npm","requirements":"^7.6.1","direct":true,"kind":"development","optional":false},{"id":58328889,"package_name":"@types/mime-types","ecosystem":"npm","requirements":"^2.1.1","direct":true,"kind":"development","optional":false},{"id":58328890,"package_name":"@types/minio","ecosystem":"npm","requirements":"^7.0.12","direct":true,"kind":"development","optional":false},{"id":58328891,"package_name":"@types/mongodb","ecosystem":"npm","requirements":"^3.6.20","direct":true,"kind":"development","optional":false},{"id":58328892,"package_name":"@types/nodemailer","ecosystem":"npm","requirements":"^6.4.4","direct":true,"kind":"development","optional":false},{"id":58328893,"package_name":"@types/notp","ecosystem":"npm","requirements":"^2.0.2","direct":true,"kind":"development","optional":false},{"id":58328894,"package_name":"@types/semver","ecosystem":"npm","requirements":"^7.3.9","direct":true,"kind":"development","optional":false},{"id":58328895,"package_name":"@types/serialize-javascript","ecosystem":"npm","requirements":"^5.0.2","direct":true,"kind":"development","optional":false},{"id":58328896,"package_name":"@types/source-map-support","ecosystem":"npm","requirements":"^0.5.4","direct":true,"kind":"development","optional":false},{"id":58328897,"package_name":"@types/superagent","ecosystem":"npm","requirements":"^4.1.15","direct":true,"kind":"development","optional":false},{"id":58328898,"package_name":"moment","ecosystem":"npm","requirements":"^2.29.3","direct":true,"kind":"development","optional":false},{"id":58328899,"package_name":"pm2","ecosystem":"npm","requirements":"^5.2.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/import-qduoj/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.582Z","updated_at":"2022-06-25T19:39:19.582Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/import-qduoj/package.json","dependencies":[{"id":58328900,"package_name":"adm-zip","ecosystem":"npm","requirements":"0.5.5","direct":true,"kind":"runtime","optional":false},{"id":58328901,"package_name":"decode-html","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"runtime","optional":false},{"id":58328902,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/login-with-github/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.660Z","updated_at":"2022-06-25T19:39:19.660Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/login-with-github/package.json","dependencies":[{"id":58328903,"package_name":"superagent","ecosystem":"npm","requirements":"^7.1.3","direct":true,"kind":"runtime","optional":false},{"id":58328904,"package_name":"@types/superagent","ecosystem":"npm","requirements":"^4.1.15","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/login-with-google/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.782Z","updated_at":"2022-06-25T19:39:19.782Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/login-with-google/package.json","dependencies":[{"id":58328905,"package_name":"superagent","ecosystem":"npm","requirements":"^7.1.3","direct":true,"kind":"runtime","optional":false},{"id":58328906,"package_name":"@types/superagent","ecosystem":"npm","requirements":"^4.1.15","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/migrate/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.861Z","updated_at":"2022-06-25T19:39:19.861Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/migrate/package.json","dependencies":[{"id":58328907,"package_name":"@hydrooj/utils","ecosystem":"npm","requirements":"workspace:*","direct":true,"kind":"runtime","optional":false},{"id":58328908,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"runtime","optional":false},{"id":58328909,"package_name":"mysql","ecosystem":"npm","requirements":"^2.18.1","direct":true,"kind":"runtime","optional":false},{"id":58328910,"package_name":"turndown","ecosystem":"npm","requirements":"^7.1.1","direct":true,"kind":"runtime","optional":false},{"id":58328911,"package_name":"@types/mongodb","ecosystem":"npm","requirements":"^3.6.20","direct":true,"kind":"development","optional":false},{"id":58328912,"package_name":"@types/mysql","ecosystem":"npm","requirements":"^2.15.21","direct":true,"kind":"development","optional":false},{"id":58328913,"package_name":"@types/turndown","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/recaptcha/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:19.990Z","updated_at":"2022-06-25T19:39:19.990Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/recaptcha/package.json","dependencies":[{"id":58328914,"package_name":"superagent","ecosystem":"npm","requirements":"^7.1.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/sonic/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:20.066Z","updated_at":"2022-06-25T19:39:20.066Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/sonic/package.json","dependencies":[{"id":58328915,"package_name":"sonic-channel","ecosystem":"npm","requirements":"^1.2.7","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/ui-default/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:20.131Z","updated_at":"2022-06-25T19:39:20.131Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/ui-default/package.json","dependencies":[{"id":58328965,"package_name":"echarts","ecosystem":"npm","requirements":"^5.3.2","direct":true,"kind":"development","optional":false},{"id":58328916,"package_name":"esbuild","ecosystem":"npm","requirements":"0.14.3","direct":true,"kind":"runtime","optional":false},{"id":58328917,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328918,"package_name":"js-yaml","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"runtime","optional":false},{"id":58328919,"package_name":"jsesc","ecosystem":"npm","requirements":"^3.0.2","direct":true,"kind":"runtime","optional":false},{"id":58328920,"package_name":"katex","ecosystem":"npm","requirements":"^0.15.6","direct":true,"kind":"runtime","optional":false},{"id":58328921,"package_name":"lodash","ecosystem":"npm","requirements":"^4.17.21","direct":true,"kind":"runtime","optional":false},{"id":58328922,"package_name":"markdown-it","ecosystem":"npm","requirements":"^13.0.1","direct":true,"kind":"runtime","optional":false},{"id":58328923,"package_name":"markdown-it-anchor","ecosystem":"npm","requirements":"^8.6.4","direct":true,"kind":"runtime","optional":false},{"id":58328924,"package_name":"markdown-it-footnote","ecosystem":"npm","requirements":"^3.0.3","direct":true,"kind":"runtime","optional":false},{"id":58328925,"package_name":"markdown-it-imsize","ecosystem":"npm","requirements":"^2.0.1","direct":true,"kind":"runtime","optional":false},{"id":58328926,"package_name":"markdown-it-mark","ecosystem":"npm","requirements":"^3.0.1","direct":true,"kind":"runtime","optional":false},{"id":58328927,"package_name":"markdown-it-merge-cells","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"runtime","optional":false},{"id":58328928,"package_name":"markdown-it-table-of-contents","ecosystem":"npm","requirements":"^0.6.0","direct":true,"kind":"runtime","optional":false},{"id":58328929,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"runtime","optional":false},{"id":58328930,"package_name":"nunjucks","ecosystem":"npm","requirements":"^3.2.3","direct":true,"kind":"runtime","optional":false},{"id":58328931,"package_name":"p-queue","ecosystem":"npm","requirements":"^7.2.0","direct":true,"kind":"runtime","optional":false},{"id":58328932,"package_name":"streamsaver","ecosystem":"npm","requirements":"^2.0.6","direct":true,"kind":"runtime","optional":false},{"id":58328933,"package_name":"xss","ecosystem":"npm","requirements":"^1.0.11","direct":true,"kind":"runtime","optional":false},{"id":58328934,"package_name":"@blueprintjs/core","ecosystem":"npm","requirements":"^4.3.2","direct":true,"kind":"development","optional":false},{"id":58328935,"package_name":"@fontsource/dm-mono","ecosystem":"npm","requirements":"^4.5.8","direct":true,"kind":"development","optional":false},{"id":58328936,"package_name":"@fontsource/fira-code","ecosystem":"npm","requirements":"^4.5.9","direct":true,"kind":"development","optional":false},{"id":58328937,"package_name":"@fontsource/inconsolata","ecosystem":"npm","requirements":"^4.5.6","direct":true,"kind":"development","optional":false},{"id":58328938,"package_name":"@fontsource/jetbrains-mono","ecosystem":"npm","requirements":"^4.5.8","direct":true,"kind":"development","optional":false},{"id":58328939,"package_name":"@fontsource/pt-mono","ecosystem":"npm","requirements":"^4.5.8","direct":true,"kind":"development","optional":false},{"id":58328940,"package_name":"@fontsource/roboto-mono","ecosystem":"npm","requirements":"^4.5.7","direct":true,"kind":"development","optional":false},{"id":58328941,"package_name":"@fontsource/source-code-pro","ecosystem":"npm","requirements":"^4.5.9","direct":true,"kind":"development","optional":false},{"id":58328942,"package_name":"@fontsource/ubuntu-mono","ecosystem":"npm","requirements":"^4.5.9","direct":true,"kind":"development","optional":false},{"id":58328943,"package_name":"@hydrooj/utils","ecosystem":"npm","requirements":"workspace:*","direct":true,"kind":"development","optional":false},{"id":58328944,"package_name":"@types/gulp-if","ecosystem":"npm","requirements":"^0.0.34","direct":true,"kind":"development","optional":false},{"id":58328945,"package_name":"@types/jquery","ecosystem":"npm","requirements":"^3.5.14","direct":true,"kind":"development","optional":false},{"id":58328946,"package_name":"@types/json-schema","ecosystem":"npm","requirements":"^7.0.11","direct":true,"kind":"development","optional":false},{"id":58328947,"package_name":"@types/katex","ecosystem":"npm","requirements":"^0.14.0","direct":true,"kind":"development","optional":false},{"id":58328948,"package_name":"@types/markdown-it","ecosystem":"npm","requirements":"^12.2.3","direct":true,"kind":"development","optional":false},{"id":58328949,"package_name":"@types/pickadate","ecosystem":"npm","requirements":"^3.5.32","direct":true,"kind":"development","optional":false},{"id":58328950,"package_name":"@types/qrcode","ecosystem":"npm","requirements":"^1.4.2","direct":true,"kind":"development","optional":false},{"id":58328951,"package_name":"@types/react-dom","ecosystem":"npm","requirements":"^18.0.4","direct":true,"kind":"development","optional":false},{"id":58328952,"package_name":"@types/redux-logger","ecosystem":"npm","requirements":"^3.0.9","direct":true,"kind":"development","optional":false},{"id":58328953,"package_name":"ansi_up","ecosystem":"npm","requirements":"^5.1.0","direct":true,"kind":"development","optional":false},{"id":58328954,"package_name":"autoprefixer","ecosystem":"npm","requirements":"^9.8.8","direct":true,"kind":"development","optional":false},{"id":58328955,"package_name":"browser-update","ecosystem":"npm","requirements":"^3.3.38","direct":true,"kind":"development","optional":false},{"id":58328956,"package_name":"chalk","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"development","optional":false},{"id":58328957,"package_name":"chunk-progress-webpack-plugin","ecosystem":"npm","requirements":"^2.0.1","direct":true,"kind":"development","optional":false},{"id":58328958,"package_name":"classnames","ecosystem":"npm","requirements":"^2.3.1","direct":true,"kind":"development","optional":false},{"id":58328959,"package_name":"clean-webpack-plugin","ecosystem":"npm","requirements":"^4.0.0","direct":true,"kind":"development","optional":false},{"id":58328960,"package_name":"clipboard","ecosystem":"npm","requirements":"^2.0.11","direct":true,"kind":"development","optional":false},{"id":58328961,"package_name":"copy-webpack-plugin","ecosystem":"npm","requirements":"^6.4.1","direct":true,"kind":"development","optional":false},{"id":58328962,"package_name":"css-loader","ecosystem":"npm","requirements":"^4.3.0","direct":true,"kind":"development","optional":false},{"id":58328963,"package_name":"diff","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false},{"id":58328964,"package_name":"diff-dom","ecosystem":"npm","requirements":"^4.2.3","direct":true,"kind":"development","optional":false},{"id":58328966,"package_name":"emojis-keywords","ecosystem":"npm","requirements":"2.0.0","direct":true,"kind":"development","optional":false},{"id":58328967,"package_name":"emojis-list","ecosystem":"npm","requirements":"2.1.0","direct":true,"kind":"development","optional":false},{"id":58328968,"package_name":"esbuild-loader","ecosystem":"npm","requirements":"^2.19.0","direct":true,"kind":"development","optional":false},{"id":58328969,"package_name":"fancy-log","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":58328970,"package_name":"file-loader","ecosystem":"npm","requirements":"^6.2.0","direct":true,"kind":"development","optional":false},{"id":58328971,"package_name":"friendly-errors-webpack-plugin","ecosystem":"npm","requirements":"^1.7.0","direct":true,"kind":"development","optional":false},{"id":58328972,"package_name":"graphiql","ecosystem":"npm","requirements":"1.8.9","direct":true,"kind":"development","optional":false},{"id":58328973,"package_name":"gulp","ecosystem":"npm","requirements":"^4.0.2","direct":true,"kind":"development","optional":false},{"id":58328974,"package_name":"gulp-cli","ecosystem":"npm","requirements":"^2.3.0","direct":true,"kind":"development","optional":false},{"id":58328975,"package_name":"gulp-iconfont","ecosystem":"npm","requirements":"^11.0.1","direct":true,"kind":"development","optional":false},{"id":58328976,"package_name":"gulp-if","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":58328977,"package_name":"gulp-plumber","ecosystem":"npm","requirements":"^1.2.1","direct":true,"kind":"development","optional":false},{"id":58328978,"package_name":"gulp-svgmin","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":58328979,"package_name":"jquery","ecosystem":"npm","requirements":"^3.6.0","direct":true,"kind":"development","optional":false},{"id":58328980,"package_name":"jquery-scroll-lock","ecosystem":"npm","requirements":"^3.1.3","direct":true,"kind":"development","optional":false},{"id":58328981,"package_name":"jquery.easing","ecosystem":"npm","requirements":"^1.4.1","direct":true,"kind":"development","optional":false},{"id":58328982,"package_name":"jquery.transit","ecosystem":"npm","requirements":"^0.9.12","direct":true,"kind":"development","optional":false},{"id":58328983,"package_name":"matchmedia-polyfill","ecosystem":"npm","requirements":"^0.3.2","direct":true,"kind":"development","optional":false},{"id":58328984,"package_name":"mini-css-extract-plugin","ecosystem":"npm","requirements":"^1.6.2","direct":true,"kind":"development","optional":false},{"id":58328985,"package_name":"moment","ecosystem":"npm","requirements":"^2.29.3","direct":true,"kind":"development","optional":false},{"id":58328986,"package_name":"monaco-editor","ecosystem":"npm","requirements":"^0.33.0","direct":true,"kind":"development","optional":false},{"id":58328987,"package_name":"monaco-editor-nls","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":58328988,"package_name":"monaco-editor-webpack-plugin","ecosystem":"npm","requirements":"^7.0.1","direct":true,"kind":"development","optional":false},{"id":58328989,"package_name":"monaco-themes","ecosystem":"npm","requirements":"^0.4.2","direct":true,"kind":"development","optional":false},{"id":58328990,"package_name":"monaco-yaml","ecosystem":"npm","requirements":"^4.0.0-alpha.3","direct":true,"kind":"development","optional":false},{"id":58328991,"package_name":"nanoid","ecosystem":"npm","requirements":"^3.3.4","direct":true,"kind":"development","optional":false},{"id":58328992,"package_name":"normalize.css","ecosystem":"npm","requirements":"^8.0.1","direct":true,"kind":"development","optional":false},{"id":58328993,"package_name":"nprogress","ecosystem":"npm","requirements":"^0.2.0","direct":true,"kind":"development","optional":false},{"id":58328994,"package_name":"pickadate","ecosystem":"npm","requirements":"^3.6.4","direct":true,"kind":"development","optional":false},{"id":58328995,"package_name":"plugin-error","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"development","optional":false},{"id":58328996,"package_name":"postcss-loader","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":58328997,"package_name":"prism-themes","ecosystem":"npm","requirements":"^1.9.0","direct":true,"kind":"development","optional":false},{"id":58328998,"package_name":"prismjs","ecosystem":"npm","requirements":"^1.28.0","direct":true,"kind":"development","optional":false},{"id":58328999,"package_name":"prop-types","ecosystem":"npm","requirements":"^15.8.1","direct":true,"kind":"development","optional":false},{"id":58329000,"package_name":"qrcode","ecosystem":"npm","requirements":"^1.5.0","direct":true,"kind":"development","optional":false},{"id":58329001,"package_name":"queue-microtask","ecosystem":"npm","requirements":"^1.2.3","direct":true,"kind":"development","optional":false},{"id":58329002,"package_name":"raw-loader","ecosystem":"npm","requirements":"^4.0.2","direct":true,"kind":"development","optional":false},{"id":58329003,"package_name":"react","ecosystem":"npm","requirements":"^18.1.0","direct":true,"kind":"development","optional":false},{"id":58329004,"package_name":"react-dnd","ecosystem":"npm","requirements":"^16.0.1","direct":true,"kind":"development","optional":false},{"id":58329005,"package_name":"react-dnd-html5-backend","ecosystem":"npm","requirements":"^16.0.1","direct":true,"kind":"development","optional":false},{"id":58329006,"package_name":"react-dom","ecosystem":"npm","requirements":"^18.1.0","direct":true,"kind":"development","optional":false},{"id":58329007,"package_name":"react-redux","ecosystem":"npm","requirements":"^8.0.1","direct":true,"kind":"development","optional":false},{"id":58329008,"package_name":"react-split-pane","ecosystem":"npm","requirements":"^0.1.92","direct":true,"kind":"development","optional":false},{"id":58329009,"package_name":"reconnecting-websocket","ecosystem":"npm","requirements":"^4.4.0","direct":true,"kind":"development","optional":false},{"id":58329010,"package_name":"redux","ecosystem":"npm","requirements":"^4.2.0","direct":true,"kind":"development","optional":false},{"id":58329011,"package_name":"redux-logger","ecosystem":"npm","requirements":"^3.0.6","direct":true,"kind":"development","optional":false},{"id":58329012,"package_name":"redux-promise-middleware","ecosystem":"npm","requirements":"^6.1.2","direct":true,"kind":"development","optional":false},{"id":58329013,"package_name":"redux-thunk","ecosystem":"npm","requirements":"^2.4.1","direct":true,"kind":"development","optional":false},{"id":58329014,"package_name":"rupture","ecosystem":"npm","requirements":"^0.7.1","direct":true,"kind":"development","optional":false},{"id":58329015,"package_name":"slideout","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"development","optional":false},{"id":58329016,"package_name":"speed-measure-webpack-plugin","ecosystem":"npm","requirements":"^1.5.0","direct":true,"kind":"development","optional":false},{"id":58329017,"package_name":"sticky-kit","ecosystem":"npm","requirements":"^1.1.3","direct":true,"kind":"development","optional":false},{"id":58329018,"package_name":"style-loader","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"development","optional":false},{"id":58329019,"package_name":"stylus","ecosystem":"npm","requirements":"^0.57.0","direct":true,"kind":"development","optional":false},{"id":58329020,"package_name":"stylus-loader","ecosystem":"npm","requirements":"^3.0.2","direct":true,"kind":"development","optional":false},{"id":58329021,"package_name":"tether","ecosystem":"npm","requirements":"^1.4.7","direct":true,"kind":"development","optional":false},{"id":58329022,"package_name":"tether-drop","ecosystem":"npm","requirements":"^1.4.2","direct":true,"kind":"development","optional":false},{"id":58329023,"package_name":"thirty-two","ecosystem":"npm","requirements":"^1.0.2","direct":true,"kind":"development","optional":false},{"id":58329024,"package_name":"through2","ecosystem":"npm","requirements":"^4.0.2","direct":true,"kind":"development","optional":false},{"id":58329025,"package_name":"timeago-react","ecosystem":"npm","requirements":"^3.0.4","direct":true,"kind":"development","optional":false},{"id":58329026,"package_name":"timeago.js","ecosystem":"npm","requirements":"^4.0.2","direct":true,"kind":"development","optional":false},{"id":58329027,"package_name":"vditor","ecosystem":"npm","requirements":"^3.8.15","direct":true,"kind":"development","optional":false},{"id":58329028,"package_name":"vinyl-buffer","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"development","optional":false},{"id":58329029,"package_name":"web-streams-polyfill","ecosystem":"npm","requirements":"^3.2.1","direct":true,"kind":"development","optional":false},{"id":58329030,"package_name":"webpack","ecosystem":"npm","requirements":"^4.46.0","direct":true,"kind":"development","optional":false},{"id":58329031,"package_name":"webpack-bundle-analyzer","ecosystem":"npm","requirements":"^4.5.0","direct":true,"kind":"development","optional":false},{"id":58329032,"package_name":"webpack-dev-server","ecosystem":"npm","requirements":"^3.11.3","direct":true,"kind":"development","optional":false},{"id":58329033,"package_name":"webpackbar","ecosystem":"npm","requirements":"^5.0.2","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/utils/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:20.228Z","updated_at":"2022-06-25T19:39:20.228Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/utils/package.json","dependencies":[{"id":58329034,"package_name":"fs-extra","ecosystem":"npm","requirements":"^10.1.0","direct":true,"kind":"runtime","optional":false},{"id":58329035,"package_name":"js-yaml","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"runtime","optional":false},{"id":58329036,"package_name":"moment-timezone","ecosystem":"npm","requirements":"^0.5.34","direct":true,"kind":"runtime","optional":false},{"id":58329037,"package_name":"mongodb","ecosystem":"npm","requirements":"^3.7.3","direct":true,"kind":"runtime","optional":false},{"id":58329038,"package_name":"systeminformation","ecosystem":"npm","requirements":"^5.11.15","direct":true,"kind":"runtime","optional":false},{"id":58329039,"package_name":"@types/fs-extra","ecosystem":"npm","requirements":"^9.0.13","direct":true,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"packages/vjudge/package.json","sha":null,"kind":"manifest","created_at":"2022-06-25T19:39:20.304Z","updated_at":"2022-06-25T19:39:20.304Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/vjudge/package.json","dependencies":[{"id":58329040,"package_name":"@hydrooj/utils","ecosystem":"npm","requirements":"workspace:*","direct":true,"kind":"runtime","optional":false},{"id":58329041,"package_name":"chrome-finder","ecosystem":"npm","requirements":"^1.0.7","direct":true,"kind":"runtime","optional":false},{"id":58329042,"package_name":"jsdom","ecosystem":"npm","requirements":"^19.0.0","direct":true,"kind":"runtime","optional":false},{"id":58329043,"package_name":"lodash","ecosystem":"npm","requirements":"^4.17.21","direct":true,"kind":"runtime","optional":false},{"id":58329044,"package_name":"puppeteer-core","ecosystem":"npm","requirements":"^14.1.1","direct":true,"kind":"runtime","optional":false},{"id":58329045,"package_name":"puppeteer-extra","ecosystem":"npm","requirements":"^3.2.3","direct":true,"kind":"runtime","optional":false},{"id":58329046,"package_name":"puppeteer-extra-plugin-portal","ecosystem":"npm","requirements":"^3.1.0","direct":true,"kind":"runtime","optional":false},{"id":58329047,"package_name":"puppeteer-extra-plugin-stealth","ecosystem":"npm","requirements":"^2.9.0","direct":true,"kind":"runtime","optional":false},{"id":58329048,"package_name":"superagent","ecosystem":"npm","requirements":"^7.1.3","direct":true,"kind":"runtime","optional":false},{"id":58329049,"package_name":"superagent-proxy","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"runtime","optional":false},{"id":58329050,"package_name":"@types/jsdom","ecosystem":"npm","requirements":"^16.2.14","direct":true,"kind":"development","optional":false},{"id":58329051,"package_name":"@types/lodash","ecosystem":"npm","requirements":"^4.14.182","direct":true,"kind":"development","optional":false},{"id":58329052,"package_name":"@types/superagent","ecosystem":"npm","requirements":"^4.1.15","direct":true,"kind":"development","optional":false},{"id":58329053,"package_name":"@types/superagent-proxy","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build.yml","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:06.763Z","updated_at":"2023-09-24T03:17:06.763Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/.github/workflows/build.yml","dependencies":[{"id":13909585794,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13909585795,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13909585796,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13909585797,"package_name":"tj-actions/changed-files","ecosystem":"actions","requirements":"v23.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql.yml","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:07.653Z","updated_at":"2023-09-24T03:17:07.653Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/.github/workflows/codeql.yml","dependencies":[{"id":13909586098,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13909586099,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13909586100,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13909586101,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":".devcontainer/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:07.781Z","updated_at":"2023-09-24T03:17:07.781Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/.devcontainer/Dockerfile","dependencies":[{"id":13909586664,"package_name":"mcr.microsoft.com/vscode/devcontainers/typescript-node","ecosystem":"docker","requirements":"18-bullseye","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":".devcontainer/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:08.242Z","updated_at":"2023-09-24T03:17:08.242Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/.devcontainer/docker-compose.yml","dependencies":[{"id":13909586668,"package_name":"mongo","ecosystem":"docker","requirements":"4-focal","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"install/docker/backend/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:08.343Z","updated_at":"2023-09-24T03:17:08.343Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/install/docker/backend/Dockerfile","dependencies":[{"id":13909586673,"package_name":"node","ecosystem":"docker","requirements":"14","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"install/docker/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:08.409Z","updated_at":"2023-09-24T03:17:08.409Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/install/docker/docker-compose.yml","dependencies":[{"id":13909586675,"package_name":"mongo","ecosystem":"docker","requirements":"latest","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"install/docker/judge/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:08.584Z","updated_at":"2023-09-24T03:17:08.584Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/install/docker/judge/Dockerfile","dependencies":[{"id":13909586679,"package_name":"node","ecosystem":"docker","requirements":"14","direct":true,"kind":"build","optional":false}]},{"ecosystem":"npm","filepath":"packages/a11y/package.json","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:08.835Z","updated_at":"2023-09-24T03:17:08.835Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/a11y/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"packages/blog/package.json","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:09.569Z","updated_at":"2023-09-24T03:17:09.569Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/blog/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"packages/eslint-config/package.json","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:09.645Z","updated_at":"2023-09-24T03:17:09.645Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/eslint-config/package.json","dependencies":[{"id":13909586728,"package_name":"@typescript-eslint/eslint-plugin","ecosystem":"npm","requirements":"^6.7.2","direct":true,"kind":"runtime","optional":false},{"id":13909586729,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"^6.7.2","direct":true,"kind":"runtime","optional":false},{"id":13909586730,"package_name":"eslint-config-airbnb","ecosystem":"npm","requirements":"^19.0.4","direct":true,"kind":"runtime","optional":false},{"id":13909586731,"package_name":"eslint-config-airbnb-typescript","ecosystem":"npm","requirements":"^17.1.0","direct":true,"kind":"runtime","optional":false},{"id":13909586732,"package_name":"eslint-plugin-import","ecosystem":"npm","requirements":"2.28.1","direct":true,"kind":"runtime","optional":false},{"id":13909586733,"package_name":"eslint-plugin-jsx-a11y","ecosystem":"npm","requirements":"^6.7.1","direct":true,"kind":"runtime","optional":false},{"id":13909586734,"package_name":"eslint-plugin-react","ecosystem":"npm","requirements":"^7.33.2","direct":true,"kind":"runtime","optional":false},{"id":13909586735,"package_name":"eslint-plugin-react-hooks","ecosystem":"npm","requirements":"^4.6.0","direct":true,"kind":"runtime","optional":false},{"id":13909586736,"package_name":"eslint-plugin-simple-import-sort","ecosystem":"npm","requirements":"10.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"packages/onlyoffice/package.json","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:10.182Z","updated_at":"2023-09-24T03:17:10.182Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/onlyoffice/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"packages/prom-client/package.json","sha":null,"kind":"manifest","created_at":"2023-09-24T03:17:10.218Z","updated_at":"2023-09-24T03:17:10.218Z","repository_link":"https://github.com/hydro-dev/Hydro/blob/master/packages/prom-client/package.json","dependencies":[{"id":13909589205,"package_name":"prom-client","ecosystem":"npm","requirements":"^14.2.0","direct":true,"kind":"runtime","optional":false}]}],"score":16.90181306824744,"created_at":"2025-09-04T15:50:17.695Z","updated_at":"2025-10-07T08:05:30.580Z","avatar_url":"https://github.com/hydro-dev.png","language":"TypeScript","category":null,"sub_category":null,"monthly_downloads":80,"funding_links":["https://github.com/sponsors/undefined-moe","https://pay.undefined.moe"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["clickhouse","olap","sequences","clade","distribution","self-hosted","mpp","lakehouse","cloud-native","embedded-systems"],"project_url":"https://science.ecosyste.ms/api/v1/projects/5862","html_url":"https://science.ecosyste.ms/projects/5862","bibtex_url":"https://science.ecosyste.ms/projects/5862/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/5862/export.apalike"}