Skip to content

Commit fce7ced

Browse files
committed
feat(gen): refactor jzero output
feat(jzero): add logo feat(jzero): refactor jzero output feat(jzero): refactor jzero output feat(jzero): refactor jzero output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor gen output feat(gen): refactor jzero output feat(gen): refactor jzero output
1 parent 53eb8b0 commit fce7ced

38 files changed

Lines changed: 1822 additions & 742 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
dist
55
node_modules
66
docs/package-lock.json
7-
.omc
7+
.omc
8+
cmd/jzero/jzero

cmd/jzero/internal/command/add/add.go

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package add
22

33
import (
4+
"fmt"
5+
46
"github.com/spf13/cobra"
57

68
"github.com/jzero-io/jzero/cmd/jzero/internal/command/add/addapi"
79
"github.com/jzero-io/jzero/cmd/jzero/internal/command/add/addproto"
810
"github.com/jzero-io/jzero/cmd/jzero/internal/command/add/addsql"
11+
"github.com/jzero-io/jzero/cmd/jzero/internal/config"
12+
"github.com/jzero-io/jzero/cmd/jzero/internal/pkg/console"
913
)
1014

1115
// addCmd represents the add command
@@ -19,27 +23,30 @@ var addApiCmd = &cobra.Command{
1923
Use: "api",
2024
Short: `Add api`,
2125
RunE: func(cmd *cobra.Command, args []string) error {
22-
return addapi.Run(args)
26+
return runAddStage("api", args, addapi.Run)
2327
},
24-
SilenceUsage: true,
28+
SilenceUsage: true,
29+
SilenceErrors: true,
2530
}
2631

2732
var addProtoCmd = &cobra.Command{
2833
Use: "proto",
2934
Short: `Add proto`,
3035
RunE: func(cmd *cobra.Command, args []string) error {
31-
return addproto.Run(args)
36+
return runAddStage("proto", args, addproto.Run)
3237
},
33-
SilenceUsage: true,
38+
SilenceUsage: true,
39+
SilenceErrors: true,
3440
}
3541

3642
var addSqlCmd = &cobra.Command{
3743
Use: "sql",
3844
Short: `Add sql`,
3945
RunE: func(cmd *cobra.Command, args []string) error {
40-
return addsql.Run(args)
46+
return runAddStage("sql", args, addsql.Run)
4147
},
42-
SilenceUsage: true,
48+
SilenceUsage: true,
49+
SilenceErrors: true,
4350
}
4451

4552
func GetCommand() *cobra.Command {
@@ -50,3 +57,33 @@ func GetCommand() *cobra.Command {
5057
addCmd.AddCommand(addSqlCmd)
5158
return addCmd
5259
}
60+
61+
func runAddStage(kind string, args []string, fn func([]string) (string, error)) error {
62+
target, err := fn(args)
63+
if config.C.Add.Output != "file" || config.C.Quiet {
64+
return err
65+
}
66+
67+
title := console.Green("Add") + " " + console.Yellow(kind)
68+
fmt.Printf("%s\n", console.BoxHeader("", title))
69+
70+
if err != nil {
71+
if target != "" {
72+
fmt.Printf("%s\n", console.BoxErrorItem(target))
73+
}
74+
for _, line := range console.NormalizeErrorLines(err.Error()) {
75+
fmt.Printf("%s\n", console.BoxDetailItem(line))
76+
}
77+
fmt.Printf("%s\n\n", console.BoxErrorFooter())
78+
if config.C.Quiet {
79+
return err
80+
}
81+
return console.MarkRenderedError(err)
82+
}
83+
84+
if target != "" {
85+
fmt.Printf("%s\n", console.BoxItem(target))
86+
}
87+
fmt.Printf("%s\n\n", console.BoxSuccessFooter())
88+
return nil
89+
}

cmd/jzero/internal/command/add/addapi/addapi.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"github.com/jzero-io/jzero/cmd/jzero/internal/pkg/templatex"
1616
)
1717

