Skip to content

Commit b51fe6e

Browse files
committed
refactor(tools/ispx): migrate to Go 1.23
Signed-off-by: Aofei Sheng <[email protected]>
1 parent 8ca78b1 commit b51fe6e

File tree

18 files changed

+35
-80
lines changed

18 files changed

+35
-80
lines changed

Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ RUN gop build -trimpath -o spx-backend ./cmd/spx-backend
2525
FROM ${GO_BASE_IMAGE} AS go-builder
2626

2727
ARG GOPROXY
28-
# Pre-install Go toolchain for 1.21.3, which will be used by tools/ispx
29-
RUN GOTOOLCHAIN=go1.21.3 go version
3028

3129
WORKDIR /app
3230
COPY tools ./tools

spx-gui/build-wasm.bat

Lines changed: 0 additions & 30 deletions
This file was deleted.

spx-gui/build-wasm.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#!/bin/bash
22
set -e
33

4-
echo Run this script from 'spx-gui' directory
4+
echo "Run this script from 'spx-gui' directory"
55

6-
cd ../tools/ispx
7-
source ./build.sh
8-
cp ./main.wasm ../../spx-gui/src/assets/ispx/main.wasm
6+
# Build and copy ispx.wasm
7+
( cd ../tools/ispx && ./build.sh )
8+
cp ../tools/ispx/ispx.wasm src/assets/ispx.wasm
99

10-
cd ../spxls
11-
source ./build.sh
12-
cp ./spxls.wasm ../../spx-gui/src/assets/spxls.wasm
10+
# Build and copy spxls.wasm
11+
( cd ../tools/spxls && ./build.sh )
12+
cp ../tools/spxls/spxls.wasm src/assets/spxls.wasm

spx-gui/src/assets/ispx/runner.html

Lines changed: 0 additions & 1 deletion
This file was deleted.

spx-gui/src/components/project/runner/v1/IframeDisplay.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
<script lang="ts">
66
import { ref, watch } from 'vue'
7-
import rawRunnerHtml from '@/assets/ispx/runner.html?raw'
87
import wasmExecUrl from '@/assets/wasm_exec.js?url'
9-
import wasmUrl from '@/assets/ispx/main.wasm?url'
8+
import ispxWasmUrl from '@/assets/ispx.wasm?url'
9+
import ispxRunnerHtml from './ispx/runner.html?raw'
1010
import { addPrefetchLink } from '@/utils/dom'
1111
1212
// preload resources (for example, wasm files) to accelerate the loading
@@ -15,7 +15,7 @@ export function preload() {
1515
// * `preload` indicates higher priority than `prefetch`. Preloaded content are expected to be used soon. For example, chrome will warn if the preloaded content is not used within 3 or 5 seconds. While project here will not be runned until the user clicks some "run" button.
1616
// * `preload` results are not shared across different documents, while the iframe content is a different document. The "preloading" is meaningful only when the HTTP cache is shared, which is more like the case of `prefetch`.
1717
addPrefetchLink(wasmExecUrl)
18-
addPrefetchLink(wasmUrl)
18+
addPrefetchLink(ispxWasmUrl)
1919
}
2020
</script>
2121

