folke/ultra-runner

Scriptless workspaces should not force rebuilds

jpa00 opened this issue · 3 comments

jpa00 commented

Currently workspaces without the build script, or which ever script is being run, will force all dependent workspaces to rebuild every time. This causes a huge slowdown when you have workspaces for generic configuration stuff, like browserlist-config or an internal eslint-plugin. For this kind of stuff, there is no point in having a build script, their contents rarely even change AND most other workspaces depend on them.

While it's easy enough to bypass the issue (by making a dummy build script), I think it would make more sense for Ultra to just check/make the cache-json and signal dependencies to be built if the hashes have changed.

folke commented

Good catch. I'll see if I can fix this.

it's easy enough to bypass the issue (by making a dummy build script)

Many thanks to @jpa00 for documenting the workaround for the meantime.

it sounds like --if-present-like feature