-
Notifications
You must be signed in to change notification settings - Fork 532
/
scaffold_react.go
37 lines (29 loc) · 973 Bytes
/
scaffold_react.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package ignitecmd
import (
"github.com/spf13/cobra"
chainconfig "github.com/ignite/cli/v29/ignite/config/chain"
"github.com/ignite/cli/v29/ignite/pkg/cliui"
"github.com/ignite/cli/v29/ignite/pkg/cosmosgen"
)
// NewScaffoldReact scaffolds a React app for a chain.
func NewScaffoldReact() *cobra.Command {
c := &cobra.Command{
Use: "react",
Short: "React web app template",
Args: cobra.NoArgs,
PreRunE: migrationPreRunHandler,
RunE: scaffoldReactHandler,
}
c.Flags().AddFlagSet(flagSetYes())
c.Flags().StringP(flagPath, "p", "./"+chainconfig.DefaultReactPath, "path to scaffold content of the React app")
return c
}
func scaffoldReactHandler(cmd *cobra.Command, _ []string) error {
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()
path := flagGetPath(cmd)
if err := cosmosgen.React(path); err != nil {
return err
}
return session.Printf("\n🎉 Scaffolded a React app in %s.\n\n", path)
}