Documentation
¶
Index ¶
- func CollectFiles(app AppConfig) ([]string, error)
- func ExecutePush(ctx context.Context, client *api.Client, app AppConfig, result Result) error
- func ExplicitFiles(discovered []string, explicit []string) ([]string, error)
- func NormalizeHost(raw string) string
- func OrderFiles(app AppConfig, files []string, provided ...map[string]string) ([]string, error)
- func RemoteName(app AppConfig, projectRel string) string
- type AppConfig
- type FileAction
- type PushPlan
- type Result
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CollectFiles ¶
CollectFiles returns all files under dir matching glob, project-root relative.
func ExecutePush ¶
ExecutePush uploads/updates/deletes remote app files.
func ExplicitFiles ¶
ExplicitFiles intersects discovered files with explicit project-relative selections.
func NormalizeHost ¶
NormalizeHost converts an API URL into the stored host form.
func OrderFiles ¶
OrderFiles topologically orders files by local import/require dependencies.
func RemoteName ¶
Types ¶
type AppConfig ¶
type AppConfig struct {
config.AppProjectConfig
ProjectRoot string
}
AppConfig is one resolved local app config.
func ResolveApp ¶
ResolveApp selects one app by local name.
func VisibleApps ¶
func VisibleApps(projectRoot string, project config.ProjectConfig, activeHost, activeSite string) []AppConfig
VisibleApps filters apps by active host/site.
type FileAction ¶
type FileAction struct {
Action string `json:"action"`
Local string `json:"local,omitempty"`
Name string `json:"name"`
}
FileAction describes one cloud-code operation.
type PushPlan ¶
type PushPlan struct {
Uploads []FileAction `json:"uploads,omitempty"`
Deletes []FileAction `json:"deletes,omitempty"`
}
PushPlan groups upload/delete work.
func BuildPushPlan ¶
func BuildPushPlan(app AppConfig, localFiles []string, remoteFiles []api.AppCodeFile, sync bool) PushPlan
BuildPushPlan computes upload/delete actions.
type Result ¶
type Result struct {
AppKey string `json:"app_key"`
LocalName string `json:"local_name"`
Files []string `json:"files,omitempty"`
Uploads []FileAction `json:"uploads,omitempty"`
Created []FileAction `json:"created,omitempty"`
Updated []FileAction `json:"updated,omitempty"`
Deleted []FileAction `json:"deleted,omitempty"`
Sync bool `json:"sync,omitempty"`
}
Result is emitted by apps push.
Click to show internal directories.
Click to hide internal directories.