AdonisJS 6
A batteries-included TypeScript-first Node.js MVC framework
js MVC framework that bundles routing, an ORM (Lucid), validation, authentication, and a modern IoC-based architecture into a single cohesive toolkit, in the spirit of frameworks like Laravel and Ruby on Rails.
Definition
AdonisJS 6 is a batteries-included, TypeScript-first Node.js MVC framework that bundles routing, an ORM (Lucid), validation, authentication, and a modern IoC-based architecture into a single cohesive toolkit, in the spirit of frameworks like Laravel and Ruby on Rails.
Overview
AdonisJS positions itself as a full-stack, opinionated framework in a Node.js ecosystem otherwise dominated by minimal, unopinionated libraries like Express. Version 6, a substantial rewrite released in the mid-2020s, modernized the framework around native ESM modules, top-level async configuration, and a more explicit dependency injection container, while retaining AdonisJS's long-standing design goal of shipping most of what a typical web application needs out of the box. AdonisJS bundles Lucid, its own Active-Record-style ORM with migrations, model relationships, and query building, alongside a first-party validation library (VineJS as of v6), a templating engine (Edge), and an authentication module supporting sessions, API tokens, and OAuth guards. Because these pieces are designed together rather than assembled from disparate third-party packages, they interoperate more predictably than a hand-assembled Express stack, at the cost of being more opinionated about project structure. AdonisJS 6 leans heavily on TypeScript, with strong typing across routing, validation schemas, and the ORM, and it uses an IoC container to manage service bindings and dependency injection, similar in spirit to Laravel's service container or NestJS's module system. The framework also ships a CLI (`ace`) for scaffolding controllers, models, migrations, and commands, reducing repetitive setup work. AdonisJS is generally chosen by teams that want a Rails/Laravel-like 'batteries-included' experience specifically for Node.js and TypeScript, prioritizing convention, built-in tooling, and cohesive first-party packages over the flexibility of assembling a stack from independent libraries.
Key Features
- Batteries-included MVC framework bundling ORM, validation, auth, and templating
- Built-in Lucid ORM with migrations, model relationships, and a query builder
- First-party VineJS validation library with strong TypeScript type inference
- Native ESM support and modernized async configuration in version 6
- IoC container for dependency injection and service binding
- Ace CLI for scaffolding controllers, models, migrations, and commands
- Edge templating engine for server-rendered views
- Session, token, and OAuth-based authentication guards included by default