@@ -17,6 +17,7 @@ import (
1717 "go.jetpack.io/devbox/internal/devbox"
1818 "go.jetpack.io/devbox/internal/devbox/devopt"
1919 "go.jetpack.io/devbox/internal/redact"
20+ "go.jetpack.io/devbox/internal/ux"
2021)
2122
2223type runCmdFlags struct {
@@ -122,13 +123,22 @@ func runScriptCmd(cmd *cobra.Command, args []string, flags runCmdFlags) error {
122123 return redact .Errorf ("error reading devbox.json: %w" , err )
123124 }
124125
126+ onStaleState := func () {
127+ ux .FHidableWarning (
128+ ctx ,
129+ cmd .ErrOrStderr (),
130+ devbox .StateOutOfDateMessage ,
131+ "with --recompute=true" ,
132+ )
133+ }
134+
125135 envOpts := devopt.EnvOptions {
126- OmitNixEnv : flags .omitNixEnv ,
127- Pure : flags .pure ,
128- RecomputeEnv : & devopt.RecomputeEnvOpts {
129- Disabled : ! flags .recomputeEnv ,
130- StateOutOfDateMessage : fmt .Sprintf (devbox .StateOutOfDateMessage , "with --recompute=true" ),
136+ Hooks : devopt.EnvLifecycleHooks {
137+ OnStaleStateWithSkipRecompute : onStaleState ,
131138 },
139+ OmitNixEnv : flags .omitNixEnv ,
140+ Pure : flags .pure ,
141+ SkipRecompute : ! flags .recomputeEnv ,
132142 }
133143 if err := box .RunScript (ctx , envOpts , script , scriptArgs ); err != nil {
134144 return redact .Errorf ("error running script %q in Devbox: %w" , script , err )
0 commit comments