{"id":50309105,"url":"https://github.com/lambdaisland/ring-node-adapter","last_synced_at":"2026-05-28T19:04:03.060Z","repository":{"id":358425839,"uuid":"1241357539","full_name":"lambdaisland/ring-node-adapter","owner":"lambdaisland","description":"Ring adapter for Node.js","archived":false,"fork":false,"pushed_at":"2026-05-17T09:45:33.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T11:41:11.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambdaisland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-17T09:33:14.000Z","updated_at":"2026-05-17T09:45:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lambdaisland/ring-node-adapter","commit_stats":null,"previous_names":["lambdaisland/ring-node-adapter"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lambdaisland/ring-node-adapter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fring-node-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fring-node-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fring-node-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fring-node-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambdaisland","download_url":"https://codeload.github.com/lambdaisland/ring-node-adapter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fring-node-adapter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33622070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"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"}},"keywords":[],"created_at":"2026-05-28T19:04:01.066Z","updated_at":"2026-05-28T19:04:03.046Z","avatar_url":"https://github.com/lambdaisland.png","language":"Clojure","funding_links":["https://opencollective.com/lambda-island","http://opencollective.com/lambda-island"],"categories":[],"sub_categories":[],"readme":"# lambdaisland/ring-node-adapter\n\n\u003c!-- badges --\u003e\n[![cljdoc badge](https://cljdoc.org/badge/com.lambdaisland/ring-node-adapter)](https://cljdoc.org/d/com.lambdaisland/ring-node-adapter) [![Clojars Project](https://img.shields.io/clojars/v/com.lambdaisland/ring-node-adapter.svg)](https://clojars.org/com.lambdaisland/ring-node-adapter) ![](https://img.shields.io/clojars/dt/com.lambdaisland%2Fring-node-adapter?style=flat-square)\n\u003c!-- /badges --\u003e\n\nRing adapter for Node.js\n\n## Features\n\n- Create web applications for Node.js in ClojureScript\n- Follow the Ring spec, but adjust to what makes sense on Node\n- Support async handlers through async functions/promises\n- Dependency-free, just Node's built-in HTTP modules\n\n\u003c!-- installation --\u003e\n## Installation\n\nTo use the latest release, add the following to your `deps.edn` ([Clojure CLI](https://clojure.org/guides/deps_and_cli))\n\n```clj\ncom.lambdaisland/ring-node-adapter {:mvn/version \"0.1.5\"}\n```\n\nor add the following to your `project.clj` ([Leiningen](https://leiningen.org/))\n\n```clj\n[com.lambdaisland/ring-node-adapter \"0.1.5\"]\n```\n\u003c!-- /installation --\u003e\n\n## Rationale\n\nThis is a fairly obvious and trivial idea, but looking around I couldn't find\nanyone who had done just this, a simple, minimal Ring-for-Node. The main prior\nart to acknowledge is [Macchiato](https://macchiato-framework.github.io/),\nhowever Macchiato purports to be an entire framework, not just a Ring adapter.\n\n## Usage\n\n```clj\n(require 'lambdaisland.ring-node-adapter)\n\n(lambdaisland.ring-node-adapter/run-adapter\n  (fn [req]\n    {:status 200 :body \"OK!\"})\n  {:port 1234})\n```\n\n\u003c!-- opencollective --\u003e\n## Lambda Island Open Source\n\nThank you! ring-node-adapter is made possible thanks to our generous backers. [Become a\nbacker on OpenCollective](https://opencollective.com/lambda-island) so that we\ncan continue to make ring-node-adapter better.\n\n\u003ca href=\"https://opencollective.com/lambda-island\"\u003e\n\u003cimg src=\"https://opencollective.com/lambda-island/organizations.svg?avatarHeight=46\u0026width=800\u0026button=false\"\u003e\n\u003cimg src=\"https://opencollective.com/lambda-island/individuals.svg?avatarHeight=46\u0026width=800\u0026button=false\"\u003e\n\u003c/a\u003e\n\u003cimg align=\"left\" src=\"https://github.com/lambdaisland/open-source/raw/master/artwork/lighthouse_readme.png\"\u003e\n\n\u0026nbsp;\n\nring-node-adapter is part of a growing collection of quality Clojure libraries created and maintained\nby the fine folks at [Gaiwan](https://gaiwan.co).\n\nPay it forward by [becoming a backer on our OpenCollective](http://opencollective.com/lambda-island),\nso that we continue to enjoy a thriving Clojure ecosystem.\n\nYou can find an overview of all our different projects at [lambdaisland/open-source](https://github.com/lambdaisland/open-source).\n\n\u0026nbsp;\n\n\u0026nbsp;\n\u003c!-- /opencollective --\u003e\n\n\u003c!-- contributing --\u003e\n## Contributing\n\nWe warmly welcome patches to ring-node-adapter. Please keep in mind the following:\n\n- adhere to the [LambdaIsland Clojure Style Guide](https://nextjournal.com/lambdaisland/clojure-style-guide)\n- write patches that solve a problem \n- start by stating the problem, then supply a minimal solution `*`\n- by contributing you agree to license your contributions as MPL 2.0\n- don't break the contract with downstream consumers `**`\n- don't break the tests\n\nWe would very much appreciate it if you also\n\n- update the CHANGELOG and README\n- add tests for new functionality\n\nWe recommend opening an issue first, before opening a pull request. That way we\ncan make sure we agree what the problem is, and discuss how best to solve it.\nThis is especially true if you add new dependencies, or significantly increase\nthe API surface. In cases like these we need to decide if these changes are in\nline with the project's goals.\n\n`*` This goes for features too, a feature needs to solve a problem. State the problem it solves first, only then move on to solving it.\n\n`**` Projects that have a version that starts with `0.` may still see breaking changes, although we also consider the level of community adoption. The more widespread a project is, the less likely we're willing to introduce breakage. See [LambdaIsland-flavored Versioning](https://github.com/lambdaisland/open-source#lambdaisland-flavored-versioning) for more info.\n\u003c!-- /contributing --\u003e\n\n\u003c!-- license --\u003e\n## License\n\nCopyright \u0026copy; 2026 Arne Brasseur and Contributors\n\nLicensed under the term of the Mozilla Public License 2.0, see LICENSE.\n\u003c!-- /license --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdaisland%2Fring-node-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdaisland%2Fring-node-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdaisland%2Fring-node-adapter/lists"}