RxAssim

RxAssim

ExInertia - Toolkit for Phoenix + Inertia.js Integration with Bun and Vite

I’m excited to announce ExInertia, a toolkit built on top of Igniter that provides a robust integration between Phoenix and Inertia.js, with first-class support for Routes library and Bun.

:wrench: Technical Stack:

  • Built on Igniter for powerful, composable installer generators
  • Full Inertia.js integration with Phoenix using Inertiajs/inertia-phoenix
  • Modern asset pipeline using Bun + Vite (replacing esbuild/tailwind)
  • Built-in Routes integration for type-safe routing between Phoenix and TypeScript
  • Automated manifest handling for Vite assets

:package: Installation:

def deps do
  [
    {:exinertia, "~> 0.5.0"},
  ]
end

The installer, powered by Igniter (thanks @zachdaniel ), handles the complete setup:

mix exinertia.install

:hammer_and_wrench: What gets installed:

  1. Vite manifest reader in your Web namespace
  2. Inertia pipeline + configuration in your Router
  3. Routes integration for type-safe routing
  4. Modified root layout with Vite asset handling
  5. Complete Bun + Vite setup replacing esbuild/tailwind
  6. TypeScript-ready frontend structure with Routes type definitions
  7. Automated mix aliases for asset building

:high_voltage: Development Experience:

  • Hot Module Replacement (HMR) with Vite
  • TypeScript compilation with Bun
  • Type-safe routing between Phoenix and TypeScript using Routes
  • Seamless server-side rendering support
  • Zero-configuration Tailwind integration

Type-safe routing example with Routes:

// Your routes are automatically typed!
const url = Routes.path('user.show', { id: 123 });
// => "/users/123"

// TypeScript error if you miss required params
const url = Routes.path('user.show'); // Error: missing id parameter

The project is built to be modular - you can use the installers independently or compose them with your own Igniter-based installers.

:link: Resources:

https://github.com/nordbeam/exinertia

Contributions and feedback are welcome! We’re particularly interested in hearing about different use cases and integration patterns.

Most Liked

zachdaniel

zachdaniel

Creator of Ash

Looks awesome!

FYI your package can be installed without modifying the mix.exs file by anyone who already is using igniter with mix igniter.install exinertia and that’s the command we recommend to use when running installers as opposed to calling exinertia.install directly :slight_smile:

Great work!

zachdaniel

zachdaniel

Creator of Ash

Awesome! One small note is that mix igniter.install actually works even when igniter is not installed into a project, as long as igniter_new is installed as an archive.

So your instructions could be

# in your project directory
mix archive.install hex igniter_new
mix igniter.install exinertia

And then the user doesn’t have to manually edit even a single file :slight_smile:

RxAssim

RxAssim

Thanks for the feedback! I’ve updated exinertia to make Igniter an optional dependency and modified the README to instruct users to install via mix igniter.install exinertia. This should help ensure Igniter remains a dev/test only dependency as intended.

Where Next?

Popular in Announcing Top

deadtrickster
I’ve just released stable versions of my Prometheus Elixir libs: Elixir client [docs]; Ecto collector [docs]; Plugs instrumenter/Export...
New
OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
tmbb
I’ve published the first version of my Makeup library. It’s a syntax highlighter for Elixir in the spirit of Pygments, Currently it highl...
New
seancribbs
Today I released a new dialyzer Mix task as the dialyzex package! At the time we started writing this task, the existing dialyzer integra...
New
josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
bluzky
You may know https://ui.shadcn.com/, a UI component library for React. I really love it’s design style and components. I’ve built some co...
384 14136 119
New
kip
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir. I...
622 18934 194
New
ahamez
Hi everyone, I’ve been working on this protobuf library for 3 years. We use it in the company I work for, EasyMile, to communicate with ...
New
josevalim
Hello everyone, We have just released NimbleCSV which is a small and fast CSV parsing library for Elixir. It allows developers to define...
New
OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 14057 106
New

Other popular topics Top

danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29603 241
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement