From 9f2ee9f357ce104c7d06120f886253a1e1ab3954 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sat, 3 Dec 2022 12:13:56 -0800 Subject: [PATCH] no more v8go --- d2renderers/d2latex/latex.go | 14 +++++++------- go.mod | 6 +----- go.sum | 2 -- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/d2renderers/d2latex/latex.go b/d2renderers/d2latex/latex.go index 43a3f9d71..68dd9a548 100644 --- a/d2renderers/d2latex/latex.go +++ b/d2renderers/d2latex/latex.go @@ -9,8 +9,8 @@ import ( "regexp" "strconv" + "github.com/dop251/goja" "oss.terrastruct.com/util-go/xdefer" - v8 "rogchap.com/v8go" ) var pxPerEx = 8 @@ -30,24 +30,24 @@ var svgRe = regexp.MustCompile(`]+width="([0-9\.]+)ex" height="([0-9\.]+) func Render(s string) (_ string, err error) { defer xdefer.Errorf(&err, "latex failed to parse") - v8ctx := v8.NewContext() + vm := goja.New() - if _, err := v8ctx.RunScript(polyfillsJS, "polyfills.js"); err != nil { + if _, err := vm.RunString(polyfillsJS); err != nil { return "", err } - if _, err := v8ctx.RunScript(mathjaxJS, "mathjax.js"); err != nil { + if _, err := vm.RunString(mathjaxJS); err != nil { return "", err } - if _, err := v8ctx.RunScript(setupJS, "setup.js"); err != nil { + if _, err := vm.RunString(setupJS); err != nil { return "", err } - val, err := v8ctx.RunScript(fmt.Sprintf(`adaptor.innerHTML(html.convert(`+"`"+"%s`"+`, { + val, err := vm.RunString(fmt.Sprintf(`adaptor.innerHTML(html.convert(`+"`"+"%s`"+`, { em: %d, ex: %d, -}))`, s, pxPerEx*2, pxPerEx), "value.js") +}))`, s, pxPerEx*2, pxPerEx)) if err != nil { return "", err } diff --git a/go.mod b/go.mod index beb929fa2..0859ce983 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( cdr.dev/slog v1.4.2-0.20220126003130-b94a5ff54f37 github.com/PuerkitoBio/goquery v1.8.0 github.com/alecthomas/chroma v0.10.0 + github.com/dop251/goja v0.0.0-20221118162653-d4bf6fde1b86 github.com/fsnotify/fsnotify v1.6.0 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 github.com/lucasb-eyer/go-colorful v1.2.0 @@ -21,7 +22,6 @@ require ( gonum.org/v1/plot v0.12.0 nhooyr.io/websocket v1.8.7 oss.terrastruct.com/util-go v0.0.0-20221202012609-7e2754a7212e - rogchap.com/v8go v0.7.1-0.20221102201510-1f00b5007d95 ) require ( @@ -30,7 +30,6 @@ require ( github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dlclark/regexp2 v1.7.0 // indirect - github.com/dop251/goja v0.0.0-20221118162653-d4bf6fde1b86 // indirect github.com/fatih/color v1.13.0 // indirect github.com/gin-gonic/gin v1.7.7 // indirect github.com/go-playground/validator/v10 v10.10.0 // indirect @@ -39,7 +38,6 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.13.6 // indirect - github.com/kr/pretty v0.3.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.16 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -56,8 +54,6 @@ require ( golang.org/x/text v0.4.0 // indirect google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc // indirect google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 87957fe3f..f07881d96 100644 --- a/go.sum +++ b/go.sum @@ -808,8 +808,6 @@ nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= oss.terrastruct.com/util-go v0.0.0-20221202012609-7e2754a7212e h1:XKBj39q+voyb6m8hH0GLl0R7eKzFfKijiUqf5Emu1yc= oss.terrastruct.com/util-go v0.0.0-20221202012609-7e2754a7212e/go.mod h1:Fwy72FDIOOM4K8F96ScXkxHHppR1CPfUyo9+x9c1PBU= -rogchap.com/v8go v0.7.1-0.20221102201510-1f00b5007d95 h1:r89YHVIWeQj/A3Nu6462eqARUECJlJkLRk36pfML1xA= -rogchap.com/v8go v0.7.1-0.20221102201510-1f00b5007d95/go.mod h1:MxgP3pL2MW4dpme/72QRs8sgNMmM0pRc8DPhcuLWPAs= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=