@tricycle/tricycle
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

TricycleJS Azure Functions Framework

Description

TricycleJS is a library to simplify working with Azure Functions in Typescript.

TricycleJS is currently in Alpha and it's API is unstable. Please don't use it for anything important.

Features

  • Middlware: Strongly typed middleware
  • Endpoint: Type Specialization for Request & Response Body, Params, Headers, and Status
  • Timers: Timers can share middleware with Endpoints
  • API: The API modeled after the KoaJS API
  • Azure Functions: Access to underlying Azure Functions primatives

Installation

npm install @tricycle/tricycle

Usage

TricycleJS is used by creating an instance of Tricycle, extending it via middleware, and building endpoints and timers from it.

First Party Middleware

  • Log Winston - Adds a Winston Logger to the context using the Azure Function Logger as a transport

Links

History

  • v0.1.0 - 2022-10-23
    • Major refactor of entire library.
    • Improved typing on endpoints.
    • Add timer support.
    • Improved tests.
  • v0.0.14 - 2022-09-17
    • Turn on 'strictNullChecks' and adjust code to match.
    • Add support for 'undefined' body.
    • Improve body tests.
  • v0.0.13 - 2022-09-17
    • Add additional common header names.
    • Improve invoke middleware. 'next' is no longer optional in middleware.
  • v0.0.12 - 2022-09-04
    • Default status and content-type for various body types.
    • Improve tests.
  • v0.0.11
    • Add request ip.
    • Change Request values to be wrappers of underlying Azure Request.
    • Add various Request URL replated properties.
    • Simplify code and improve comments and tests.
  • v0.0.10
    • Add request.is() to check mime type.
    • Add request.is* type guards for request body.
    • Change MimeType names.
  • v0.0.9
    • Add ctx.request.body for request body.
    • Add ctx.request.rawBody for request body string.
    • Add ctx.request.params for path parameters.
    • Add ctx.app to allow Tricycle instance to be accessed from middleware.
    • Change app.middleware() to app.use().
  • v0.0.8
    • Add type specialization for http status and response headers for endpoints.
    • Add Typescript example code.
    • Code cleanup.
  • v0.0.7
    • Add type specialization for endpoint middleware.
    • Remove unneeded interfaces.
    • Fix example code.
  • v0.0.5
    • Improve middleware ordering to match Koa.
    • Add initial example code.
    • Force clean build on dryrun.
  • v0.0.4
    • Middlware exports.
    • Build improvements.
    • Add metadata to package.json.
  • v0.0.3
    • Build and export changes.
  • v0.0.2
    • Build changes.
  • v0.0.1
    • Initial release.

Legal & License

Copyright 2022 Adam Mill

This library is released under Apache 2 license. See LICENSE for more details.

Readme

Keywords

Package Sidebar

Install

npm i @tricycle/tricycle

Weekly Downloads

1

Version

0.1.0

License

none

Unpacked Size

184 kB

Total Files

110

Last publish

Collaborators

  • tricycle