esbuild-rails
Foreman
esbuild-rails | Foreman | |
---|---|---|
3 | 15 | |
174 | 5,971 | |
- | - | |
4.8 | 6.1 | |
11 months ago | 22 days ago | |
JavaScript | Ruby | |
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.
Foreman
-
Overmind, a better foreman or bin/dev for your Procfile
I was confused because there is https://github.com/ddollar/foreman and https://github.com/theforeman/foreman
-
Ask HN: CLI tool like Docker-compose but fully local?
Are you looking for something like https://github.com/ddollar/foreman?
-
Spin up your development background processes with ease
Btw, there's a large number of tools that use the Procfile file format, including what appears to be the original one, written in Ruby https://github.com/ddollar/foreman (the readme has links to a partial list of foreman clones)
But I agree that overmind is the best of the bunch
-
Setup TailwindCSS, postcss and esbuild on Rails 7
We ran our app via bin/dev. You can find the div file inside ./bin/dev folder. It is a ruby wrapper over the process manager forman which manages Procfile-based applications. Rails automatically install foreman gem but it doesn’t bundle it because forman recommends NOT to do 🚫
-
Ruby on Rails tutorial: Getting started with Contentful
Note: Alternatively, you can install Foreman on your computer and execute the ./bin/dev command to simultaneously generate the TailwindCSS classes and also run the Rails server in a single terminal.
-
why doesnt localhost reflect my changes after clearing cache with my Reactjs app
using foreman with the foreman start -f Procfile.dev command to start my app.
-
Simpler Dev Environments with Procfiles
Obviously, we still need to install a runner to handle this procfile. Meet foreman, or one of it's forks. Foreman is a Ruby script, so for that you'll need to have Ruby installed. There are many forks though. Such as shoreman, which is a dependency free shell script, or node-foreman, which is a javascript fork. I go with node-foreman, for the simple reason that I'm a node guy and I like that I can npm install it to the dependencies of my node projects.
-
Using Foreman to start services in development
Comes Foreman to the rescue! Foreman is a gem (for Ruby, but it already ported to many others languages) that will load a Procfile and start/stop the services configured by demand.
-
Managing Javascript the easy way in Rails 7
A bin/dev file - This should be how you run your application in development. It runs (and optionally installs if you don't have it) Foreman, so you can run your server and build Javsacript on the fly
-
Launching Multiple Processes with a Single Command in Rails
So far, whenever I started the Rails app, I launched these supporting processes in multiple terminal windows. This week, I learned a new way to do this using a single command using the Foreman gem, which has saved me a lot of time.
What are some alternatives?
importmap-rails - Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling.
God - Ruby process monitor
vite_ruby - ⚡️ Vite.js in Ruby, bringing joy to your JavaScript experience
overmind - Process manager for Procfile-based applications and tmux
hotwire-livereload - Live reload gem for Hotwire Rails apps.
Procodile - 🐊 Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)
esbuild-plugin-alias - esbuild plugin for path aliases
Eye - Process monitoring tool. Inspired from Bluepill and God.
Webpacker - Use Webpack to manage app-like JavaScript modules in Rails
Ruby Operators - Webpage to show interesting names of different Ruby operators.
jsbundling-rails - Bundle and transpile JavaScript in Rails with esbuild, rollup.js, or Webpack.
Bluepill - simple process monitoring tool