Skip to content
Snippets Groups Projects
Verified Commit 74bb4fd9 authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

feat: add alias attriburte

parent 12c7fb3e
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,7 @@ go 1.23.0
require (
github.com/andybalholm/cascadia v1.3.3
github.com/charmbracelet/log v0.4.1
github.com/charmbracelet/log v0.4.2
github.com/evanw/esbuild v0.25.4
github.com/tdewolff/parse/v2 v2.8.0
gitlab.schukai.com/oss/libraries/go/application/xflags.git v1.16.5
......
......@@ -68,6 +68,8 @@ github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8
github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM=
github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk=
github.com/charmbracelet/log v0.4.1/go.mod h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I=
github.com/charmbracelet/log v0.4.2 h1:hYt8Qj6a8yLnvR+h7MwsJv/XvmBJXiueUcI3cIxsyig=
github.com/charmbracelet/log v0.4.2/go.mod h1:qifHGX/tc7eluv2R6pWIpyHDDrrb/AG71Pf2ysQu5nw=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/ansi v0.9.2 h1:92AGsQmNTRMzuzHEYfCdjQeUzTrgE1vfO5/7fEVoXdY=
......
......@@ -27,6 +27,9 @@ func ParseHTMLFile(p string, development bool) error {
var src, source, scriptDist, styleDist, target string
if n.Type == html.ElementNode && n.Data == "script" {
aliases := make(map[string]string)
for _, attr := range n.Attr {
if attr.Key == "data-bob-source" {
source = attr.Val
......@@ -36,6 +39,17 @@ func ParseHTMLFile(p string, development bool) error {
styleDist = attr.Val
} else if attr.Key == "data-bob-target" {
target = attr.Val
} else if attr.Key == "data-bob-alias" {
val := strings.Split(attr.Val, ",")
for _, alias := range val {
parts := strings.Split(alias, ":")
if len(parts) == 2 {
aliases[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
} else {
log.Error("Invalid alias format: " + alias)
}
}
} else if attr.Key == "src" {
src = attr.Val
}
......@@ -68,7 +82,7 @@ func ParseHTMLFile(p string, development bool) error {
log.Info("Script: " + src + " " + source + " " + scriptDist + " " + styleDist)
runESBuild(source, path.Dir(p), scriptDist, styleDist, development, target)
runESBuild(source, path.Dir(p), scriptDist, styleDist, development, target, aliases)
}
......@@ -83,7 +97,7 @@ func ParseHTMLFile(p string, development bool) error {
return nil
}
func runESBuild(source, dist, scriptDist, styleDist string, development bool, target string) {
func runESBuild(source, dist, scriptDist, styleDist string, development bool, target string, aliases map[string]string) {
var treeShaking = api.TreeShakingTrue
if development {
......@@ -158,6 +172,8 @@ func runESBuild(source, dist, scriptDist, styleDist string, development bool, ta
LogLevel: api.LogLevelError,
Target: esbuildTarget,
Alias: aliases,
MinifySyntax: !development,
MinifyWhitespace: !development,
MinifyIdentifiers: !development,
......
version: "2"
run:
tests: false
issues:
include:
- EXC0001
- EXC0005
- EXC0011
- EXC0012
- EXC0013
max-issues-per-linter: 0
max-same-issues: 0
linters:
enable:
- bodyclose
......@@ -19,8 +8,6 @@ linters:
- goconst
- godot
- godox
- gofumpt
- goimports
- gomoddirectives
- goprintffuncname
- gosec
......@@ -39,3 +26,16 @@ linters:
- unparam
- whitespace
- wrapcheck
exclusions:
generated: lax
presets:
- common-false-positives
issues:
max-issues-per-linter: 0
max-same-issues: 0
formatters:
enable:
- gofumpt
- goimports
exclusions:
generated: lax
......@@ -88,7 +88,13 @@ func (l *Logger) writeSlogValue(jw *jsonWriter, v slogValue) {
}
jw.end()
default:
jw.objectValue(v.Any())
a := v.Any()
_, jm := a.(json.Marshaler)
if err, ok := a.(error); ok && !jm {
jw.objectValue(err.Error())
} else {
jw.objectValue(a)
}
}
}
......
......@@ -17,6 +17,8 @@ type (
slogLogValuer = slog.LogValuer
)
var slogAnyValue = slog.AnyValue
const slogKindGroup = slog.KindGroup
// Enabled reports whether the logger is enabled for the given level.
......
......@@ -18,6 +18,8 @@ type (
slogLogValuer = slog.LogValuer
)
var slogAnyValue = slog.AnyValue
const slogKindGroup = slog.KindGroup
// Enabled reports whether the logger is enabled for the given level.
......
......@@ -111,7 +111,7 @@ github.com/charmbracelet/colorprofile
# github.com/charmbracelet/lipgloss v1.1.0
## explicit; go 1.18
github.com/charmbracelet/lipgloss
# github.com/charmbracelet/log v0.4.1
# github.com/charmbracelet/log v0.4.2
## explicit; go 1.19
github.com/charmbracelet/log
# github.com/charmbracelet/x/ansi v0.9.2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment