internal

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2020 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Dev = &cli.Command{
	Name:      "dev",
	Usage:     "Rerun the dawn project if watched files changed",
	UsageText: "dawn dev [options]",
	Flags: []cli.Flag{
		&cli.StringFlag{
			Name:    "root",
			Aliases: []string{"r"},
			Usage:   "root path for watch, all files must be under root",
			Value:   ".",
		},
		&cli.StringFlag{
			Name:    "target",
			Aliases: []string{"t"},
			Usage:   "target path for go build",
			Value:   ".",
		},
		&cli.StringSliceFlag{
			Name:    "extensions",
			Aliases: []string{"ext"},
			Usage:   "file extensions to watch",
			Value:   cli.NewStringSlice("go", "tmpl", "tpl", "html"),
		},
		&cli.StringSliceFlag{
			Name:    "exclude_dirs",
			Aliases: []string{"ed"},
			Usage:   "ignore these directories",
			Value:   cli.NewStringSlice("assets", "tmp", "vendor", "node_modules"),
		},
		&cli.StringSliceFlag{
			Name:    "exclude_files",
			Aliases: []string{"ef"},
			Usage:   "ignore these files",
			Value:   cli.NewStringSlice(),
		},
		&cli.DurationFlag{
			Name:    "delay",
			Aliases: []string{"d"},
			Usage:   "delay to trigger rerun",
			Value:   time.Second,
		},
	},
	Action: func(c *cli.Context) error {
		return newEscort(c).run()
	},
}

Dev command rerun the dawn project if watched files changed

View Source
var Module = &cli.Command{
	Name:      "module",
	Aliases:   []string{"m"},
	Usage:     "Generate a new dawn module",
	UsageText: "dawn module name",
	Action: func(c *cli.Context) error {
		if !c.Args().Present() {
			return exit(c, "Missing module name")
		}
		now := time.Now()

		name := c.Args().First()

		dir, _ := os.Getwd()

		modulePath := fmt.Sprintf("%s%c%s", dir, os.PathSeparator, name)
		if err := createModule(modulePath, name); err != nil {
			return exit(c, err)
		}

		return success(fmt.Sprintf(moduleCreatedTemplate,
			modulePath, name, formatLatency(time.Since(now))))
	},
}

Module command generates a new dawn module

View Source
var NewProject = &cli.Command{
	Name:      "new",
	Aliases:   []string{"n"},
	Usage:     "Generate a new dawn project",
	UsageText: "dawn new [options] project [mod name]",
	Flags: []cli.Flag{
		&cli.BoolFlag{
			Name:  "app",
			Usage: "create an application project",
		},
	},
	Action: func(c *cli.Context) error {
		if !c.Args().Present() {
			return exit(c, "Missing project name")
		}
		start := time.Now()

		projectName := c.Args().First()

		modName := projectName
		if c.Args().Len() > 1 {
			modName = c.Args().Get(1)
		}

		dir, _ := os.Getwd()

		projectPath := fmt.Sprintf("%s%c%s", dir, os.PathSeparator, projectName)
		if err := createProject(projectPath, modName, c.Bool("app")); err != nil {
			return exit(c, err)
		}

		return success(fmt.Sprintf(newSuccessTemplate,
			projectPath, modName, projectName, formatLatency(time.Since(start))))
	},
}

NewProject command generates a new dawn project

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL