{"id":13527586,"url":"https://github.com/predetermined/aqua","last_synced_at":"2025-12-11T21:11:17.133Z","repository":{"id":37794981,"uuid":"262833734","full_name":"predetermined/aqua","owner":"predetermined","description":"A minimal and fast 🏃 web framework for Deno.","archived":false,"fork":false,"pushed_at":"2023-12-13T11:23:26.000Z","size":204,"stargazers_count":216,"open_issues_count":5,"forks_count":6,"subscribers_count":3,"default_branch":"v2","last_synced_at":"2025-11-09T23:10:38.765Z","etag":null,"topics":["aqua","cookies","deno","file-upload","hacktoberfest","http","http-server","middlewares","typescript","web","web-framework"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/predetermined.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},"funding":{"github":"l2ig"}},"created_at":"2020-05-10T16:56:01.000Z","updated_at":"2025-08-27T13:22:07.000Z","dependencies_parsed_at":"2024-06-21T16:50:57.245Z","dependency_job_id":"6b5b6424-3670-42e8-89a1-4662b7d96aab","html_url":"https://github.com/predetermined/aqua","commit_stats":null,"previous_names":["grayliquid/aqua","l2ig/aqua","predetermined/aqua","gr7d/aqua"],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/predetermined/aqua","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/predetermined%2Faqua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/predetermined%2Faqua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/predetermined%2Faqua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/predetermined%2Faqua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/predetermined","download_url":"https://codeload.github.com/predetermined/aqua/tar.gz/refs/heads/v2","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/predetermined%2Faqua/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27556417,"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","status":"online","status_checked_at":"2025-12-06T02:00:06.463Z","response_time":60,"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":["aqua","cookies","deno","file-upload","hacktoberfest","http","http-server","middlewares","typescript","web","web-framework"],"created_at":"2024-08-01T06:01:52.687Z","updated_at":"2025-12-11T21:11:17.094Z","avatar_url":"https://github.com/predetermined.png","language":"TypeScript","readme":"# Aqua\n\nAqua is a minimal and fast web framework.\n\n\u003e :warning: This version is a WIP and has not yet been released. Please refer to the [main branch](https://github.com/grayliquid/aqua/tree/main) for the current documentation.\n\n## Example usage\n\n### It starts easy,\n\n```typescript\nimport { Aqua } from \"...\";\n\nconst app = new Aqua({\n  listen: {\n    port: 80,\n  },\n});\n\napp.route(\"/\").respond(Method.GET, (_event) =\u003e {\n  return new Response(\"Hello, World!\");\n});\n```\n\n### ... and stays easy.\n\n```typescript\nconst v1 = app.route(\"/v1\").step(async (event) =\u003e {\n  if (!event.request.headers.has(\"X-Api-Key\")) {\n    event.response = Response.json(\n      { error: \"MISSING_API_KEY\" },\n      {\n        status: 400,\n      }\n    );\n    return event.end();\n  }\n\n  const user = await getUserByRequest(event.request);\n  //    ^ type User\n\n  return {\n    ...event,\n    user,\n  };\n});\n\nv1.route(\"/user\").respond(Method.GET, (event) =\u003e {\n  return Response.json({ data: { user: event.user } });\n  //                                         ^ type User\n});\n```\n","funding_links":["https://github.com/sponsors/l2ig"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpredetermined%2Faqua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpredetermined%2Faqua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpredetermined%2Faqua/lists"}