You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems like turborepo decides to rebuild transitive dependencies based on input changes. e.g. if package B depends on package A, if A's inputs change, B will be rebuilt.
But what happens if the input changes in A are cosmetic (e.g. comment changes) and don't effect the outputs. I would expect that Turborepo would hash the outputs and determine that B need not be rebuilt but this doesn't seem to be the case in my tests.
Is there any way to make this behavior work?
Can put together a minimal repro if I'm mistaken.
Example
My use-case is that I have a temporal package that contains workflow definitions together with their bodies. Most changes we make are to the bodies, which means downstream packages need not be rebuilt (e.g. the outputs haven't changed). But in all cases for the current behavior: any changes to the input require our entire tree to be rebuilt, which is killing our cache hit ratio.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Summary
It seems like turborepo decides to rebuild transitive dependencies based on input changes. e.g. if package
B
depends on packageA
, ifA
's inputs change,B
will be rebuilt.But what happens if the input changes in
A
are cosmetic (e.g. comment changes) and don't effect the outputs. I would expect that Turborepo would hash the outputs and determine thatB
need not be rebuilt but this doesn't seem to be the case in my tests.Is there any way to make this behavior work?
Can put together a minimal repro if I'm mistaken.
Example
My use-case is that I have a temporal package that contains workflow definitions together with their bodies. Most changes we make are to the bodies, which means downstream packages need not be rebuilt (e.g. the outputs haven't changed). But in all cases for the current behavior: any changes to the input require our entire tree to be rebuilt, which is killing our cache hit ratio.
Beta Was this translation helpful? Give feedback.
All reactions