flecha
TypeScript icon, indicating that this package has built-in type declarations

0.5.0 • Public • Published

Flecha 🏹

Opinionated, functional and typesafe ✨ HTTP server

This is a work in progress.

Features

JSON only

v1 of Flecha focus only on JSON requests and responses.

Future versions of Flecha may allow for handling other sorts of input and output data.

Litmus Test

The road to 1.0

  • [x] JSON decoding
  • [ ] Decent level of tests
  • [ ] Handle PATCH request
  • [ ] Dependency injection
    • Given an object of dependencies, have those dependencies available to request handlers things such as a db object containing a stateful database connection
  • [ ] Middleware
  • [ ] Built-In Parsers
    • [x] - Ability to parse url paths
    • [ ] - Ability to parse query params
  • [ ] Plug into existing expressjs application
  • [ ] TODO app
    • [ ] GET many todos
      • [ ] Implement pagination using query params
    • [ ] GET one todo
    • [ ] PUT todo
    • [ ] POST todo
    • [ ] DELETE todo
    • [x] write to db
  • [x] Re-export zod parsers and tie to a specific version / tag
    • [x] re-export zod's infer type
  • [x] Re-export neverthrow and tie to a specific version / tag
  • [ ] Better error messages for parsing errors
    • Currently I'm just returning the raw Zod error

OpenAPI Spec Generation

  • How do you enforce versioning of an API?
    • Would be nice if we could infer changes to an API and then update the OpenAPI document version ... info.version specifically

Ideas:

Shoutout / Inspiration:

https://github.com/akheron/typera https://github.com/lukeautry/tsoa

/flecha/

    Package Sidebar

    Install

    npm i flecha

    Weekly Downloads

    1

    Version

    0.5.0

    License

    MIT

    Unpacked Size

    26 kB

    Total Files

    8

    Last publish

    Collaborators

    • delgado14