The Node.js Framework highly focused on developer ergonomics
...Controllers are first-class citizens in AdonisJS. They help you remove the inline route handlers to dedicated controller files. Along with the standard body parser, the support for managing file uploads is baked into the framework core. The schema-based validator of AdonisJS provides you with both runtime validations and static type safety. Create traditional style server-rendered web apps using home-grown template engine of AdonisJS.
Middleware and an Upload scalar to add support for GraphQL
Minimalistic and developer-friendly middleware and an Upload scalar to add support for GraphQL multipart requests (file uploads via queries and mutations) to various Node.js GraphQL servers. This module was forked from the amazing graphql-upload-minimal. The original module is exceptionally well-documented and well-written. It was very easy to fork and amend.
...Since most koa middleware operates by adding extra data to the request object, this means you can use most koa middleware just by inserting it before graphqlHTTP is mounted. This covers scenarios such as authenticating the user, handling file uploads, or mounting GraphQL on a dynamic endpoint.