- 0.6.2Latest
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.2.0-alpha.15
- 0.2.0-alpha.14
- 0.2.0-alpha.13
- 0.2.0-alpha.12
- 0.2.0-alpha.11
- 0.2.0-alpha.10
- 0.2.0-alpha.9
- 0.2.0.alpha-9
- 0.2.0-alpha.8
- 0.2.0-alpha.7
- 0.2.0-alpha.6
- 0.2.0-alpha.5
- 0.2.0-alpha.4
- 0.2.0-alpha.3
- 0.2.0-alpha.2
- 0.2.0-alpha.1
- 0.2.0-alpha
- 0.1.0
- 0.0.24
- 0.0.23
- 0.0.22
- 0.0.21
- 0.0.20
- 0.0.19
- 0.0.18
- 0.0.17
- 0.0.16
- 0.0.15
- 0.0.14
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- 0.0.0
Cav
Cav is an experimental TypeScript web framework for Deno. It approaches web development with a declarative, backend-first mindset. It was written with developers and DX top-of-mind.
Hack this site. (plz)
Features
TODO: Elaborate and provide examples
- Zero third-party dependencies
- This wouldnāt be possible without Deno and its excellent standard library
- Automatic bundling of TypeScript assets
- Also thanks to Deno. If you havenāt used it yet, go use it! š¦
- End-to-end type safety (inspired by trpc)
- Compatibility with Zod data parsers
- āAny-bodyā data serialization (like superjson and friends, but with added support for Files and Blobs. See
pack.ts
for more info; look at thepackBody
andunpackBody
functions.) - Declarative routing (
stack.ts
) - Declarative endpoint definitions (
rpc.ts
) - Unopinionated about project structure
- Highly opinionated about behind-the-scenes HTTP procedures
- Carefully chosen defaults
- Easy-to-use web sockets
- Zero-config (the code is the config)
- Cookies (ofc)
- Custom context support
- TODO: thereās more, Iām just exhausted
Status
Alpha.
Although many months have been spent on this project, Cav is still just a baby. Thereās a ton of work to do before v0.1 (Beta).
The only documentation so far is the documentation in the code itself, and fair warning, itās a bit cluttered in some spots. Code quality is on the to-do list, but the focus is currently good documentation and good tests. Which, apparently, are super hard to write if you decided not to write them first. (Who knew?)
Also, on that note, only one of the modules is tested at this point. DO NOT use this in production. (Unless youāre me and the site is cav.bar, in which case ārules are made to be broken.ā)
If you want progress updates, you can follow me on GitHub or Twitter. Iāll work on adding more ways to stay up-to-date after some decent docs/tests have made it out of my system.
Please come again soon. If youāre reading this, the journey has only just begun.
Dedication
Cav is dedicated to the bar it was named after.