107 lines
3.4 KiB
TOML
107 lines
3.4 KiB
TOML
#:schema https://json.schemastore.org/any.json
|
|
|
|
# Config file for [Air](https://github.com/air-verse/air) in TOML format
|
|
|
|
# Working directory
|
|
# . or absolute path, please note that the directories following must be under root.
|
|
root = "."
|
|
tmp_dir = "tmp"
|
|
|
|
# Remove to not load any files whatsoever
|
|
# Non-existing files are safely ignored
|
|
env_files = [".env"]
|
|
|
|
[build]
|
|
# Array of commands to run before each build
|
|
pre_cmd = ["echo 'hello air' > pre_cmd.txt"]
|
|
# Just plain old shell command. You could use `make` as well.
|
|
cmd = "go build -o ./tmp/main ."
|
|
# Array of commands to run after ^C
|
|
post_cmd = ["echo 'hello air' > post_cmd.txt"]
|
|
# Binary file yields from 'cmd', will be deprecated soon, recommend using entrypoint.
|
|
bin = "tmp/main"
|
|
# Entrypoint binary relative to root. First item is the executable, more items are default arguments.
|
|
entrypoint = ["./tmp/main"]
|
|
# Customize binary, can setup environment variables when run your app.
|
|
full_bin = "APP_ENV=dev APP_USER=air ./tmp/main"
|
|
# Add additional arguments when running binary (bin/full_bin). Will run './tmp/main hello world'.
|
|
args_bin = ["hello", "world"]
|
|
# Watch these filename extensions. Use ["*"] to watch all file extensions.
|
|
include_ext = ["go", "tpl", "tmpl", "html"]
|
|
# Ignore these filename extensions or directories.
|
|
exclude_dir = ["assets", "tmp", "vendor", "frontend/node_modules"]
|
|
# Watch these directories if you specified.
|
|
include_dir = []
|
|
# Watch these files.
|
|
include_file = []
|
|
# Exclude files.
|
|
exclude_file = []
|
|
# Exclude specific regular expressions.
|
|
exclude_regex = ["_test\\.go"]
|
|
# Exclude unchanged files.
|
|
exclude_unchanged = true
|
|
# Ignore dangerous root directory that could cause excessive file watching
|
|
ignore_dangerous_root_dir = false
|
|
# Follow symlink for directories
|
|
follow_symlink = true
|
|
# This log file is placed in your tmp_dir.
|
|
log = "air.log"
|
|
# Poll files for changes instead of using fsnotify.
|
|
poll = false
|
|
# Poll interval (defaults to the minimum interval of 500ms).
|
|
poll_interval = 500 # ms
|
|
# It's not necessary to trigger build each time file changes if it's too frequent.
|
|
delay = 0 # ms
|
|
# Stop running old binary when build errors occur.
|
|
stop_on_error = true
|
|
# Send Interrupt signal before killing process (ignored on Windows; uses TASKKILL)
|
|
send_interrupt = false
|
|
# Delay after sending Interrupt signal
|
|
kill_delay = 500 # nanosecond
|
|
# Rerun binary or not
|
|
rerun = false
|
|
# Delay after each execution
|
|
rerun_delay = 500
|
|
|
|
# Platform-specific build overrides
|
|
[build.windows]
|
|
cmd = "go build -o ./tmp/main.exe ."
|
|
bin = "tmp\\main.exe"
|
|
entrypoint = ["tmp\\main.exe"]
|
|
|
|
[log]
|
|
# Show log time
|
|
time = false
|
|
# Only show main log (silences watcher, build, runner)
|
|
main_only = false
|
|
# silence all logs produced by air
|
|
silent = 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
|
|
# Startup banner text. Set to "" to hide the banner.
|
|
# startup_banner = ""
|
|
|
|
[screen]
|
|
clear_on_rebuild = true
|
|
keep_scroll = true
|
|
|
|
[proxy]
|
|
# Enable live-reloading on the browser.
|
|
enabled = true
|
|
proxy_port = 8090
|
|
app_port = 8080
|
|
# Timeout in milliseconds for waiting for the app to start and become available.
|
|
# Useful when your app has slow startup time (e.g., database connections, config loading).
|
|
# The proxy will retry connecting to your app for this duration before giving up.
|
|
# Default is 5000ms (5 seconds). Increase this if you see "unable to reach app" errors.
|
|
app_start_timeout = 5000
|