Skip to content

Chore/update dependencies inertia v5 - #19

Merged
thetutlage merged 2 commits into
mainfrom
chore/update-dependencies-inertia-v5
Aug 10, 2026
Merged

Chore/update dependencies inertia v5#19
thetutlage merged 2 commits into
mainfrom
chore/update-dependencies-inertia-v5

Conversation

@thetutlage

Copy link
Copy Markdown
Member

No description provided.

Bumps every starter kit to the latest releases of @adonisjs/core,
@types/node, eslint, prettier, better-sqlite3 and turbo.

The hypermedia kit also moves to @adonisjs/vite 6 and Vite 8, which
renames the AdonisJS plugin "entrypoints" option to "entryPoints".

TypeScript stays on 6.0.3, since @adonisjs/assembler declares
"typescript: ^5.0.0 || ^6.0.0" as a peer dependency.
Upgrades both Inertia kits to @adonisjs/inertia 5, @inertiajs/{react,vue3}
3.6, @adonisjs/vite 6 and Vite 8, along with React 19.2, Vue 3.5.41 and
the matching Vite framework plugins.

Build setup:

- Drop the "@adonisjs/inertia/vite" plugin, which no longer exists, and
  rename the AdonisJS plugin "entrypoints" option to "entryPoints".
- Type the page glob as a component, since the v3 ComponentResolver no
  longer accepts a promise resolving to a module namespace.

Flash messages:

- Version 5 ships a first-class flash bag, so the flash messages move out
  of the middleware share method and into its new flash method. They are
  now sent as a top-level "flash" field, a sibling of "props", and the
  layouts read them from "usePage().flash".
- inertia/types.ts bridges the inferred shared props and flash data into
  the Inertia client through the InertiaConfig interface.

Templates:

- Rename the "inertia" attribute on the title element to "data-inertia".

Auth forms:

The Form component now types its "errors" render prop from the route's
declared request body, whereas version 4 left it permissive. Two forms
rendered errors that the route types did not describe:

- The login route had no validator, so its body was "{}". It now uses a
  loginValidator, which also means malformed input returns validation
  errors instead of falling through to verifyCredentials.
- VineJS omits confirmation fields from the inferred input type, so
  "passwordConfirmation" is declared explicitly on the signup validator
  and destructured out before creating the user.

axios is added as a direct dependency: @inertiajs/core declares it as an
optional peer dependency, so npm skips it, but it remains the default HTTP
client and is imported at runtime.

SSR stays disabled in both kits, so serverEntryPoints is omitted.
@thetutlage
thetutlage merged commit ba295f4 into main Aug 10, 2026
5 checks passed
filipebraida added a commit to filipebraida/adonisjs-starter-kit that referenced this pull request Aug 10, 2026
Follows the official starter kit migration (adonisjs/starter-kits#19).

The inertia() Vite plugin no longer exists in v5, so SSR now goes through
the AdonisJS plugin's serverEntryPoints. resources/js/app.js existed only
to emit resources/images via import.meta.glob; the plugin's new assets
option covers that, so the file is gone.

Flash messages move out of share() into the v5 flash bag and are read on
the client with usePage().flash. @adonisjs/core goes to 7.4.0 because
that is the release whose codegen emits Data.FlashMessages, the type the
bag needs to reach the client. @inertiajs/core becomes a direct
dependency: pnpm's strict node_modules does not hoist it, and the client
types augment that module.

Remaining versions are aligned with the starter kit. @tuyau/inertia is
dropped: the Tuyau integration ships inside @adonisjs/inertia v5 and the
package had no imports left in the codebase.

Also hides the delete action on your own row. UserPolicy already denies
self-deletion, so the UI was offering an action the server always
rejected, which surfaced two contradicting toasts at once.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant