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 ...@@ -4,7 +4,7 @@ go 1.23.0
require ( require (
github.com/andybalholm/cascadia v1.3.3 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/evanw/esbuild v0.25.4
github.com/tdewolff/parse/v2 v2.8.0 github.com/tdewolff/parse/v2 v2.8.0
gitlab.schukai.com/oss/libraries/go/application/xflags.git v1.16.5 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 ...@@ -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.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM=
github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk= 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.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 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q= 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= github.com/charmbracelet/x/ansi v0.9.2 h1:92AGsQmNTRMzuzHEYfCdjQeUzTrgE1vfO5/7fEVoXdY=
......
...@@ -27,6 +27,9 @@ func ParseHTMLFile(p string, development bool) error { ...@@ -27,6 +27,9 @@ func ParseHTMLFile(p string, development bool) error {
var src, source, scriptDist, styleDist, target string var src, source, scriptDist, styleDist, target string
if n.Type == html.ElementNode && n.Data == "script" { if n.Type == html.ElementNode && n.Data == "script" {
aliases := make(map[string]string)
for _, attr := range n.Attr { for _, attr := range n.Attr {
if attr.Key == "data-bob-source" { if attr.Key == "data-bob-source" {
source = attr.Val source = attr.Val
...@@ -36,6 +39,17 @@ func ParseHTMLFile(p string, development bool) error { ...@@ -36,6 +39,17 @@ func ParseHTMLFile(p string, development bool) error {
styleDist = attr.Val styleDist = attr.Val
} else if attr.Key == "data-bob-target" { } else if attr.Key == "data-bob-target" {
target = attr.Val 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" { } else if attr.Key == "src" {
src = attr.Val src = attr.Val
} }
...@@ -68,7 +82,7 @@ func ParseHTMLFile(p string, development bool) error { ...@@ -68,7 +82,7 @@ func ParseHTMLFile(p string, development bool) error {
log.Info("Script: " + src + " " + source + " " + scriptDist + " " + styleDist) 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 { ...@@ -83,7 +97,7 @@ func ParseHTMLFile(p string, development bool) error {
return nil 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 var treeShaking = api.TreeShakingTrue
if development { if development {
...@@ -158,6 +172,8 @@ func runESBuild(source, dist, scriptDist, styleDist string, development bool, ta ...@@ -158,6 +172,8 @@ func runESBuild(source, dist, scriptDist, styleDist string, development bool, ta
LogLevel: api.LogLevelError, LogLevel: api.LogLevelError,
Target: esbuildTarget, Target: esbuildTarget,
Alias: aliases,
MinifySyntax: !development, MinifySyntax: !development,
MinifyWhitespace: !development, MinifyWhitespace: !development,
MinifyIdentifiers: !development, MinifyIdentifiers: !development,
......
version: "2"
run: run:
tests: false tests: false
issues:
include:
- EXC0001
- EXC0005
- EXC0011
- EXC0012
- EXC0013
max-issues-per-linter: 0
max-same-issues: 0
linters: linters:
enable: enable:
- bodyclose - bodyclose
...@@ -19,8 +8,6 @@ linters: ...@@ -19,8 +8,6 @@ linters:
- goconst - goconst
- godot - godot
- godox - godox
- gofumpt
- goimports
- gomoddirectives - gomoddirectives
- goprintffuncname - goprintffuncname
- gosec - gosec
...@@ -39,3 +26,16 @@ linters: ...@@ -39,3 +26,16 @@ linters:
- unparam - unparam
- whitespace - whitespace
- wrapcheck - 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) { ...@@ -88,7 +88,13 @@ func (l *Logger) writeSlogValue(jw *jsonWriter, v slogValue) {
} }
jw.end() jw.end()
default: 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 ( ...@@ -17,6 +17,8 @@ type (
slogLogValuer = slog.LogValuer slogLogValuer = slog.LogValuer
) )
var slogAnyValue = slog.AnyValue
const slogKindGroup = slog.KindGroup const slogKindGroup = slog.KindGroup
// Enabled reports whether the logger is enabled for the given level. // Enabled reports whether the logger is enabled for the given level.
......
...@@ -18,6 +18,8 @@ type ( ...@@ -18,6 +18,8 @@ type (
slogLogValuer = slog.LogValuer slogLogValuer = slog.LogValuer
) )
var slogAnyValue = slog.AnyValue
const slogKindGroup = slog.KindGroup const slogKindGroup = slog.KindGroup
// Enabled reports whether the logger is enabled for the given level. // Enabled reports whether the logger is enabled for the given level.
......
...@@ -111,7 +111,7 @@ github.com/charmbracelet/colorprofile ...@@ -111,7 +111,7 @@ github.com/charmbracelet/colorprofile
# github.com/charmbracelet/lipgloss v1.1.0 # github.com/charmbracelet/lipgloss v1.1.0
## explicit; go 1.18 ## explicit; go 1.18
github.com/charmbracelet/lipgloss github.com/charmbracelet/lipgloss
# github.com/charmbracelet/log v0.4.1 # github.com/charmbracelet/log v0.4.2
## explicit; go 1.19 ## explicit; go 1.19
github.com/charmbracelet/log github.com/charmbracelet/log
# github.com/charmbracelet/x/ansi v0.9.2 # 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