The AdonisJS Roadmap
Where the framework is headed over the coming months. Items here are the bigger pieces of work across AdonisJS core, first-party packages, and tooling. For version-by-version changes, see the release notes
Currently, all HTTP requests pass through the static file middleware and perform a file-existence check on disk. This introduces unnecessary overhead. To improve performance, the static file lookup should only occur when the request URL starts with a predefined prefix such as /public or /assets.
Inertia team has lately added a bunch of new features. Which includes, dedicated support for flash messages, once props, infinite scrolling support within the protocol.
We will have to find all the packages that must accept the Secret class for the secret value.
As of today, there is no way to get list of all the sessions, delete a session by id, or check if a session for the given id exists.
- Make sure types generation works great with projects using DDD folder structure, even share an example of it in docs. - x Assembler to use its watcher over hot-hook watcher to recover crashed process. - x Generate the manifest file
Related PR. This is ready to tested and released https://github.com/vinejs/vine/pulls
Ace commands like node ace inertia:page and node ace inertia:component to create scaffold new pages and components
Since the next VineJS version will be standard-schema-compatible, we should be able to make the core agnostic of Vine. Any place where a validation schema is expected should work with any standard-schema-compatible library. For example, request.validateUsing
Pino is an asynchronous logger — it writes logs in the background without blocking the event loop. This makes it fast and efficient, but it can also cause a small delay before logs appear after an action happens.
Currently writing functional tests with any starter kit requires additional steps and this shouldn't be the case.
Since typesafe URL building will now be part of the core, we need to refactor Tuyau to use it instead of maintaining its own version
The generator system will be used to create types for various things. It includes
Building forms in Edge often involves a significant amount of repetitive code — especially when handling errors, repopulating old form data, and displaying global alert messages.
- Need to push the new version of adonisjs/inertia with the typed pages system PR is almost ready , we are just missing the Generator System to finish it
- Need to think about a way to get rid off this NODE_ENV=production thing a lot of people are missing - x Prepare support for Vite 7 ( Waiting for two of our dependencies to add support for it ) - x Probably replace Vavite Multibuild with new Vite Environment API which is super great
As explained in the Roadmap we want a clean Integration with Tanstack. Pending PR : https://github.com/Julien-R44/tuyau/pull/60
The typed URL builder will replace the existing router.makeURL and router.makeSignedURL methods in favor of a type-safe API. Additionally, it will be possible to narrow down the route search by the HTTP method.
The URL builder client will be generated on the fly by AdonisJS Core. The client could be imported by any frontend app as long as it is part of the same project.
The next version of Youch has been published on npm under the @beta tag. We must replace all usages of it for the next release to use the beta version.
The framework core refers to all the packages included by the @adonisjs/core package.
Quite often you would want to reference certain values inside email templates. For example: The name of the brand, logo URL, footer details, and so on. Therefore, the Mail globals could be used for the same.
Currently, when we flash validation error messages via session.flashValidationErrors, we also flash all the input data.
Currently, we need to use the trim rule in validators to remove whitespace around string values. This can be repetitive and tedious since it must be defined for every single field — whether using VineJS or any other validation library.
This must be for edge templates only. Because right now we return undefined and that shows up in input fields as a value.
Flashing alert messages after an action is a common use-case. Therefore, we must add helpers to flash an error or a success message.
@RomainLanz has already put in the work needed to create a framework agnostic queue package https://github.com/boringnode/queue .
Become an Insider
Support framework development and get early access to new packages and experimental features before they go public.
New first-party packages and major framework versions land for Insiders 2 to 4 weeks before public release. Prepare upgrades and test against your codebase before everyone else.
Your sponsorship is what keeps AdonisJS being built full-time. The framework you build on has a maintainer working on it every day, not someone fitting it around a day job.
54+ developers are sponsoring AdonisJS