{"id":26758191,"url":"https://github.com/ministryofjustice/hmpps-typescript-lib","last_synced_at":"2026-04-02T12:02:21.586Z","repository":{"id":256799885,"uuid":"856366237","full_name":"ministryofjustice/hmpps-typescript-lib","owner":"ministryofjustice","description":"A set of shared utilities for use with typescript projects","archived":false,"fork":false,"pushed_at":"2026-04-01T15:55:45.000Z","size":495,"stargazers_count":1,"open_issues_count":5,"forks_count":2,"subscribers_count":23,"default_branch":"main","last_synced_at":"2026-04-01T21:45:37.352Z","etag":null,"topics":["hmpps","library"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ministryofjustice.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/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":"2024-09-12T13:12:00.000Z","updated_at":"2026-04-01T15:55:48.000Z","dependencies_parsed_at":"2026-04-01T18:03:56.991Z","dependency_job_id":null,"html_url":"https://github.com/ministryofjustice/hmpps-typescript-lib","commit_stats":null,"previous_names":["ministryofjustice/hmpps-typescript-lib"],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/ministryofjustice/hmpps-typescript-lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmpps-typescript-lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmpps-typescript-lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmpps-typescript-lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmpps-typescript-lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ministryofjustice","download_url":"https://codeload.github.com/ministryofjustice/hmpps-typescript-lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmpps-typescript-lib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31305971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T09:48:21.550Z","status":"ssl_error","status_checked_at":"2026-04-02T09:48:19.196Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hmpps","library"],"created_at":"2025-03-28T16:18:42.815Z","updated_at":"2026-04-02T12:02:21.568Z","avatar_url":"https://github.com/ministryofjustice.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HMPPS typescript library\n\nA set of shared utilities for use with typescript projects.\nThe `@ministryofjustice/hmpps-typescript-lib` package itself should not be installed.\n\n## Using packages in your applications\n\nSee individual packages’ README.md\n\n- @ministryofjustice/eslint-config-hmpps – ESLint rules for HMPPS typescript projects\n- @ministryofjustice/hmpps-monitoring – Retrieve and display health and status information from external services and internal components\n\nSome of these will be included in the [template project](https://github.com/ministryofjustice/hmpps-template-typescript)\nand would be adopted automatically by new projects.\n\n## Development\n\nSub-packages in this projects are built on node 24 and tested on node 20, 22 and 24.\n\nnpm scripts from the root all delegate to sub-packages:\n\n```shell\nnpm run clean     # remove built artefacts\nnpm run build     # build artefacts\nnpm test          # run unit tests\nnpm run lint      # run lint checks\nnpm run lint-fix  # fix lint errors automatically where possible\nnpm run check-for-updates # run npm-check-updates across all packages\n```\n\n… and can be called within packages themselves:\n\n```shell\nnpm test --workspace packages/monitoring\ncd packages/monitoring \u0026\u0026 npm test\n```\n\nTo verify the build run:\n```\nnpm run clean \u0026\u0026 npm run build \u0026\u0026 npm run lint \u0026\u0026 npm test\n```\n\nTODO: document adding a new sub-package\n\n### Publishing process\n\nThere is a Github actions pipeline to publish new releases of sub-packages.\nWhen a new version needs to be released, these steps should be followed as part of the usual pull request process…\n\n1. Make necessary changes to package(s).\n2. Ensure the README.md and CHANGELOG.md files are correct.\n3. Update version in package.json for the updated packages, _not_ the root project.\n4. Create pull request, get it reviewed and merge into `main`.\n5. Create a tag on the `main` branch for the pull request’s squashed merge commit.\n   The tag name can be in the form `[package]-[version]`, but automation does not rely on this.\n   So run `git fetch --tags` to get all the existing tags, `git tag` to list the tags and, for example, run\n\n```shell\ngit tag clients-0.0.1-alpha.6\ngit push origin tag clients-0.0.1-alpha.6\n```\n\n6. On [Github](https://github.com/ministryofjustice/hmpps-typescript-lib/releases), create a new release from this tag.\n   This kicks off the Github actions pipeline to publish changed packages to npmjs.com and as tarball attachments to the\n   release itself.\n\nTODO: ideally, we would use something like this automatically, however squashing commits leaves the tag dangling\n\n```shell\nnpm version --workspace [package] [major | minor | prerelease --preid=pre]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fministryofjustice%2Fhmpps-typescript-lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fministryofjustice%2Fhmpps-typescript-lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fministryofjustice%2Fhmpps-typescript-lib/lists"}