Skip to content

Commit

Permalink
WebAssemby powered website
Browse files Browse the repository at this point in the history
  • Loading branch information
zegl committed Jul 12, 2024
1 parent 63f52be commit fcc56e3
Show file tree
Hide file tree
Showing 6 changed files with 2,018 additions and 0 deletions.
89 changes: 89 additions & 0 deletions cmd/wasm/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
//go:build wasm
// +build wasm

package main

import (
"fmt"
"io"
"strings"
"syscall/js"

t2html "github.com/buildkite/terminal-to-html"
"github.com/fatih/color"
"github.com/zegl/kube-score/config"
"github.com/zegl/kube-score/domain"
"github.com/zegl/kube-score/parser"
"github.com/zegl/kube-score/renderer/human"
"github.com/zegl/kube-score/score"
"github.com/zegl/kube-score/score/checks"
)

func main() {
js.Global().Set("handleScore", js.FuncOf(handleScore))
select {}
}

type inputReader struct {
*strings.Reader
}

func (inputReader) Name() string {
return "input"
}

func handleScore(this js.Value, inputs []js.Value) interface{} {
if len(inputs) == 0 {
fmt.Println("Unexpected number of arguments")
return "Unexpected number of arguments"
}

fmt.Println(inputs[0].String())

reader := &inputReader{
Reader: strings.NewReader(inputs[0].String()),
}

files := []domain.NamedReader{reader}

p, err := parser.New(&parser.Config{})
if err != nil {
fmt.Println(err)
return string(err.Error())
}

allObjs, err := p.ParseFiles(files)
if err != nil {
fmt.Println(err)
return string(err.Error())
}

checksConfig := &checks.Config{}
runConfig := &config.RunConfiguration{}

allChecks := score.RegisterAllChecks(allObjs, checksConfig, runConfig)

card, err := score.Score(allObjs, allChecks, runConfig)
if err != nil {
fmt.Println(err)
return string(err.Error())
}

color.NoColor = false
output, err := human.Human(card, 0, 110, true)
if err != nil {
fmt.Println(err)
return string(err.Error())
}

body, err := io.ReadAll(output)
fmt.Println("body", body)
if err != nil {
fmt.Println(err)
return string(err.Error())
}

htmlBody := t2html.Render(body)

return string(htmlBody)
}
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ require (
)

require (
github.com/buildkite/terminal-to-html v3.2.0+incompatible // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
github.com/buildkite/terminal-to-html v3.2.0+incompatible h1:WdXzl7ZmYzCAz4pElZosPaUlRTW+qwVx/SkQSCa1jXs=
github.com/buildkite/terminal-to-html v3.2.0+incompatible/go.mod h1:BFFdFecOxCgjdcarqI+8izs6v85CU/1RA/4Bqh4GR7E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
Expand Down
Loading

0 comments on commit fcc56e3

Please sign in to comment.