{"id":19004865,"url":"https://github.com/dhis2/ui","last_synced_at":"2026-02-19T15:05:26.731Z","repository":{"id":37748516,"uuid":"245402155","full_name":"dhis2/ui","owner":"dhis2","description":"Components and related resources for the DHIS2 design system","archived":false,"fork":false,"pushed_at":"2026-02-15T02:06:19.000Z","size":35313,"stargazers_count":53,"open_issues_count":44,"forks_count":29,"subscribers_count":22,"default_branch":"master","last_synced_at":"2026-02-15T09:21:21.401Z","etag":null,"topics":["hacktoberfest","sdg-17","sdg-3","sdg-4","synced-settings","web-lib"],"latest_commit_sha":null,"homepage":"https://developers.dhis2.org/demo/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhis2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-06T11:27:06.000Z","updated_at":"2026-02-15T02:06:21.000Z","dependencies_parsed_at":"2023-11-15T12:30:48.438Z","dependency_job_id":"10c941cd-a1a9-424f-a96f-6aaea4b7d4db","html_url":"https://github.com/dhis2/ui","commit_stats":{"total_commits":1727,"total_committers":48,"mean_commits":"35.979166666666664","dds":0.7342211928199189,"last_synced_commit":"3b5c73c266259036528780942d5c47ddb6113180"},"previous_names":[],"tags_count":476,"template":false,"template_full_name":null,"purl":"pkg:github/dhis2/ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhis2","download_url":"https://codeload.github.com/dhis2/ui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fui/sbom","scorecard":{"id":340361,"data":{"date":"2025-08-11","repo":{"name":"github.com/dhis2/ui","commit":"6585bfe67d8500a2b24988123418cb9556afccca"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 15/28 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"28 commit(s) and 1 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/comment-and-close.yml:1","Warn: no topLevel permission defined: .github/workflows/dhis2-deploy-netlify.yml:1","Warn: no topLevel permission defined: .github/workflows/dhis2-preview-pr.yml:1","Warn: no topLevel permission defined: .github/workflows/dhis2-verify-commits.yml:1","Warn: no topLevel permission defined: .github/workflows/dhis2-verify-lib.yml:1","Warn: no topLevel permission defined: .github/workflows/generate-and-upload-bom.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"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: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/comment-and-close.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/comment-and-close.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-deploy-netlify.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-deploy-netlify.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-deploy-netlify.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-deploy-netlify.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-deploy-netlify.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-deploy-netlify.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-preview-pr.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-preview-pr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-preview-pr.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-preview-pr.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-preview-pr.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-preview-pr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-commits.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-commits.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-commits.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-commits.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-verify-commits.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-commits.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-commits.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-commits.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-commits.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-commits.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-verify-commits.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-commits.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:171: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:188: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:200: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dhis2-verify-lib.yml:147: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/dhis2-verify-lib.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate-and-upload-bom.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/generate-and-upload-bom.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate-and-upload-bom.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/dhis2/ui/generate-and-upload-bom.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/generate-and-upload-bom.yml:30","Info:   0 out of  26 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   8 third-party GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-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":"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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/dhis2/.github/SECURITY.md:1","Info: Found linked content: github.com/dhis2/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/dhis2/.github/SECURITY.md:1","Info: Found text in security policy: github.com/dhis2/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (17) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"93 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-c2jc-4fpr-4vhg","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-7gc6-qh9x-w6h8","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-mf6x-hrgr-658f","Warn: Project is vulnerable to: GHSA-xrh7-m5pp-39r6","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-8hfj-j24r-96c4","Warn: Project is vulnerable to: GHSA-wc69-rhjr-hc9g","Warn: Project is vulnerable to: GHSA-qrpm-p2h7-hrv2","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-5rrq-pxf6-6jx5","Warn: Project is vulnerable to: GHSA-8fr3-hfg3-gpgp","Warn: Project is vulnerable to: GHSA-gf8q-jrpm-jvxq","Warn: Project is vulnerable to: GHSA-2r2c-g63r-vccr","Warn: Project is vulnerable to: GHSA-cfm4-qjh2-4765","Warn: Project is vulnerable to: GHSA-x4jg-mjrx-434g","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-3949-f494-cm99","Warn: Project is vulnerable to: GHSA-x7hr-w5r2-h6wg","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-4rq4-32rv-6wp6","Warn: Project is vulnerable to: GHSA-64g7-mvw6-v9qj","Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc","Warn: Project is vulnerable to: GHSA-w5p7-h5w8-2hfq","Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3","Warn: Project is vulnerable to: GHSA-hc6q-2mpp-qw7j","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-m5qc-5hw7-8vg7","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-g974-hxvm-x689","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-5q6m-3h65-w53x","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7","Warn: Project is vulnerable to: GHSA-mxhp-79qh-mcx6","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-vg6x-rcgg-rjx6","Warn: Project is vulnerable to: GHSA-x574-m823-4x7w","Warn: Project is vulnerable to: GHSA-4r4m-qw57-chr8","Warn: Project is vulnerable to: GHSA-xcj6-pq6g-qj4x","Warn: Project is vulnerable to: GHSA-356w-63v5-8wf4","Warn: Project is vulnerable to: GHSA-859w-5945-r5v3"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T05:39:56.960Z","repository_id":37748516,"created_at":"2025-08-18T05:39:56.960Z","updated_at":"2025-08-18T05:39:56.960Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29540282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T08:11:05.436Z","status":"ssl_error","status_checked_at":"2026-02-17T08:09:38.860Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","sdg-17","sdg-3","sdg-4","synced-settings","web-lib"],"created_at":"2024-11-08T18:25:00.007Z","updated_at":"2026-02-17T10:40:55.019Z","avatar_url":"https://github.com/dhis2.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DHIS2 UI\n\n[![@dhis2/ui on npm](https://badge.fury.io/js/%40dhis2%2Fui.svg)](https://www.npmjs.com/package/@dhis2/ui)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![conventional commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\n\u003e **@dhis2/ui** is a suite of frontend components for building DHIS 2 applications\n\nTo install `@dhis2/ui` run:\n\n```bash\nyarn add @dhis2/ui\n```\n\nAll components can be imported directly from `@dhis2/ui` like so:\n\n```js\nimport { Button } from '@dhis2/ui'\n```\n\nWe recommend that you use `@dhis2/ui` as the entrypoint for all imports of our frontend components (as in the example above). That way your imports won't break if any of the underlying packages change.\n\n## Documentation\n\n`@dhis2/ui` is based on the specifications in our design-system: https://github.com/dhis2/design-system. See the documentation there for more information.\n\n-   Docs: [Developer Portal](https://developers.dhis2.org/docs/tutorials/ui-library)\n-   Live demo: [Demo](https://developers.dhis2.org/demo/)\n-   Components reference: [Components](https://developers.dhis2.org/docs/ui/webcomponents)\n\n## Bundled packages\n\n| Package             | Link                                   | Status |\n| ------------------- | -------------------------------------- | ------ |\n| @dhis2/ui           | [collections/ui](collections/ui)       | Active |\n| @dhis2/ui-constants | [constants](utilities/constants)       | Active |\n| @dhis2/ui-forms     | [collections/forms](collections/forms) | Active |\n| @dhis2/ui-icons     | [icons](utilities/icons)               | Active |\n\n### `@dhis2/ui-constants`\n\nThis package provides access to shared constants, such as colors, spacers and elevation values. They are used across our frontend components and can be used directly in applications as well. Our constants can be imported like so:\n\n```js\nimport { colors } from '@dhis2/ui'\n```\n\nSee our [docs on the Developer Portal](https://developers.dhis2.org/design-system/utilities/constants) for a full list of the available constants.\n\n### `@dhis2/ui-icons`\n\nThis package provides a collection of icons as react components. For tree shaking purposes the icon name, variant and size are all expressed in the component name. Our icons can be imported like so:\n\n```js\nimport { IconApps16 } from '@dhis2/ui'\n```\n\nFor a list of all the available icons see [the ui-icons package](https://github.com/dhis2/ui/tree/master/packages/icons/src). Note that during their transformation to React components the svg filenames are PascalCased and prefixed with `Icon`. So `apps-16.svg` becomes `IconApps16` and can then be imported as in the example above.\n\nThe default fill of our icons is inherited from `color` with `currentColor`. To set a custom icon color you can use the `color` prop like so:\n\n```jsx\n\u003cIconApps16 color=\"#DE683D\" /\u003e\n```\n\n### `@dhis2/ui-forms`\n\nThis package provides several components that allow for easy integration of our form components with [react-final-form](https://github.com/final-form/react-final-form). Besides form components, we also export several validator functions for common usecases. Components from this library can be imported like so:\n\n```js\nimport { TextAreaFieldFF } from '@dhis2/ui'\n```\n\nThe `FF` suffix ensures that these components don't clash with our regular field components from the widgets package and is an abbreviation of `final-form`. See our [component documentation](https://developers.dhis2.org/docs/ui/webcomponents) or the [live docs](https://developers.dhis2.org/demo/) for a full list of the available components and validators.\n\n## Development\n\n```sh\ngit clone git@github.com:dhis2/ui.git \u0026\u0026 cd ui\n\nyarn install\nyarn build # make sure to run this at the top-level the first time\nyarn start\n\n# in case manager complains about the main.manager.bundle.js, e.g. cannot import @dhis2/ui-constants, then use:\nyarn start --no-manager-cache\n```\n\nFor the `yarn start` command, you can run it at the top-level directory if you are interested in looking at the StoryBook for all components, or navigate to a single component and run it there, which will usually start up StoryBook faster if you're working on one component.\n\n## Conditional E2E Test Recording\n\nTo record e2e tests in Cypress Cloud, you can use one of the following methods based on your needs:\n\n-   **Commit Message**: Include `[e2e record]` in your commit messages to activate recording.\n-   **GitHub Labels**: Apply the `e2e record` label to your pull request to trigger recording.\n\nThis setup helps in managing Cypress Cloud credits more efficiently, ensuring recordings are only made when explicitly required.\n\n## Reporting an issue or opening a PR\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhis2%2Fui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhis2%2Fui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhis2%2Fui/lists"}