{"id":18402158,"url":"https://github.com/khrj/deno-modules","last_synced_at":"2026-04-25T12:36:18.607Z","repository":{"id":103555439,"uuid":"339370846","full_name":"khrj/deno-modules","owner":"khrj","description":"A complete list of all the Deno modules I've made / ported","archived":false,"fork":false,"pushed_at":"2021-07-12T09:51:30.000Z","size":433,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-25T12:36:17.268Z","etag":null,"topics":["deno","list","module","port","rewrite","strict","types","typescript"],"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/khrj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-16T11:05:49.000Z","updated_at":"2025-08-27T13:21:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"16f52e1c-9c0c-44f5-ad4d-9e06c10b89a6","html_url":"https://github.com/khrj/deno-modules","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/khrj/deno-modules","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khrj%2Fdeno-modules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khrj%2Fdeno-modules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khrj%2Fdeno-modules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khrj%2Fdeno-modules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khrj","download_url":"https://codeload.github.com/khrj/deno-modules/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khrj%2Fdeno-modules/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32262801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"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":["deno","list","module","port","rewrite","strict","types","typescript"],"created_at":"2024-11-06T02:41:23.502Z","updated_at":"2026-04-25T12:36:18.553Z","avatar_url":"https://github.com/khrj.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"assets/logo.png\" width=\"350\" height=\"350\" alt=\"package with deno icon on bottom left\"\u003e\n    \u003ch1\u003eDeno modules\u003c/h1\u003e\n    \u003cp\u003e\n        \u003cb\u003eA complete list of all the Deno modules I've made / ported\u003c/b\u003e\n    \u003c/p\u003e\n    \u003cp\u003e\n        \u003cimg alt=\"runtime - deno\" src=\"https://img.shields.io/badge/runtime-deno-brightgreen?logo=deno\" \u003e\n        \u003cimg alt=\"total - 17\" src=\"https://img.shields.io/badge/total-17-blue\"\u003e\n        \u003cimg alt=\"Deno Slack SDK - 8\" src=\"https://img.shields.io/badge/Deno%20Slack%20SDK-8-blue?logo=slack\"\u003e\n        \u003cimg alt=\"written from scratch - 4\" src=\"https://img.shields.io/badge/written%20from%20scratch-4-blue\" \u003e\n        \u003cimg alt=\"rewrites - 1\" src=\"https://img.shields.io/badge/rewrites-1-blue\" \u003e\n        \u003cimg alt=\"ports - 4\" src=\"https://img.shields.io/badge/ports-4-blue\"\u003e\n    \u003c/p\u003e\n    \u003cp\u003e\n        \u003cb\u003e\u003ca href=\"https://github.com/khrj/blueprint\"\u003eView Blueprint\u003c/a\u003e\u003c/b\u003e\n    \u003c/p\u003e\n    \u003cbr\u003e\n    \u003cbr\u003e\n    \u003cbr\u003e\n\u003c/div\u003e\n\n\n# Table of Contents\n\n- [Deno Slack SDK](#deno-slack-sdk)\n- [Written from scratch](#written-from-scratch)\n    - [ngrok](#ngrok)\n    - [hcload](#hcload)\n    - [Typed Event Target](#typed-event-target)\n    - [Get Release URL](#get-release-url)\n- [Rewrites](#rewrites)\n    - [retried](#retried)\n- [Ports](#ports)\n    - [p-queue](#p-queue)\n    - [p-retried](#p-retried)\n    - [p-timeout](#p-timeout)\n    - [Finity](#finity)\n\n# Deno Slack SDK\n\n\u003cp\u003e\n    \u003cimg alt=\"runtime - deno\" src=\"https://img.shields.io/badge/runtime-deno-brightgreen\"\u003e\n    \u003cimg alt=\"total - 8\" src=\"https://img.shields.io/badge/total-8-blue\"\u003e\n    \u003cimg alt=\"typescript - 100%\" src=\"https://img.shields.io/badge/typescript-100%25-blue\"\u003e \n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/slack-deno/deno-slack-sdk\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e\n\n\n# Written from Scratch\n\n## ngrok\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/ngrok/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/ngrok\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/ngrok\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/ngrok\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/ngrok\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/ngrok\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/ngrok\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/ngrok\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Expose your localhost to the web. Ultra-simple deno wrapper for ngrok\n\n## hcload\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/hcload/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/hcload\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/hcload\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/hcload\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/hcload\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/hcload\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/hcload\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/hcload\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Easily upload files to the [Hack club](https://hackclub.com) CDN\n\n## Typed Event Target\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/typed-event-target/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/typed-event-target\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/typed-event-target\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/typed-event-target\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/typed-event-target\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/typed-event-target\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/typed-event-target\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/typed_event_target\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Strictly typed EventTarget for Deno and the Browser\n\n## Get Release URL\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/get-release-url/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/get-release-url\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/get-release-url\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/get-release-url\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/get-release-url\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/get-release-url\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/get-release-url\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/get_release_url\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Get the latest release URL from any hosting provider. Supports pattern matching\n\n# Rewrites\n\n## retried\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/retried/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/retried\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/retried\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/retried\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/retried\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/retried\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/retried\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/retried\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Abstraction for exponential and custom retry strategies for failed operations. \n- Original module: [retry](https://www.npmjs.com/package/retry)\n- Changes: Deno, TypeScript, ES6+\n\n# Ports\n\n## p-queue\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/p-queue/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/p-queue\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/p-queue\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/p-queue\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/p-queue\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/p-queue\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/p-queue\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/p_queue\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Promise queue with concurrency control. Useful for rate-limiting async (or sync) operations. For example, when interacting with a REST API or when doing CPU/memory intensive tasks.\n- Original module: [p-queue](https://www.npmjs.com/package/p-queue)\n\n## p-retried\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/p-retried/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/p-retried\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/p-retried\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/p-retried\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/p-retried\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/p-retried\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/p-retried\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/p_retried\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Retry a promise-returning or async function. Abstraction for exponential and custom retry strategies for failed operations\n- Original module: [p-retry](https://www.npmjs.com/package/p-retry)\n\n## p-timeout\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/p-timeout/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/p-timeout\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/p-timeout\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/p-timeout\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/p-timeout\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/p-timeout\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/p-timeout\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/p_timeout\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: Timeout a promise after a specified amount of time\n- Original module: [p-timeout](https://www.npmjs.com/package/p-timeout)\n\n## Finity\n\n\u003cp\u003e\n\u003cimg alt=\"build status\" src=\"https://img.shields.io/github/workflow/status/khrj/finity/Deno?label=checks\" \u003e\n\u003cimg alt=\"language\" src=\"https://img.shields.io/github/languages/top/khrj/finity\" \u003e\n\u003cimg alt=\"code size\" src=\"https://img.shields.io/github/languages/code-size/khrj/finity\"\u003e\n\u003cimg alt=\"issues\" src=\"https://img.shields.io/github/issues/khrj/finity\" \u003e\n\u003cimg alt=\"license\" src=\"https://img.shields.io/github/license/khrj/finity\"\u003e\n\u003cimg alt=\"version\" src=\"https://img.shields.io/github/v/release/khrj/finity\"\u003e\n\u003c/p\u003e\n\n\u003cb\u003e\u003ca href=\"https://github.com/khrj/finity\"\u003eView on GitHub\u003c/a\u003e\u003c/b\u003e -- \u003cb\u003e\u003ca href=\"https://deno.land/x/finity\"\u003eView on deno.land\u003c/a\u003e\u003c/b\u003e\n\n- Description: A finite state machine library with a friendly configuration DSL.\n- Original module: [finity](https://www.npmjs.com/package/finity)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhrj%2Fdeno-modules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhrj%2Fdeno-modules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhrj%2Fdeno-modules/lists"}