github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/store/tiltfiles/reducers.go (about)

     1  package tiltfiles
     2  
     3  import (
     4  	"github.com/tilt-dev/tilt/internal/store"
     5  	"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
     6  	"github.com/tilt-dev/tilt/pkg/model"
     7  )
     8  
     9  func HandleTiltfileUpsertAction(state *store.EngineState, action TiltfileUpsertAction) {
    10  	n := action.Tiltfile.Name
    11  	mn := model.ManifestName(n)
    12  	state.Tiltfiles[n] = action.Tiltfile
    13  
    14  	_, ok := state.TiltfileStates[mn]
    15  	if !ok {
    16  		state.TiltfileStates[mn] = &store.ManifestState{
    17  			Name:          mn,
    18  			BuildStatuses: make(map[model.TargetID]*store.BuildStatus),
    19  			DisableState:  v1alpha1.DisableStateEnabled,
    20  			CurrentBuilds: make(map[string]model.BuildRecord),
    21  		}
    22  	}
    23  
    24  	if mn == model.MainTiltfileManifestName {
    25  		state.UserConfigState.Args = action.Tiltfile.Spec.Args
    26  	}
    27  
    28  	for _, x := range state.TiltfileDefinitionOrder {
    29  		if x == mn {
    30  			return // already in the order array
    31  		}
    32  	}
    33  	state.TiltfileDefinitionOrder = append(state.TiltfileDefinitionOrder, mn)
    34  }
    35  
    36  func HandleTiltfileDeleteAction(state *store.EngineState, action TiltfileDeleteAction) {
    37  	n := action.Name
    38  	mn := model.ManifestName(n)
    39  	delete(state.Tiltfiles, n)
    40  	delete(state.TiltfileStates, mn)
    41  
    42  	for i, x := range state.TiltfileDefinitionOrder {
    43  		if x == mn {
    44  			state.TiltfileDefinitionOrder = append(
    45  				state.TiltfileDefinitionOrder[:i],
    46  				state.TiltfileDefinitionOrder[i+1:]...)
    47  			return
    48  		}
    49  	}
    50  }