esbuild-rails
Stimulus
esbuild-rails | Stimulus | |
---|---|---|
3 | 111 | |
174 | 12,466 | |
- | 0.3% | |
4.8 | 6.4 | |
11 months ago | 3 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
esbuild-rails
-
Is the default importmap method unrealistic in the most popular real world use cases?
Here's the setup I use for reloading with esbuild: https://github.com/excid3/esbuild-rails/blob/main/examples/esbuild.config.mjs
-
Configure Stimulus with esbuild and Babel — Rails & Javascript
// config/esbuild.mjs import path from 'path' import esbuild from 'esbuild' import rails from 'esbuild-rails' import babel from 'esbuild-plugin-babel' esbuild .build({ bundle: true, // Path to application.js folder absWorkingDir: path.join(process.cwd(), 'app/javascript'), // Application.js file, used by Rails to bundle all JS Rails code entryPoints: ['application.js'], // Destination of JS bundle, points to the Rails JS Asset folder outdir: path.join(process.cwd(), 'app/assets/builds'), // Enables watch option. Will regenerate JS bundle if files are changed watch: process.argv.includes('--watch'), // Split option is disabled, only needed when using multiple input files // More information: https://esbuild.github.io/api/#splitting (change it if using multiple inputs) splitting: false, chunkNames: 'chunks/[name]-[hash]', // Remove unused JS methods treeShaking: true, // Adds mapping information so web browser console can map bundle errors to the corresponding // code line and column in the real code // More information: https://esbuild.github.io/api/#sourcemap sourcemap: process.argv.includes('--development'), // Compresses bundle // More information: https://esbuild.github.io/api/#minify minify: process.argv.includes('--production'), // Removes all console lines from bundle // More information: https://esbuild.github.io/api/#drop drop: process.argv.includes('--production') ? ['console'] : [], // Build command log output: https://esbuild.github.io/api/#log-level logLevel: 'info', // Set of ESLint plugins plugins: [ // Plugin to easily import Rails JS files, such as Stimulus controllers and channels // https://github.com/excid3/esbuild-rails rails(), // Configures bundle with Babel. Babel configuration defined in babel.config.js // Babel translates JS code to make it compatible with older JS versions. // https://github.com/nativew/esbuild-plugin-babel babel() ] }) .catch(() => process.exit(1))
-
Live reloading with Ruby on Rails and esbuild
Finally, if you're using esbuild with Rails and Stimulus, you'll probably find the esbuild-rails plugin from Chris Oliver useful.
Stimulus
-
Turbo Streaming Modals in Ruby on Rails
I also recommend checking out the docs for Stimulus and Turbo to familiarise yourself with all their features and the APIs used in this series.
-
Google: Angular and Wiz Are Merging
Any tips on preparing to work with Wiz as an incoming intern. I heard its identical to Stimulus: https://stimulus.hotwired.dev/
-
How to integrate Component Architecture into Symfony?
use Stimulus
- Stimulus: A modest JavaScript framework for the HTML you already have
-
Build Drag and Drop with Rails Hotwire
With Stimulus, you've got a powerful tool to take your app's interactivity up a notch. For even more awesome features and Stimulus wizardry, check out the Stimulus Documentation.
-
Supercharge your Stimulus controllers with Custom APIs
The next version of Stimulus makes it easier to access parts of the private API thanks to my pull request.
-
Why are you still using jQuery?
I like Stimulus, it was a bit pushed by Symfony with their ux thing.
-
Too Much JavaScript? Why the Frontend Needs to Build Better
I thought it'd be https://stimulus.hotwired.dev/ for a minute but I think that ecosystem is tied too closely with rails.
-
Learn Stimulus in Ruby on Rails by Building a Toggle)
Hey HN!
For those new to Rails, Stimulus (https://stimulus.hotwired.dev/) is a way to sprinkle frontend javascript code into your Rails views.
I held off using Stimulus in my Rails apps for a long time because I didn't understand it — the data= attributes looked weird, and the connection between my Rails views and Stimulus javascript controllers was confusing.
So I decided to write the guide I wish I had when I was learning Stimulus.
Hope you enjoy it! I'm happy to answer any questions, feel free to ask any.
Thanks, Harrison
-
Your first Stimulus controller — Learn Stimulus by building a toggle in your Rails app
Hey /r/rails, these past few weeks, I've been working on a beginner's guide to Stimulus and I'm excited to finally share it!
What are some alternatives?
importmap-rails - Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling.
turbo-rails - Use Turbo in your Ruby on Rails app
vite_ruby - ⚡️ Vite.js in Ruby, bringing joy to your JavaScript experience
htmx - </> htmx - high power tools for HTML
hotwire-livereload - Live reload gem for Hotwire Rails apps.
hotwire-rails - Use Hotwire in your Ruby on Rails app
esbuild-plugin-alias - esbuild plugin for path aliases
django-unicorn - The magical reactive component framework for Django ✨
Foreman - Manage Procfile-based applications
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
Webpacker - Use Webpack to manage app-like JavaScript modules in Rails
inertia - Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.