AWS Lambda Support
Already in progress, just need to find a good way of splitting out modules if possible. The goal is for initially to have one AWS lambda per Rest endpoint, and to only include the dependencies necessary for that endpoint. This should allow for minimal size of lambda functions, which should also help with cold start performance. In the long run, the goal is to support all serverless implementations, but AWS is an easy starting point.(Attempt to) Integrate the Typescript type checker
As it stands now, the code transformations (Schema/Model/Rest/Logging/etc.) now work off of single files, and do not do any type resolution. While this works well enough, there are quite a few corner cases, specifically with things like return types and interfaces. The goal is to be 100% correct with the Typescript compiler, but that generally comes at a performance cost for application startup. Hopefully we can integrate the type checker to provide a richer developer experience (and maybe even supporting interfaces in lieu of classes where applicable).This is a big step forward for the project as nearly every major component has been rewritten at least once, and real world projects are proving out the stability and robustness of the framework at large.
To get started, just use our getting started guide.
Changes
Version 0.7.0 changes (since 0.6.0):Major Changes
- Updated to Node v12 and Typescript 3.5.x as a minimum requirement
- SQL support in the Model Service (postgres and mysql for initial rollout)
- Moved to async stack traces, which resulted in a substantial performance improvement
- Requires node 12.x for full stack traces now
- Added xUnit as test format output for better integration with build systems
- Proper GEO distance/within queries for Mongo and Elasticsearch
- SQL support is pending
- Swagger/Client Generation Fixes for ALL endpoints as well as endpoints with path parameters
- Switched over to openapitools as swagger-codegen-cli was out of date
- Rewrote all code transformers to follow specific pattern/framework
- Code visiting is now in a single pass
- Focuses on methods/fields/classes as specific type of visitation
- Makes it very clear what each transformer does and how to modify it
Minor Fixes
- Changes to ModelService to support rest-session being able to persist properly
- Yeoman Genenrator has been updated, and the internal dependency management has been rewritten
- Library updates to maintain latest working versions
- Brought support for Map/Set to route serialization as JSON objects and arrays
- Resolved issues with fastify and path determination
- Properly support redirects in Net util
- Worker pools now support async operations fully
- Resolved CORS issue with headers/methods
- General bug fixes