Add templates for air.

This commit is contained in:
trading_peter 2024-09-03 14:38:02 +02:00
parent 7f25c3f83c
commit 93338b0712
4 changed files with 106 additions and 1 deletions

View File

@ -23,7 +23,7 @@ func main() {
app := &cli.App{
Name: "gowebbuild",
Usage: "All in one tool to build web frontend projects.",
Version: "6.0.1",
Version: "6.1.0",
Authors: []*cli.Author{{
Name: "trading-peter (https://github.com/trading-peter)",
}},

View File

@ -5,6 +5,7 @@ import (
"fmt"
"os"
"path/filepath"
"runtime"
"text/template"
"github.com/Iilun/survey/v2"
@ -21,6 +22,12 @@ var dockerImage string
//go:embed templates/Dockerfile
var dockerFile string
//go:embed templates/.air.toml
var airToml string
//go:embed templates/.air.win.toml
var airWinToml string
var qs = []*survey.Question{
{
Name: "tpl",
@ -63,6 +70,12 @@ func tplAction(ctx *cli.Context) error {
case "Dockerfile":
tpl = dockerFile
fileName = "Dockerfile"
case "air.toml":
tpl = airToml
if runtime.GOOS == "windows" {
tpl = airWinToml
}
fileName = ".air.toml"
default:
golog.Fatal("Invalid template")
}

47
templates/.air.toml Normal file
View File

@ -0,0 +1,47 @@
# Config file for [Air](https://github.com/cosmtrek/air) in TOML format
# Working directory
# . or absolute path, please note that the directories following must be under root.
root = "."
tmp_dir = "tmp"
[build]
# Just plain old shell command. You could use `make` as well.
cmd = "go build -o ./tmp/main ./main.go"
# Binary file yields from `cmd`.
bin = "tmp/main"
# Customize binary.
full_bin = "./tmp/main run sample.json"
# Watch these filename extensions.
include_ext = ["go", "tpl", "tmpl", "html"]
# Ignore these filename extensions or directories.
exclude_dir = ["frontend-dist", "_mongo", "_db", "dist", "frontend", "web"]
# Watch these directories if you specified.
include_dir = []
# Exclude files.
exclude_file = []
# This log file places in your tmp_dir.
log = "air.log"
# It's not necessary to trigger build each time file changes if it's too frequent.
delay = 1000 # ms
# Stop running old binary when build errors occur.
stop_on_error = true
# Send Interrupt signal before killing process (windows does not support this feature)
send_interrupt = false
# Delay after sending Interrupt signal
kill_delay = 500 # ms
[log]
# Show log time
time = false
[color]
# Customize each part's color. If no color found, use the raw app log.
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"
[misc]
# Delete tmp directory on exit
clean_on_exit = true

45
templates/.air.win.toml Executable file
View File

@ -0,0 +1,45 @@
# Config file for [Air](https://github.com/cosmtrek/air) in TOML format
# Working directory
# . or absolute path, please note that the directories following must be under root.
root = "."
tmp_dir = "tmp"
[build]
# Just plain old shell command. You could use `make` as well.
cmd = "go build -o ./tmp/main.exe ./main.go"
# Binary file yields from `cmd`.
bin = "tmp/main.exe"
# Watch these filename extensions.
include_ext = ["go", "tpl", "tmpl", "html"]
# Ignore these filename extensions or directories.
exclude_dir = ["frontend-dist", "_mongo", "_db", "dist", "frontend", "web"]
# Watch these directories if you specified.
include_dir = ["backend"]
# Exclude files.
exclude_file = []
# This log file places in your tmp_dir.
log = "air.log"
# It's not necessary to trigger build each time file changes if it's too frequent.
delay = 1000 # ms
# Stop running old binary when build errors occur.
stop_on_error = true
# Send Interrupt signal before killing process (windows does not support this feature)
send_interrupt = false
# Delay after sending Interrupt signal
kill_delay = 500 # ms
[log]
# Show log time
time = false
[color]
# Customize each part's color. If no color found, use the raw app log.
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"
[misc]
# Delete tmp directory on exit
clean_on_exit = true