A new lesson just dropped in our Adding an API series!
We'll remove the modules show route from our resource using except, then refactor to add a GetModules action for our modules index & courses show routes.
Get started β
buff.ly/r5xoN1K
@adonisjs.com.bsky.social
A fully featured @nodejs.org framework for creating bespoke backend applications in record time. Created by @iamvirk.bsky.social. Learn on @adocasts.com
A new lesson just dropped in our Adding an API series!
We'll remove the modules show route from our resource using except, then refactor to add a GetModules action for our modules index & courses show routes.
Get started β
buff.ly/r5xoN1K
π The AdonisJS 7 roadmap is live!
Standalone Lucid, better Inertia support, type-safe URLs, built-in notifications, diagnostics, encryption, and more.
Check out whatβs coming next, and tell us what you think!
adonisjs.com/blog/roadmap...
π¨ In 30 minutes, Harminder will be live on GitHubβs Open Source Friday!
Tune in to hear about the motivation behind AdonisJS, the design choices that shaped it, and what sets it apart from other frameworks.
The βLetβs Learn AdonisJS 6β course on Adocasts. The course is marked as Beginner level, with 113 lessons totaling 14 hours and 11 minutes. Description mentions learning AdonisJS 6 step-by-step, covering routing, controllers, services, EdgeJS, Lucid ORM, forms, filtering, authentication, etc. Hashtags include #vite, #markdown, #redis. Buttons for βStart Seriesβ, βRepositoryβ, and βYouTubeβ are displayed. A sidebar lists modules: Introduction, Fundamentals, EdgeJS views, Database & Lucid ORM, ORM Relationships, Forms, Authentication, Filtering & Pagination, User Watchlist, User Profiles, Admin Panel.
Want to learn AdonisJS 6 but don't know where to start?
@adocasts.com has you covered with their free course: "Let's Learn AdonisJS 6".
You'll get hands-on with most of the core framework features.
Start here π adocasts.com/series/lets-...
Hey @SI-IC! ππ» AdonisJS has been around since 2015, longer than many frameworks currently active in the Node.js ecosystem. From the beginning, our goal has been to help developers write better software in Node.js. That goal doesn't require us to chase popularity or compete with other frameworks. We're not here to fight, we're here to build something stable, fast, and pleasant to use. Why would AdonisJS stop in the next 2β3 years? Quite the opposite is happening. Just a year ago, we released a major update embracing ESM to stay aligned with the direction of the Node.js ecosystem. We're also actively refactoring Lucid, our ORM, to make it more powerful and developer-friendly. The level of care and long-term thinking behind AdonisJS is rare. Since you mentioned NestJS: despite its popularity, Nest has yet to adopt ESM and still relies on non-standard decorators. As the ecosystem shifts toward spec-compliance, that could become a bigger issue. From a long-term perspective, frameworks that don't evolve with the platform may be more at risk than those that do. We're here for the long haul, not because we aim to dominate, but because we believe in building excellent tools that we love to use ourselves.
"How long will adonisjs exist?"
github.com/orgs/adonisj...
As with our move to ESM, we want to stay aligned with the JavaScript spec and avoid TypeScript-only patterns. Weβll start testing the new syntax internally and share updates as we go. π
02.05.2025 08:47 β π 4 π 0 π¬ 0 π 0RyanCavanaugh writting : "I don't think we're going to have decorator metadata in ES decorators. It's unlikely. Not impossible, but very unlikely. We are increasingly moving away from any type-based emit in all forms; it's slow, error-prone, impossible for third-party tools to replicate, and not standardized. emitDecoratorMetadata is documented as experimental, and also requires you to set another flag with experimental in the name. Features don't stop becoming experimental due to the passage of time -- if we thought they were not experimental, we would have renamed them. They're still experimental, and it's still up to each developer to understand the consequences of taking dependencies on features that are not considered stable. We tried for a very long time to align the TC39 decorator proposal with the experimental decorators that originated in TypeScript. The committee didn't land on something that exactly aligns with what we have, with one...."
After a year of uncertainty, the TypeScript team has officially confirmed that spec-compliant decorators will not support emitting type metadata.
Since decorators are used sparingly in AdonisJS, migrating away from the experimental syntax will mostly affect Dependency Injection.
Welcome! π
23.03.2025 10:07 β π 3 π 0 π¬ 0 π 0A promotional banner for the 'Building with AdonisJS & Inertia' course on Adocasts. The course is labeled as 'Intermediate' and includes 91 lessons totaling 14 hours and 5 minutes. The description states that learners will use InertiaJS with AdonisJS 6 to build a full-featured application named PlotMyCourse, incorporating server-side rendering (SSR), Vue 3, and Shadcn-Vue. The course covers organizations, drag-and-drop features, and extensive form handling.
Ever wanted to master InertiaJS?
@adocasts.com offers a free series of 91 videos, totaling over 14 hours, guiding you through building an application with AdonisJS 6 and InertiaJS.
Start learning today! π
βΆοΈ adocasts.com/series/build...
Code example showing that we removed the top-level "where" method since it may cause issue with automatically added where clause.
This global where clause can bite you if there are `or where` conditions in your query.
To mitigate that, we are removing the top-level `orWhere` method from the query builder, and you will be forced to always define a `orWhereGroup` to write or where conditions.
Code example showing that now, any query made by the Query Building will have the added constraint automatically added.
All other parts of your application using DI will receive the same QueryClient instance during the current HTTP request.
For example, here I am fetching all the posts for a given tenant without remembering to always add this clause.
Code example showing the creation of a new QueryClient instance, forcing a query constraint on all query and then binding the new instance to our Dependency Injection Container.
1. Define a middleware that creates an instance of QueryClient and auto adds the `where tenant_id clause` to all the queries.
2. Bind this instance of the QueryClient to the container.
Coming in the next version of Lucid: First-class support for Multi-Tenant applications!
With built-in Dependency Injection, you can effortlessly create a custom QueryClient that automatically applies the right query constraints for each tenant.
Learn more π
We just released the '@adonisjs/cache' package! π±
It brings a powerful caching layer to AdonisJS, making it easy to store and retrieve data efficiently.
Check out the documentation and give it a try!
βΆοΈ docs.adonisjs.com/guides/diggi...
Exciting news!
Aman Virk, the creator of AdonisJS, will be speaking at LaravelLive Bangalore. π
Want to join the online meetup? Register now by following the link.
allevents.in/bangalore/la...
In case you were already using the alpha version of the package, feel free to read Bentocache release notes:
github.com/Julien-R44/b...
We just released the '@adonisjs/cache' package! π±
It brings a powerful caching layer to AdonisJS, making it easy to store and retrieve data efficiently.
Check out the documentation and give it a try!
βΆοΈ docs.adonisjs.com/guides/diggi...
Our lesson going over the new overload option for the unique & exists VineJS rules in AdonisJS 6 is now free to all!
Watch on Adocasts:
https://adocasts.com/lessons/new-unique-and-exist-validation-overloads-in-adonisjs-6
Watch on YouTube:
π My latest slide deck about @adonisjs.com is live!
Check it out here:
π soubiran.dev/talks
The first, the second, and the third are all @adonisjs.com βand I think thatβs beautiful! β¨
19.01.2025 17:07 β π 18 π 5 π¬ 1 π 0It's official! I'll be speaking at Paris TypeScript about @adonisjs.com! π
Slides are still a blank canvas, so if you have any questions, content requests, or suggestions, let me knowβIβd love to include them! π
π meetu.ps/e/NNkfP/MRVG...
Back in December, we enhanced the unique & exists rules in Lucid for VineJS.
Check out the details in this @adocasts.com video!
2025 is the year AdonisJS Queue becomes a reality! π
We're bringing first-class job queueing to your favorite framework, and we can't wait to share all the exciting improvements we have planned.
#BeProductiveFromDayOne
β¨ Happy New Year from the AdonisJS team! π
2024 was a huge year with the release of AdonisJS 6, bringing new levels of power and productivity to your apps. π
We can't wait to deliver even more amazing features in 2025. Thank you for being part of our journey! β€οΈ
npm i @adonisjs/inertia@latest # and your inertia adapter npm i @adonisjs/vite@latest vite@latest
We've updated our @vite.dev and Inertia packages to support the latest versions: Vite 6.0 and Inertia 2.0.
Upgrading your application to these releases is quick and easy. There's only a small breaking change in the Inertia adapter, which can be resolved with a simple find & replace!
Are you a fan of monitoring and using Prometheus with tons of Grafana charts? π
Check out the latest release of @julr.dev packageβa Prometheus wrapper that helps you ingest numerous metrics about your application.
github.com/Julien-R44/a...
3 new Building with #AdonisJS & #Inertia lessons are out now! In these, we'll add
β The ability to delete courses
β Begin work on our courses show page
β Create a nifty TagSelector component that'll auto-patch changes
Ready to learn? π
https://buff.ly/41iCPrb
A card with the AdonisJS core repository's description and a picture of all core contributors
π We are now 7,000 members strong on Discord and have reached 17,000 GitHub Stars.
It took us close to a decade to get these numbers. π
But we are enjoying this slow growth and craftsmanship. Not everything is built to take over the world. π