Skip to content

Upgrade Playground to GopherJS 1.18.0-beta1 #75

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions playground/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,12 @@ gopherjs serve
```

Then open <http://localhost:8080/github.com/gopherjs/gopherjs.github.io/playground>.

## Upgrading GopherJS release

```shell
VERSION="$(go list -m -versions -f "{{ range .Versions }}{{ println . }}{{ end }}" github.com/gopherjs/gopherjs | tail -n 1)"
echo "$VERSION"
go get -v "github.com/gopherjs/gopherjs@$VERSION"
go mod tidy
```
4 changes: 3 additions & 1 deletion playground/gen.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
//go:generate ./update.sh
//go:generate go run ./internal/cmd/precompile
//go:generate go install github.com/gopherjs/gopherjs
//go:generate gopherjs build -m .

package main
11 changes: 9 additions & 2 deletions playground/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,21 @@ module github.com/gopherjs/gopherjs.github.io/playground
go 1.17

require (
github.com/gopherjs/gopherjs v0.0.0-20211108205335-ed9a9b14a747
github.com/gopherjs/gopherjs v1.18.0-beta1
github.com/neelance/go-angularjs v0.0.0-20170205214111-8c6312cca6e2
golang.org/x/tools v0.1.7
github.com/sirupsen/logrus v1.8.1
golang.org/x/tools v0.1.12
honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2
honnef.co/go/js/xhr v0.0.0-20150307031022-00e3346113ae
)

require (
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86 // indirect
github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c // indirect
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
github.com/stretchr/testify v1.7.0 // indirect
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
honnef.co/go/js/util v0.0.0-20150216223935-96b8dd9d1621 // indirect
)
53 changes: 40 additions & 13 deletions playground/go.sum

Large diffs are not rendered by default.

132 changes: 132 additions & 0 deletions playground/internal/cmd/precompile/precompile.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
// Program precompile updates pre-built standard library packages for the
// playground.
//
// This script performs the following sequence of steps:
//
// - Enumerate all standard packages that should be available in the playground.
// - Precompile them, including transitive dependencies.
// - Delete all old precompiled archive.
// - Write all new precompiled archive in their place.
//
// This will use the same GopherJS version as specified in the playground gm.mod
// to ensure consistency. The script uses GopherJS compiler API directly, so
// it doesn't require the GopherJS tool to be installed.
package main

import (
"flag"
"fmt"
gobuild "go/build"
"os"
"path/filepath"
"strings"

"github.com/gopherjs/gopherjs/build"
"github.com/gopherjs/gopherjs/compiler"
log "github.com/sirupsen/logrus"
)

type logLevelFlag struct{ log.Level }

func (l *logLevelFlag) Set(raw string) error { return l.UnmarshalText([]byte(raw)) }

var (
logLevel logLevelFlag = logLevelFlag{Level: log.ErrorLevel}
)

func init() {
flag.Var(&logLevel, "log_level", "Default logging level.")
}

func run() error {
s, err := build.NewSession(&build.Options{
Verbose: true,
Minify: true,
NoCache: true,
})
if err != nil {
return fmt.Errorf("failed to create a build session: %w", err)
}

packages, err := s.XContext().Match([]string{"std"})
if err != nil {
return fmt.Errorf("failed to enumerate standard library packages")
}
packages = importable(packages)
packages = append(packages, "github.com/gopherjs/gopherjs/js", "github.com/gopherjs/gopherjs/nosync")

for _, pkg := range packages {
_, err := s.BuildImportPath(pkg)
if err != nil {
return fmt.Errorf("failed to precompile package %q: %w", pkg, err)
}
}

target, err := targetDir(s)
if err := os.RemoveAll(target); err != nil {
return fmt.Errorf("failed to clean out old precompiled archives: %w", err)
}

for _, archive := range s.UpToDateArchives {
if err := writeArchive(target, archive); err != nil {
return fmt.Errorf("failed to write package %q archive: %w", archive.ImportPath, err)
}
}

return nil
}

func writeArchive(target string, archive *compiler.Archive) error {
path := filepath.Join(target, filepath.FromSlash(archive.ImportPath)+".a.js")
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
return fmt.Errorf("failed to create precompiled package directory %q: %w", filepath.Dir(path), err)
}
f, err := os.Create(path)
if err != nil {
return fmt.Errorf("failed to create precompiled archive %q: %w", path, err)
}
defer f.Close()

return compiler.WriteArchive(archive, f)
}

// targetDir returns path to the directory where precompiled packages must be
// stored.
func targetDir(s *build.Session) (string, error) {
pkg, err := s.XContext().Import("github.com/gopherjs/gopherjs.github.io/playground", "", gobuild.FindOnly)
if err != nil {
return "", fmt.Errorf("failed to find playground package directory: %w", err)
}
target := filepath.Join(pkg.Dir, "pkg")
if _, err := os.Stat(target); os.IsNotExist(err) {
return "", fmt.Errorf("target directory %q not found", target)
}
return target, nil
}

// importable excludes packages that are incompatible with GopherJS or can't be
// directly imported by the user code. The remaining packages will be used as a
// starting points for precompilation.
func importable(all []string) []string {
result := []string{}
for _, pkg := range all {
switch {
case strings.HasPrefix(pkg, "vendor/"),
strings.Contains(pkg, "internal"),
strings.Contains(pkg, "pprof"),
strings.Contains(pkg, "plugin"):
continue
default:
result = append(result, pkg)
}
}
return result
}

func main() {
flag.Parse()
log.SetLevel(logLevel.Level)
if err := run(); err != nil {
log.Fatalf("Precompilation failed: %v", err)
}
}
Binary file modified playground/pkg/archive/tar.a.js
Binary file not shown.
Binary file modified playground/pkg/archive/zip.a.js
Binary file not shown.
Binary file modified playground/pkg/bufio.a.js
Binary file not shown.
Binary file modified playground/pkg/bytes.a.js
Binary file not shown.
Binary file modified playground/pkg/compress/bzip2.a.js
Binary file not shown.
Binary file modified playground/pkg/compress/flate.a.js
Binary file not shown.
Binary file modified playground/pkg/compress/gzip.a.js
Binary file not shown.
Binary file modified playground/pkg/compress/lzw.a.js
Binary file not shown.
Binary file modified playground/pkg/compress/zlib.a.js
Binary file not shown.
Binary file modified playground/pkg/container/heap.a.js
Binary file not shown.
Binary file modified playground/pkg/container/list.a.js
Binary file not shown.
Binary file modified playground/pkg/container/ring.a.js
Binary file not shown.
Binary file modified playground/pkg/context.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/aes.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/cipher.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/des.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/dsa.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/ecdsa.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/ed25519.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/ed25519/internal/edwards25519.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/ed25519/internal/edwards25519/field.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/elliptic.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/elliptic/internal/fiat.a.js
Binary file not shown.
Binary file not shown.
Binary file modified playground/pkg/crypto/hmac.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/internal/randutil.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/internal/subtle.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/md5.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/rand.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/rc4.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/rsa.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/sha1.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/sha256.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/sha512.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/subtle.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/tls.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/x509.a.js
Binary file not shown.
Binary file modified playground/pkg/crypto/x509/pkix.a.js
Binary file not shown.
Binary file modified playground/pkg/database/sql.a.js
Binary file not shown.
Binary file modified playground/pkg/database/sql/driver.a.js
Binary file not shown.
Binary file added playground/pkg/debug/buildinfo.a.js
Binary file not shown.
Binary file modified playground/pkg/debug/dwarf.a.js
Binary file not shown.
Binary file modified playground/pkg/debug/elf.a.js
Binary file not shown.
Binary file modified playground/pkg/debug/gosym.a.js
Binary file not shown.
Binary file modified playground/pkg/debug/macho.a.js
Binary file not shown.
Binary file modified playground/pkg/debug/pe.a.js
Binary file not shown.
Binary file modified playground/pkg/debug/plan9obj.a.js
Binary file not shown.
Binary file modified playground/pkg/embed.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/ascii85.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/asn1.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/base32.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/base64.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/binary.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/csv.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/gob.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/hex.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/json.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/pem.a.js
Binary file not shown.
Binary file modified playground/pkg/encoding/xml.a.js
Binary file not shown.
Binary file modified playground/pkg/errors.a.js
Binary file not shown.
Binary file modified playground/pkg/expvar.a.js
Binary file not shown.
Binary file modified playground/pkg/flag.a.js
Binary file not shown.
Binary file modified playground/pkg/fmt.a.js
Binary file not shown.
Binary file modified playground/pkg/github.com/gopherjs/gopherjs/js.a.js
Binary file not shown.
Binary file modified playground/pkg/github.com/gopherjs/gopherjs/nosync.a.js
Binary file not shown.
Binary file modified playground/pkg/go/ast.a.js
Binary file not shown.
Binary file modified playground/pkg/go/build.a.js
Binary file not shown.
Binary file modified playground/pkg/go/build/constraint.a.js
Binary file not shown.
Binary file modified playground/pkg/go/constant.a.js
Binary file not shown.
Binary file modified playground/pkg/go/doc.a.js
Binary file not shown.
Binary file modified playground/pkg/go/format.a.js
Binary file not shown.
Binary file modified playground/pkg/go/importer.a.js
Binary file not shown.
Binary file modified playground/pkg/go/internal/gccgoimporter.a.js
Binary file not shown.
Binary file modified playground/pkg/go/internal/gcimporter.a.js
Binary file not shown.
Binary file modified playground/pkg/go/internal/srcimporter.a.js
Binary file not shown.
Binary file modified playground/pkg/go/internal/typeparams.a.js
Binary file not shown.
Binary file modified playground/pkg/go/parser.a.js
Binary file not shown.
Binary file modified playground/pkg/go/printer.a.js
Binary file not shown.
Binary file modified playground/pkg/go/scanner.a.js
Binary file not shown.
Binary file modified playground/pkg/go/token.a.js
Binary file not shown.
Binary file modified playground/pkg/go/types.a.js
Binary file not shown.
Binary file modified playground/pkg/hash.a.js
Binary file not shown.
Binary file modified playground/pkg/hash/adler32.a.js
Binary file not shown.
Binary file modified playground/pkg/hash/crc32.a.js
Binary file not shown.
Binary file modified playground/pkg/hash/crc64.a.js
Binary file not shown.
Binary file modified playground/pkg/hash/fnv.a.js
Binary file not shown.
Binary file modified playground/pkg/hash/maphash.a.js
Binary file not shown.
Binary file modified playground/pkg/html.a.js
Binary file not shown.
Binary file modified playground/pkg/html/template.a.js
Binary file not shown.
Binary file modified playground/pkg/image.a.js
Binary file not shown.
Binary file modified playground/pkg/image/color.a.js
Binary file not shown.
Binary file modified playground/pkg/image/color/palette.a.js
Binary file not shown.
Binary file modified playground/pkg/image/draw.a.js
Binary file not shown.
Binary file modified playground/pkg/image/gif.a.js
Binary file not shown.
Binary file modified playground/pkg/image/internal/imageutil.a.js
Binary file not shown.
Binary file modified playground/pkg/image/jpeg.a.js
Binary file not shown.
Binary file modified playground/pkg/image/png.a.js
Binary file not shown.
Binary file modified playground/pkg/index/suffixarray.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/abi.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/buildcfg.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/bytealg.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/cpu.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/execabs.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/fmtsort.a.js
Binary file not shown.
Binary file added playground/pkg/internal/goarch.a.js
Binary file not shown.
Binary file added playground/pkg/internal/godebug.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/goexperiment.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/goroot.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/goversion.a.js
Binary file not shown.
Binary file added playground/pkg/internal/intern.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/itoa.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/lazyregexp.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/nettrace.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/oserror.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/poll.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/race.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/reflectlite.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/singleflight.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/syscall/execenv.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/syscall/unix.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/sysinfo.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/testlog.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/unsafeheader.a.js
Binary file not shown.
Binary file modified playground/pkg/internal/xcoff.a.js
Binary file not shown.
Binary file modified playground/pkg/io.a.js
Binary file not shown.
Binary file modified playground/pkg/io/fs.a.js
Binary file not shown.
Binary file modified playground/pkg/io/ioutil.a.js
Binary file not shown.
Binary file modified playground/pkg/log.a.js
Binary file not shown.
Binary file modified playground/pkg/log/syslog.a.js
Binary file not shown.
Binary file modified playground/pkg/math.a.js
Binary file not shown.
Binary file modified playground/pkg/math/big.a.js
Binary file not shown.
Binary file modified playground/pkg/math/bits.a.js
Binary file not shown.
Binary file modified playground/pkg/math/cmplx.a.js
Binary file not shown.
Binary file modified playground/pkg/math/rand.a.js
Binary file not shown.
Binary file modified playground/pkg/mime.a.js
Binary file not shown.
Binary file modified playground/pkg/mime/multipart.a.js
Binary file not shown.
Binary file modified playground/pkg/mime/quotedprintable.a.js
Binary file not shown.
Binary file modified playground/pkg/net.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/cgi.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/cookiejar.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/fcgi.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/httptest.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/httptrace.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/httputil.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/internal.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/internal/ascii.a.js
Binary file not shown.
Binary file modified playground/pkg/net/http/internal/testcert.a.js
Binary file not shown.
Binary file modified playground/pkg/net/mail.a.js
Binary file not shown.
Binary file added playground/pkg/net/netip.a.js
Binary file not shown.
Binary file modified playground/pkg/net/rpc.a.js
Binary file not shown.
Binary file modified playground/pkg/net/rpc/jsonrpc.a.js
Binary file not shown.
Binary file modified playground/pkg/net/smtp.a.js
Binary file not shown.
Binary file modified playground/pkg/net/textproto.a.js
Binary file not shown.
Binary file modified playground/pkg/net/url.a.js
Binary file not shown.
Binary file modified playground/pkg/os.a.js
Binary file not shown.
Binary file modified playground/pkg/os/exec.a.js
Binary file not shown.
Binary file modified playground/pkg/os/signal.a.js
Binary file not shown.
Binary file modified playground/pkg/os/user.a.js
Binary file not shown.
Binary file modified playground/pkg/path.a.js
Binary file not shown.
Binary file modified playground/pkg/path/filepath.a.js
Binary file not shown.
Binary file modified playground/pkg/reflect.a.js
Binary file not shown.
Binary file modified playground/pkg/regexp.a.js
Binary file not shown.
Binary file modified playground/pkg/regexp/syntax.a.js
Binary file not shown.
Binary file modified playground/pkg/runtime.a.js
Binary file not shown.
Binary file modified playground/pkg/runtime/debug.a.js
Binary file not shown.
Binary file removed playground/pkg/runtime/internal/sys.a.js
Binary file not shown.
Binary file modified playground/pkg/runtime/metrics.a.js
Binary file not shown.
Binary file modified playground/pkg/runtime/race.a.js
Binary file not shown.
Binary file modified playground/pkg/runtime/trace.a.js
Binary file not shown.
Binary file modified playground/pkg/sort.a.js
Binary file not shown.
Binary file modified playground/pkg/strconv.a.js
Binary file not shown.
Binary file modified playground/pkg/strings.a.js
Binary file not shown.
Binary file modified playground/pkg/sync.a.js
Binary file not shown.
Binary file modified playground/pkg/sync/atomic.a.js
Binary file not shown.
Binary file modified playground/pkg/syscall.a.js
Binary file not shown.
Binary file modified playground/pkg/syscall/js.a.js
Binary file not shown.
Binary file modified playground/pkg/testing.a.js
Binary file not shown.
Binary file modified playground/pkg/testing/fstest.a.js
Binary file not shown.
Binary file modified playground/pkg/testing/iotest.a.js
Binary file not shown.
Binary file modified playground/pkg/testing/quick.a.js
Binary file not shown.
Binary file modified playground/pkg/text/scanner.a.js
Binary file not shown.
Binary file modified playground/pkg/text/tabwriter.a.js
Binary file not shown.
Binary file modified playground/pkg/text/template.a.js
Binary file not shown.
Binary file modified playground/pkg/text/template/parse.a.js
Binary file not shown.
Binary file modified playground/pkg/time.a.js
Binary file not shown.
Binary file modified playground/pkg/time/tzdata.a.js
Binary file not shown.
Binary file modified playground/pkg/unicode.a.js
Binary file not shown.
Binary file modified playground/pkg/unicode/utf16.a.js
Binary file not shown.
Binary file modified playground/pkg/unicode/utf8.a.js
Binary file not shown.
Binary file modified playground/pkg/unsafe.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/chacha20.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/chacha20poly1305.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/cryptobyte.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/cryptobyte/asn1.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/curve25519.a.js
Binary file not shown.
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/hkdf.a.js
Binary file not shown.
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/crypto/internal/subtle.a.js
Binary file not shown.
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/net/dns/dnsmessage.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/net/http/httpguts.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/net/http/httpproxy.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/net/http2/hpack.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/net/idna.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/text/secure/bidirule.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/text/transform.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/text/unicode/bidi.a.js
Binary file not shown.
Binary file modified playground/pkg/vendor/golang.org/x/text/unicode/norm.a.js
Binary file not shown.
8 changes: 7 additions & 1 deletion playground/playground.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,13 +174,19 @@ func main() {
}

data := js.Global.Get("Uint8Array").New(req.Response).Interface().([]byte)
packages[path], err = compiler.ReadArchive(path+".a", path, bytes.NewReader(data), importContext.Packages)
packages[path], err = compiler.ReadArchive(path+".a", bytes.NewReader(data))
if err != nil {
scope.Apply(func() {
scope.Set("output", []Line{Line{"type": "err", "content": err.Error()}})
})
return
}
if err := packages[path].RegisterTypes(importContext.Packages); err != nil {
scope.Apply(func() {
scope.Set("output", []Line{Line{"type": "err", "content": err.Error()}})
})
return
}
pkgsReceived++
if pkgsReceived == len(pkgsToLoad) {
run(loadOnly)
Expand Down
181 changes: 93 additions & 88 deletions playground/playground.js

Large diffs are not rendered by default.

60 changes: 0 additions & 60 deletions playground/update.sh

This file was deleted.