@@ -42,7 +42,7 @@ watch(iframe, () => {
4242
if (!iframeWindow) {
4343
return
4444
}
45-
const runnerHtml = rawRunnerHtml.replace('/wasm_exec.js', wasmExecUrl).replace('main.wasm', wasmUrl)
45+
const runnerHtml = ispxRunnerHtml.replace('/wasm_exec.js', wasmExecUrl).replace('ispx.wasm', ispxWasmUrl)
4646
4747
iframeWindow.document.write(runnerHtml) // This resets the iframe's content, including its window object
4848
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../../../tools/ispx/runner.html

spx-gui/vercel-build.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/bin/bash
22
set -e
33

4-
export PATH=$PATH:/usr/local/go/bin && ./build-wasm.sh
4+
export PATH=/usr/local/go/bin:$PATH
5+
6+
./build-wasm.sh
57
npm run build

spx-gui/vercel-install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ tar -C /usr/local -xzf ./go1.23.4.linux-amd64.tar.gz
1111
/usr/local/go/bin/go version
1212

1313
npm install
14-
source ./install-spx.sh
14+
./install-spx.sh

tools/ispx/.gitignore

Lines changed: 0 additions & 3 deletions
This file was deleted.

tools/ispx/.vscode/settings.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

tools/ispx/build.bat

Lines changed: 0 additions & 9 deletions
This file was deleted.

tools/ispx/build.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
#!/bin/sh
1+
#!/bin/bash
2+
set -e
23

3-
GOTOOLCHAIN=go1.21.3 GOOS=js GOARCH=wasm go build -tags canvas -trimpath -o main.wasm
4+
GOOS=js GOARCH=wasm go build -tags canvas -trimpath -ldflags -checklinkname=0 -o ispx.wasm

tools/ispx/embedded_pkgs.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ import (
7171
_ "github.com/goplus/igop/pkg/io"
7272
_ "github.com/goplus/igop/pkg/io/fs"
7373
_ "github.com/goplus/igop/pkg/io/ioutil"
74+
_ "github.com/goplus/igop/pkg/iter"
7475
_ "github.com/goplus/igop/pkg/log"
7576
_ "github.com/goplus/igop/pkg/log/slog"
7677
_ "github.com/goplus/igop/pkg/maps"
@@ -79,6 +80,7 @@ import (
7980
_ "github.com/goplus/igop/pkg/math/bits"
8081
_ "github.com/goplus/igop/pkg/math/cmplx"
8182
_ "github.com/goplus/igop/pkg/math/rand"
83+
_ "github.com/goplus/igop/pkg/math/rand/v2"
8284
_ "github.com/goplus/igop/pkg/mime"
8385
_ "github.com/goplus/igop/pkg/net/http"
8486
_ "github.com/goplus/igop/pkg/net/netip"
@@ -106,6 +108,7 @@ import (
106108
_ "github.com/goplus/igop/pkg/unicode"
107109
_ "github.com/goplus/igop/pkg/unicode/utf16"
108110
_ "github.com/goplus/igop/pkg/unicode/utf8"
111+
_ "github.com/goplus/igop/pkg/unique"
109112

110113
// Excluded stdlib packages.
111114
// _ "github.com/goplus/igop/pkg/container/heap"
@@ -140,6 +143,7 @@ import (
140143
// _ "github.com/goplus/igop/pkg/go/scanner"
141144
// _ "github.com/goplus/igop/pkg/go/token"
142145
// _ "github.com/goplus/igop/pkg/go/types"
146+
// _ "github.com/goplus/igop/pkg/go/version"
143147
// _ "github.com/goplus/igop/pkg/index/suffixarray"
144148
// _ "github.com/goplus/igop/pkg/log/syslog"
145149
// _ "github.com/goplus/igop/pkg/mime/multipart"
@@ -160,12 +164,12 @@ import (
160164
// _ "github.com/goplus/igop/pkg/os/exec"
161165
// _ "github.com/goplus/igop/pkg/os/signal"
162166
// _ "github.com/goplus/igop/pkg/os/user"
163-
// _ "github.com/goplus/igop/pkg/plugin"
164167
// _ "github.com/goplus/igop/pkg/runtime/coverage"
165168
// _ "github.com/goplus/igop/pkg/runtime/debug"
166169
// _ "github.com/goplus/igop/pkg/runtime/metrics"
167170
// _ "github.com/goplus/igop/pkg/runtime/pprof"
168171
// _ "github.com/goplus/igop/pkg/runtime/trace"
172+
// _ "github.com/goplus/igop/pkg/structs"
169173
// _ "github.com/goplus/igop/pkg/syscall"
170174
// _ "github.com/goplus/igop/pkg/testing"
171175
// _ "github.com/goplus/igop/pkg/testing/fstest"

tools/ispx/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
module github.com/goplus/builder/ispx
22

3-
go 1.21.0
3+
go 1.23.0
44

55
require (
6-
github.com/goplus/igop v0.32.0
6+
github.com/goplus/igop v0.32.1
77
github.com/goplus/reflectx v1.3.2
88
github.com/goplus/spx v1.1.1-0.20250214074125-e9e1f6362499
99
github.com/hajimehoshi/ebiten/v2 v2.8.0-alpha.3

tools/ispx/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ github.com/goplus/gogen v1.16.6 h1:Zwv18HoTbPDk8s2ajxgVeqZE5i4/GMV722KHl6GS8Yk=
3131
github.com/goplus/gogen v1.16.6/go.mod h1:6TQYbabXDF9LCdDkOOzHmfg1R4ENfXQ3XpHa9RhTSD8=
3232
github.com/goplus/gop v1.2.0-pre.1.0.20250112163018-5fb12b1b2972 h1:wA4+I+DDfoNwR+zCnaeckt5pxZgLAuaKvVkC+T9GdiQ=
3333
github.com/goplus/gop v1.2.0-pre.1.0.20250112163018-5fb12b1b2972/go.mod h1:lcW75c0a5v361jId1Vxs4lRrsasWsQDH0k3dG3Z7wH0=
34-
github.com/goplus/igop v0.32.0 h1:2m/RjkkFLPzRJ0ERyNCh8Abk0XuLSlxFkEFaygnpHgM=
35-
github.com/goplus/igop v0.32.0/go.mod h1:GCJA4qASZ1IU8MNNgDiW+Yf+eKf2G8fJWrx3arSBm8A=
34+
github.com/goplus/igop v0.32.1 h1:GbI9ThqEUDX9f18jO1xx9NWRb3XnTIgg+byr3JnCpAA=
35+
github.com/goplus/igop v0.32.1/go.mod h1:GCJA4qASZ1IU8MNNgDiW+Yf+eKf2G8fJWrx3arSBm8A=
3636
github.com/goplus/llgo v0.9.9/go.mod h1:udcq+s6tGOdhJq7I8fXPTv4qT2j17/KrlvtcJrMZAoM=
3737
github.com/goplus/llvm v0.8.0/go.mod h1:PeVK8GgzxwAYCiMiUAJb5wJR6xbhj989tu9oulKLLT4=
3838
github.com/goplus/mod v0.13.13/go.mod h1:invR72Rz2+qpOOsXqxz830MX8/aR2GDR2EAow/WgfHI=

tools/ispx/runner.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
(async () => {
1010
const go = new Go();
11-
const { instance } = await WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject)
11+
const { instance } = await WebAssembly.instantiateStreaming(fetch("ispx.wasm"), go.importObject)
1212
go.run(instance);
1313

1414
window.startWithZipBuffer = (buffer) => {

tools/spxls/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ go 1.23.4
44

55
require (
66
github.com/goplus/gogen v1.16.6
7-
github.com/goplus/gop v1.2.0-pre.1.0.20250112163018-5fb12b1b2972
8-
github.com/goplus/mod v0.13.15
7+
github.com/goplus/gop v1.3.0
8+
github.com/goplus/mod v0.13.17
99
github.com/goplus/spx v1.1.1-0.20250214074125-e9e1f6362499
1010
github.com/stretchr/testify v1.9.0
1111
golang.org/x/tools v0.23.0

tools/spxls/go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ github.com/goplus/canvas v0.1.0 h1:Vx3f2+U8UANvWf5/01YsQYKNbZDm1GZCjhlEBFrQkeU=
2222
github.com/goplus/canvas v0.1.0/go.mod h1:Rhcvo5qkpD9WuXFnvnXtrBSY97l6h7sXQuofrmiLNdM=
2323
github.com/goplus/gogen v1.16.6 h1:Zwv18HoTbPDk8s2ajxgVeqZE5i4/GMV722KHl6GS8Yk=
2424
github.com/goplus/gogen v1.16.6/go.mod h1:6TQYbabXDF9LCdDkOOzHmfg1R4ENfXQ3XpHa9RhTSD8=
25-
github.com/goplus/gop v1.2.0-pre.1.0.20250112163018-5fb12b1b2972 h1:wA4+I+DDfoNwR+zCnaeckt5pxZgLAuaKvVkC+T9GdiQ=
26-
github.com/goplus/gop v1.2.0-pre.1.0.20250112163018-5fb12b1b2972/go.mod h1:lcW75c0a5v361jId1Vxs4lRrsasWsQDH0k3dG3Z7wH0=
27-
github.com/goplus/mod v0.13.15 h1:IyneSjwm1VpwvHGz6hSHnFxZCuO6ULHcu74IAZcW9nw=
28-
github.com/goplus/mod v0.13.15/go.mod h1:invR72Rz2+qpOOsXqxz830MX8/aR2GDR2EAow/WgfHI=
25+
github.com/goplus/gop v1.3.0 h1:RDOTn+VZc9jB1qF3mkgB0f1LuAbzRKz4pNVGzkH7Ii8=
26+
github.com/goplus/gop v1.3.0/go.mod h1:BnMzJG+PYoOWjKT4Q7CwxLUTBRnTFuuxW8W4O3vq/TU=
27+
github.com/goplus/mod v0.13.17 h1:aWp14xosENrh7t0/0qcIejDmQEiTgI3ou2+KoLDlSlE=
28+
github.com/goplus/mod v0.13.17/go.mod h1:XlHf8mnQ4QkRDX14Of2tpywuHDd+JVpPStvh3egog+0=
2929
github.com/goplus/spx v1.1.1-0.20250214074125-e9e1f6362499 h1:wt9bXZWSZ6MKgLw0c87GSbKrXjj69aCt7JVM1RwLp3c=
3030
github.com/goplus/spx v1.1.1-0.20250214074125-e9e1f6362499/go.mod h1:ng8mGU/k+1pXjG5zpeczzLOyDD0RhvOv35bxmpiTPGQ=
3131
github.com/hajimehoshi/ebiten/v2 v2.7.9 h1:DYH/usAa9dMHcGkBIIEApJsVqDekrJBxYHmsBuly8Iw=

0 commit comments

Comments
 (0)