Auto-load Components with registerComponents
mainTurbo Mount provides registerComponents to automate the loading of components and controllers. This is useful for large projects where manual registration is tedious.
Vite Integration
Requires stimulus-vite-helpers. Use import.meta.glob to gather components and controllers.
import plugin, { TurboMount } from "turbo-mount/react";
import { registerComponents } from "turbo-mount/registerComponents/vite";
const controllers = import.meta.glob("./**/*_controller.js", { eager: true });
const components = import.meta.glob("/components/**/*.jsx", { eager: true });
const turboMount = new TurboMount();
registerComponents({ plugin, turboMount, components, controllers });ESBuild Integration
Requires esbuild-rails. Use standard imports to gather files.
import plugin, { TurboMount } from "turbo-mount/react";
import { registerComponents } from "turbo-mount/registerComponents/esbuild";
const turboMount = new TurboMount();
import controllers from "./controllers/**/*_controller.js";
import components from "./components/**/*.jsx";
registerComponents({ plugin, turboMount, components, controllers });