{"id":21658077,"url":"https://github.com/tsirysndr/rescript-deno","last_synced_at":"2025-04-11T22:33:34.836Z","repository":{"id":218098027,"uuid":"745108591","full_name":"tsirysndr/rescript-deno","owner":"tsirysndr","description":"Use Deno with Rescript 🦕","archived":false,"fork":false,"pushed_at":"2024-12-09T09:01:43.000Z","size":1268,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T00:57:25.538Z","etag":null,"topics":["deno","rescript","rescript-binding"],"latest_commit_sha":null,"homepage":"","language":"ReScript","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/tsirysndr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2024-01-18T16:56:03.000Z","updated_at":"2025-03-17T21:32:12.000Z","dependencies_parsed_at":"2024-11-25T09:39:46.155Z","dependency_job_id":null,"html_url":"https://github.com/tsirysndr/rescript-deno","commit_stats":null,"previous_names":["tsirysndr/rescript-deno"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsirysndr%2Frescript-deno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsirysndr%2Frescript-deno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsirysndr%2Frescript-deno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsirysndr%2Frescript-deno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsirysndr","download_url":"https://codeload.github.com/tsirysndr/rescript-deno/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248490208,"owners_count":21112706,"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"}},"keywords":["deno","rescript","rescript-binding"],"created_at":"2024-11-25T09:28:37.396Z","updated_at":"2025-04-11T22:33:34.827Z","avatar_url":"https://github.com/tsirysndr.png","language":"ReScript","funding_links":[],"categories":["ReScript"],"sub_categories":[],"readme":"\u003cdiv\u003e\n  \u003cimg src=\"https://rescript-lang.org/static/brand/rescript-logo.svg\" width=\"400\"  /\u003e\n  \u003cimg src=\"https://github.com/denoland/docs/raw/fc4f4c790d9b76fa03fd3b61f6ee086431de3a10/static/img/logo.svg\" height=\"100\" /\u003e \n\u003c/div\u003e\n\n# rescript-deno 🦕\n\nUse [Deno](https://deno.com/) with [ReScript](https://rescript-lang.org/).\n\n\u003e Note: This is a work in progress. 🏗️🚧\n\u003e\n\u003e Project Status: 🐲 Unstable, alpha-ish quality.\n\n## 🚚 Install\n\nYou need to be on at least a recent RC of ReScript v11.\n\n```sh\nnpm i @tsirysndr/rescript-deno @rescript/core\n```\n\nInclude them in your `rescript.json`:\n\n```json\n{\n  \"bs-dependencies\": [\"@rescript/core\", \"@tsirysndr/rescript-deno\"]\n}\n```\n\n`rescript-deno` is [namespaced](https://rescript-lang.org/docs/manual/latest/build-configuration#name-namespace), so you'll find all modules listed under the main module `TsirysndrRescriptDeno`.\n\n**You're strongly encouraged to open `TsirysndrRescriptDeno` globally, to get the best possible developer experience.** You do that by adding this to your `rescript.json`:\n\n```json\n{\n  \"bsc-flags\": [\n    \"-open TsirysndrRescriptDeno\",\n    \"-open TsirysndrRescriptDeno.Globals\",\n    \"-open RescriptCore\"\n  ]\n}\n```\n\nThis might be a matter of taste, but I recommend opening it to get the best experience.\n\nThis will make all of Deno available to you without needing to dip into the `TsirysndrRescriptDeno` module explicitly.\n\n## 🧑‍🔬 Examples\n\nA Simple HTTP Server:\n\n```rescript\nDeno.serveWithOptions({port: 8007}, ~handler=req =\u003e {\n  Response.new(String(\"Hello, world!\"))\n})-\u003eignore\n```\n\nMake a request to a server:\n\n```rescript\nlet result = await fetch(String(\"https://rickandmortyapi.com/api/character\"))\nConsole.log(await result-\u003eResponse.json)\n```\n\nSee [playground](playground) directory in this repo for more examples.\n\n## 📑 Current Coverage\n\nThere's still a good amount of bindings missing. Here's what's currently available:\n\n- [x] Broadcast Channel\n  - [x] BroadcastChannel\n- [x] Cloud\n  - [x] Deno KV\n  - [x] Deno Cron\n  - [x] Deno Queue\n- [ ] Cache API\n  - [ ] Cache\n  - [ ] CacheStorage\n  - [ ] caches\n- [ ] Compression Streams API\n  - [ ] CompressionStream\n  - [ ] DecompressionStream\n- [ ] DOM APIs\n- [ ] DOM Events\n- [x] Encoding API\n  - [x] TextDecoder\n  - [x] TextEncoder\n  - [x] atob\n  - [x] btoa\n- [ ] Errors\n- [ ] ES Modules\n- [ ] Fetch API\n  - [x] Body\n  - [ ] EventSource\n  - [x] FormData\n  - [x] Headers\n  - [x] Request\n  - [x] Response\n  - [x] ResponseInit\n  - [x] BodyInit\n  - [x] fetch\n- [x] File System\n- [ ] HTTP Server\n  - [x] Deno.serve\n  - [ ] Deno.serveHttp\n- [x] I/O\n- [x] Network\n  - [x] Deno.connect\n  - [x] Deno.connectTls\n  - [x] Deno.listen\n  - [x] Deno.listenTls\n  - [x] Deno.networkInterfaces\n  - [x] Deno.resolveDns\n  - [x] Deno.shutdown\n  - [x] Deno.startTls\n- [ ] Observability\n- [ ] Performance\n- [x] Permissions\n- [x] Runtime Environment\n  - [x] Deno.version\n  - [x] Deno.pid\n  - [x] Deno.ppid\n  - [x] Deno.noColor\n  - [x] Deno.args\n  - [x] Deno.mainModule\n  - [x] Deno.build\n  - [x] Deno.env\n  - [x] Deno.exit\n- [ ] Scheduling\n- [ ] Streams API\n- [x] Sub Process\n  - [x] Deno.ChildProcess\n  - [x] Deno.Command\n  - [x] Deno.kill\n- [x] Testing\n  - [x] Deno.test\n  - [x] Deno.bench\n- [ ] Timers\n- [ ] Typed Arrays\n- [ ] Web APIs\n- [ ] Web Crypto API\n- [ ] Web File API\n  - [x] Blob\n  - [x] File\n  - [ ] FileReader\n- [x] Web Sockets\n  - [x] CloseEvent\n  - [x] WebSocket\n- [ ] Web Storage API\n  - [ ] Storage\n  - [ ] localStorage\n  - [ ] sessionStorage\n- [ ] Web Workers\n  - [ ] Worker\n- [ ] WebAssembly\n- [ ] WebGPU\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsirysndr%2Frescript-deno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsirysndr%2Frescript-deno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsirysndr%2Frescript-deno/lists"}