I've just released Ultra Runner 2.0.0 with lots of new features to run scripts and builds for monorepos.
โจ Highlights
- zero-config: works out of the box with your existing monorepo
- non-intrusive: no need to make any changes to your packages.json files
-
workspaces: detects packages in existing
lerna
,yarn
andpnpm
workspaces, or recusrively searches them -
ultra fast builds:
ultra
keeps track of file changes in your repo and only actuallybuild
a package when needed -
parallel builds:
ultra
builds your packages concurrently by default - workspace dependencies: workspace dependencies are automatically resolved and used for parallel builds
-
execute anything: one command to run package scripts,
node_modules
binaries or system binaries, recursively in your repository. -
faster script execution:
ultra
hijacks anynpm
,pnpm
,yarn
andnpx
calls for faster execution. -
concurrency within scripts: you can add optional configuration to
package.json
to run parts of a script in parallel. No need to change the actualscripts
- filtering: filter on package names or subdirectories
Top comments (10)
Oh, and might be interested in
glob-cache
for detecting changes. It's built onfast-glob
(by default) but can pass other glob library too. And@hela/eslint
which is insanely faster than ESLint, using the Linter API.Good job anyway, seems small :)
nice! Will definitely have a look!
What does it make it so fast ?
Ultra looks like it does a few clever things, but the crux is:
Thanks for jumping in here :)
It does indeed all of the above and has some special handling for running build scripts. It keeps track of file changes accross your reporistory and will only actually build a package when really needed.
This is really cool!
Thanks!!
Heck. Exactly what I'm doing with the Hela ecosystem (plus the many Jest runners in
tunnckoCore/opensource
) in past 2 years.Sounds great, I'll look over the code.
Seems like 2020 will be competitive year - Hela, Ultra, and Rome by Facebook.
From a quick glance, it seems like it could help me build a whole micro front end, want to use multiple different frameworks and compile into one routing framework.
Let me know if it could