18-
func Run(args []string) error {
18+
func Run(args []string) (string, error) {
1919
baseDir := filepath.Join("desc", "api")
2020

2121
apiName := args[0]
@@ -24,31 +24,33 @@ func Run(args []string) error {
2424
apiName = strings.TrimSuffix(apiName, ".api")
2525
}
2626

27+
target := filepath.Join(baseDir, apiName+".api")
28+
2729
// fix https://github.com/jzero-io/jzero/issues/405.
2830
// For jzero, each api file, the server name can be different.
2931
template, err := templatex.ParseTemplate(filepath.Join("api", "template.api.tpl"), map[string]any{
3032
"Service": stringx.ToCamel(apiName),
3133
"Group": apiName,
3234
}, embeded.ReadTemplateFile(filepath.Join("api", "template.api.tpl")))
3335
if err != nil {
34-
return err
36+
return target, err
3537
}
3638

3739
if config.C.Add.Output == "file" {
38-
if filex.FileExists(filepath.Join(baseDir, apiName+".api")) {
39-
return fmt.Errorf("%s already exists", apiName)
40+
if filex.FileExists(target) {
41+
return target, fmt.Errorf("%s already exists", apiName)
4042
}
4143

4244
_ = os.MkdirAll(filepath.Dir(filepath.Join(baseDir, apiName)), 0o755)
4345

44-
err = os.WriteFile(filepath.Join(baseDir, apiName+".api"), template, 0o644)
46+
err = os.WriteFile(target, template, 0o644)
4547
if err != nil {
46-
return err
48+
return target, err
4749
}
4850

4951
// format
50-
return format.ApiFormatByPath(filepath.Join(baseDir, apiName+".api"), false)
52+
return target, format.ApiFormatByPath(target, false)
5153
}
5254
fmt.Println(string(template))
53-
return nil
55+
return target, nil
5456
}

cmd/jzero/internal/command/add/addproto/addproto.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"github.com/jzero-io/jzero/cmd/jzero/internal/pkg/templatex"
1515
)
1616

17-
func Run(args []string) error {
17+
func Run(args []string) (string, error) {
1818
baseDir := filepath.Join("desc", "proto")
1919

2020
protoName := args[0]
@@ -23,6 +23,8 @@ func Run(args []string) error {
2323
protoName = strings.TrimSuffix(protoName, ".proto")
2424
}
2525

26+
target := filepath.Join(baseDir, protoName+".proto")
27+
2628
frameType, _ := desc.GetFrameType()
2729
if frameType == "" {
2830
frameType = "rpc"
@@ -35,22 +37,22 @@ func Run(args []string) error {
3537
"Service": stringx.ToCamel(protoName),
3638
}, embeded.ReadTemplateFile(filepath.Join(frameType, "template.proto.tpl")))
3739
if err != nil {
38-
return err
40+
return target, err
3941
}
4042

4143
if config.C.Add.Output == "file" {
42-
if filex.FileExists(filepath.Join(baseDir, protoName+".proto")) {
43-
return fmt.Errorf("%s already exists", protoName)
44+
if filex.FileExists(target) {
45+
return target, fmt.Errorf("%s already exists", protoName)
4446
}
4547

4648
_ = os.MkdirAll(filepath.Dir(filepath.Join(baseDir, protoName)), 0o755)
4749

48-
err = os.WriteFile(filepath.Join(baseDir, protoName+".proto"), template, 0o644)
50+
err = os.WriteFile(target, template, 0o644)
4951
if err != nil {
50-
return err
52+
return target, err
5153
}
52-
return nil
54+
return target, nil
5355
}
5456
fmt.Println(string(template))
55-
return nil
57+
return target, nil
5658
}

cmd/jzero/internal/command/add/addsql/addsql.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/jzero-io/jzero/cmd/jzero/internal/pkg/templatex"
1313
)
1414

15-
func Run(args []string) error {
15+
func Run(args []string) (string, error) {
1616
baseDir := filepath.Join("desc", "sql")
1717

1818
sqlName := args[0]
@@ -21,26 +21,28 @@ func Run(args []string) error {
2121
sqlName = strings.TrimSuffix(sqlName, ".sql")
2222
}
2323

24+
target := filepath.Join(baseDir, sqlName+".sql")
25+
2426
template, err := templatex.ParseTemplate(filepath.Join("model", "template.sql.tpl"), map[string]any{
2527
"Name": sqlName,
2628
}, embeded.ReadTemplateFile(filepath.Join("model", "template.sql.tpl")))
2729
if err != nil {
28-
return err
30+
return target, err
2931
}
3032

3133
if config.C.Add.Output == "file" {
32-
if filex.FileExists(filepath.Join(baseDir, sqlName+".sql")) {
33-
return fmt.Errorf("%s already exists", sqlName)
34+
if filex.FileExists(target) {
35+
return target, fmt.Errorf("%s already exists", sqlName)
3436
}
3537

3638
_ = os.MkdirAll(filepath.Dir(filepath.Join(baseDir, sqlName)), 0o755)
3739

38-
err = os.WriteFile(filepath.Join(baseDir, sqlName+".sql"), template, 0o644)
40+
err = os.WriteFile(target, template, 0o644)
3941
if err != nil {
40-
return err
42+
return target, err
4143
}
42-
return nil
44+
return target, nil
4345
}
4446
fmt.Println(string(template))
45-
return nil
47+
return target, nil
4648
}

0 commit comments

Comments
 (0)