Skip to content

Commit c292844

Browse files
authored
Goとライブラリの更新、gopherjsからwasmに変更 (#91)
Goのprotobufを更新したらgopherjs(go v1.19)ではビルドできなくなってしまいました。 gopherjsの更新が遅いことと、Go本体がwasmをサポートし始めたことから、gopherjsの部分をwasmに置き換えてみました。
2 parents 3b56972 + cc62e5b commit c292844

39 files changed

+1625
-6356
lines changed

.github/workflows/wsnet2-dashboard.yml

+6-21
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,24 @@ on:
99
- 'server/**'
1010

1111
jobs:
12-
C:
13-
runs-on: "ubuntu-latest"
14-
outputs:
15-
GO: "go1.19.13"
16-
GOPHERJS_VER: "v1.19.0-beta1"
17-
steps:
18-
- run: echo 'Set Constants'
19-
20-
gopherjs:
21-
needs: [ C ]
12+
go-wasm:
2213
runs-on: "ubuntu-latest"
2314
defaults:
2415
run:
25-
working-directory: wsnet2-dashboard/backend/go-binary
16+
working-directory: wsnet2-dashboard/backend
2617
steps:
2718
- uses: actions/checkout@v3
2819

2920
- uses: actions/setup-go@v4
3021
with:
31-
go-version-file: "server/go.mod"
22+
go-version-file: "wsnet2-dashboard/backend/go-binary/go.mod"
3223
cache: true
33-
cache-dependency-path: "server/go.sum"
24+
cache-dependency-path: "wsnet2-dashboard/backend/go-binary/go.sum"
3425

3526
- uses: arduino/setup-protoc@v2
3627
with:
3728
version: '24.x'
3829

39-
- run: make -C ../../../server generate
40-
41-
- run: go install golang.org/dl/${{ needs.C.outputs.GO }}@latest && ${{ needs.C.outputs.GO }} download
42-
43-
- run: cd ../../../server && GOARCH=386 go test ./binary
44-
45-
- run: go install github.com/gopherjs/gopherjs@${{ needs.C.outputs.GOPHERJS_VER }}
30+
- run: make -C ../../server generate
4631

47-
- run: GOPHERJS_GOROOT="$(${{ needs.C.outputs.GO }} env GOROOT)" gopherjs build
32+
- run: make src/plugins/binary.wasm

server/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
FROM golang:1.22
1+
FROM golang:1.23
22

3-
ARG protoc_ver="24.2"
3+
ARG protoc_ver="29.2"
44

55
RUN apt-get update && apt-get install -y unzip && \
66
apt-get clean && rm -rf /var/lib/apt/lists/* && \

server/Makefile

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ test: generate
4343

4444
install-deps:
4545
go install google.golang.org/protobuf/cmd/protoc-gen-go
46-
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
46+
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1
4747
go install github.com/favadi/protoc-go-inject-tag@v1.4.0
48-
go install golang.org/x/tools/cmd/stringer@v0.18.0
49-
go install honnef.co/go/tools/cmd/staticcheck@v0.4.7
48+
go install golang.org/x/tools/cmd/stringer@v0.28.0
49+
go install honnef.co/go/tools/cmd/staticcheck@v0.5.1
5050

5151
build: $(TARGETS)
5252

server/cmd/wsnet2-tool/cmd/room.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func selectGrpcServers(ctx context.Context, ids []string) (map[string]*grpcServe
4444
}
4545

4646
func (s *grpcServer) Dial() (*grpc.ClientConn, error) {
47-
return grpc.Dial(fmt.Sprintf("%s:%d", s.Host, s.Port),
47+
return grpc.NewClient(fmt.Sprintf("%s:%d", s.Host, s.Port),
4848
grpc.WithTransportCredentials(insecure.NewCredentials()))
4949
}
5050

server/common/grpcpool.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func (p *GrpcPool) Get(target string) (*grpc.ClientConn, error) {
2828
return cc, nil
2929
}
3030

31-
cc, err := grpc.Dial(target, p.opts...)
31+
cc, err := grpc.NewClient(target, p.opts...)
3232
if err != nil {
3333
return nil, err
3434
}

server/go.mod

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
module wsnet2
22

3-
go 1.22.0
3+
go 1.23.0
44

55
require (
66
github.com/DATA-DOG/go-sqlmock v1.5.2
7-
github.com/go-sql-driver/mysql v1.7.1
7+
github.com/go-sql-driver/mysql v1.8.1
88
github.com/google/go-cmp v0.6.0
9-
github.com/jmoiron/sqlx v1.3.5
9+
github.com/jmoiron/sqlx v1.4.0
1010
github.com/pelletier/go-toml v1.9.5
1111
github.com/shiguredo/websocket v1.6.1
12-
github.com/spf13/cobra v1.8.0
12+
github.com/spf13/cobra v1.8.1
1313
github.com/vmihailenco/msgpack/v5 v5.4.1
1414
go.uber.org/zap v1.27.0
15-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
16-
google.golang.org/grpc v1.62.0
17-
google.golang.org/protobuf v1.32.0
15+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
16+
google.golang.org/grpc v1.69.2
17+
google.golang.org/protobuf v1.36.0
1818
gopkg.in/natefinch/lumberjack.v2 v2.2.1
1919
)
2020

2121
require (
22-
github.com/golang/protobuf v1.5.3 // indirect
22+
filippo.io/edwards25519 v1.1.0 // indirect
2323
github.com/inconshreveable/mousetrap v1.1.0 // indirect
2424
github.com/spf13/pflag v1.0.5 // indirect
2525
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
2626
go.uber.org/multierr v1.11.0 // indirect
27-
golang.org/x/net v0.21.0 // indirect
28-
golang.org/x/sys v0.17.0 // indirect
29-
golang.org/x/text v0.14.0 // indirect
30-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c // indirect
27+
golang.org/x/net v0.33.0 // indirect
28+
golang.org/x/sys v0.28.0 // indirect
29+
golang.org/x/text v0.21.0 // indirect
30+
google.golang.org/genproto/googleapis/rpc v0.0.0-20241219192143-6b3ec007d9bb // indirect
3131
)

server/go.sum

+45-33
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,40 @@
1+
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
2+
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
13
github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU=
24
github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
3-
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
5+
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
46
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
57
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6-
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
7-
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
8-
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
9-
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
10-
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
11-
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
12-
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
8+
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
9+
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
10+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
11+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
12+
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
13+
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
14+
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
15+
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
1316
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
1417
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
18+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
19+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1520
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
1621
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
17-
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
18-
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
22+
github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o=
23+
github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY=
1924
github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46/go.mod h1:yyMNCyc/Ib3bDTKd379tNMpB/7/H5TjM2Y9QJ5THLbE=
20-
github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=
21-
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
22-
github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg=
23-
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
25+
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
26+
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
27+
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
28+
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
2429
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
2530
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
2631
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
2732
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
2833
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
2934
github.com/shiguredo/websocket v1.6.1 h1:xGZ5LmGjQLfGaCcxZrI2/z0en24eJ3VunnNK1RmJdzg=
3035
github.com/shiguredo/websocket v1.6.1/go.mod h1:qUnxxJOWcK8Q7Q+o31UucO9HJQuhcygUYMuLRa88XTw=
31-
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
32-
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
36+
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
37+
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
3338
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
3439
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
3540
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
@@ -38,29 +43,36 @@ github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IU
3843
github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
3944
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
4045
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
46+
go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY=
47+
go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE=
48+
go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE=
49+
go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY=
50+
go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk=
51+
go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0=
52+
go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc=
53+
go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8=
54+
go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys=
55+
go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A=
4156
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
4257
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
4358
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
4459
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
4560
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
4661
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
47-
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
48-
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
49-
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
50-
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
51-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
52-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
53-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
54-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU=
55-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
56-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c h1:NUsgEN92SQQqzfA+YtqYNqYmB3DMMYLlIwUZAQFVFbo=
57-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
58-
google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk=
59-
google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
60-
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
61-
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
62-
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
63-
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
62+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
63+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
64+
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
65+
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
66+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
67+
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
68+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY=
69+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
70+
google.golang.org/genproto/googleapis/rpc v0.0.0-20241219192143-6b3ec007d9bb h1:3oy2tynMOP1QbTC0MsNNAV+Se8M2Bd0A5+x1QHyw+pI=
71+
google.golang.org/genproto/googleapis/rpc v0.0.0-20241219192143-6b3ec007d9bb/go.mod h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA=
72+
google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU=
73+
google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
74+
google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
75+
google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
6476
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
6577
gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
6678
gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=

wsnet2-dashboard/backend/.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/prisma
22
/src/pb
3-
/src/plugins/binary.js
4-
/src/plugins/binary.js.map
53
/node_modules
4+
/src/plugins/binary.wasm
5+
/src/plugins/wasm_exec.js
66
/.docker_node_modules
77
/dist

wsnet2-dashboard/backend/Dockerfile

+5-11
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,20 @@
1-
FROM node:18.18.2-bullseye-slim
1+
FROM node:22.12.0-bookworm-slim
22

33
RUN apt-get update && apt-get install -y wget make unzip && \
44
apt-get clean && rm -rf /var/lib/apt/lists/* && \
55
wget -O /wait-for-it.sh https://github.com/vishnubob/wait-for-it/raw/master/wait-for-it.sh > /dev/null 2>&1 && \
66
chmod +x /wait-for-it.sh
77

8-
ARG go_ver="1.22.0"
9-
ARG gopherjs_ver="v1.19.0-beta1"
10-
ARG gopherjs_go="go1.19.13"
11-
ARG protoc_ver="24.2"
8+
ARG go_ver="1.23.4"
9+
ARG protoc_ver="29.2"
1210

1311
ENV PATH=/root/go/bin:/go/bin:$PATH
14-
ENV GOPHERJS_GOROOT=/root/sdk/${gopherjs_go}
1512

1613
RUN cd / && \
17-
wget -O go.tar.gz https://go.dev/dl/go${go_ver}.linux-$([ $(uname -m) = aarch64 ] && echo -n arm64 || echo -n amd64).tar.gz && \
18-
tar xvf go.tar.gz && \
14+
wget -q -O go.tar.gz https://go.dev/dl/go${go_ver}.linux-$([ $(uname -m) = aarch64 ] && echo -n arm64 || echo -n amd64).tar.gz && \
15+
tar xf go.tar.gz && \
1916
rm go.tar.gz && \
2017
go install github.com/makiuchi-d/arelo@latest && \
21-
go install github.com/gopherjs/gopherjs@${gopherjs_ver} && \
22-
go install golang.org/dl/${gopherjs_go}@latest && \
23-
$gopherjs_go download && \
2418
wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v${protoc_ver}/protoc-${protoc_ver}-linux-$(if [ $(uname -m) = "aarch64" ]; then echo aarch_64; else echo x86_64; fi).zip && \
2519
unzip -o protoc.zip "bin/*" "include/*" -d /usr/local && \
2620
rm protoc.zip

wsnet2-dashboard/backend/Makefile

+15-11
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ include .env
22

33
target := dist/index.js
44
src.ts := $(wildcard src/*.ts src/*/*.ts src/*/*/*.ts)
5+
plugins := src/plugins/binary.wasm src/plugins/binary.js src/plugins/binary.d.ts src/plugins/wasm_exec.js
56

67
PROTO_DST := ./src/pb
78
PROTO_SRC := ../../server/pb
8-
NODE_PROTOC := npx grpc_tools_node_protoc
9-
PROTOC_GEN_TS := node_modules/.bin/protoc-gen-ts
9+
NODE_PROTOC := protoc
10+
PROTOC_GEN_TS := node_modules/.bin/protoc-gen-es
1011

1112
proto := $(wildcard $(PROTO_SRC)/*.proto)
12-
pb.js := $(proto:$(PROTO_SRC)%.proto=$(PROTO_DST)%_pb.js)
13+
pb.ts := $(proto:$(PROTO_SRC)%.proto=$(PROTO_DST)%_pb.ts)
1314
pb.go := $(proto:%.proto=%.pb.go)
1415

1516
.PHONY: build re-build run re-run clean install-deps
@@ -33,11 +34,15 @@ install-deps:
3334
npm install
3435
chmod +x node_modules/nexus-prisma/dist-cjs/cli/nexus-prisma.js
3536

36-
$(target): prisma/schema.prisma $(pb.js) $(src.ts) .env src/plugins/binary.js
37+
$(target): prisma/schema.prisma $(pb.ts) $(src.ts) .env $(plugins)
3738
npx tsc
39+
cp src/plugins/binary.wasm dist/plugins/binary.wasm
3840

39-
src/plugins/binary.js: ../../server/binary/*.go go-binary/* $(pb.go)
40-
cd go-binary && gopherjs build -o ../$@
41+
src/plugins/binary.wasm: ../../server/binary/*.go go-binary/* $(pb.go)
42+
cd go-binary && GOOS=js GOARCH=wasm go build -o ../$@
43+
44+
src/plugins/wasm_exec.js:
45+
cp "$(shell go env GOROOT)/misc/wasm/wasm_exec.js" $@
4146

4247
%.pb.go: %.proto
4348
$(MAKE) -C ../../server generate
@@ -50,11 +55,10 @@ prisma/schema.prisma: $(wildcard ../../server/sql/trigger.d/db.trigger)
5055
fi
5156
npm run generate
5257

53-
$(pb.js): $(proto)
58+
$(pb.ts): $(proto)
5459
mkdir -p ./src/pb
5560
$(NODE_PROTOC) \
56-
--plugin=protoc-gen-ts="$(PROTOC_GEN_TS)" \
57-
--js_out="import_style=commonjs,binary:$(PROTO_DST)" \
58-
--grpc_out="grpc_js:$(PROTO_DST)" \
59-
--ts_out="service=grpc-node,mode=grpc-js:$(PROTO_DST)" \
61+
--plugin=protoc-gen-es="$(PROTOC_GEN_TS)" \
62+
--es_out="$(PROTO_DST)" \
63+
--es_opt="target=ts,import_extension=js" \
6064
-I $(PROTO_SRC) $(proto)
+9-13
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
module wsnet2-dashboard/binary
22

3-
go 1.19
3+
go 1.23.0
44

5-
require (
6-
github.com/gopherjs/gopherjs v1.19.0-beta1
7-
wsnet2 v0.0.0
8-
)
5+
require wsnet2 v0.0.0
96

107
require (
11-
github.com/golang/protobuf v1.5.3 // indirect
128
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
139
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
14-
golang.org/x/net v0.21.0 // indirect
15-
golang.org/x/sys v0.17.0 // indirect
16-
golang.org/x/text v0.14.0 // indirect
17-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
18-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c // indirect
19-
google.golang.org/grpc v1.62.0 // indirect
20-
google.golang.org/protobuf v1.32.0 // indirect
10+
golang.org/x/net v0.33.0 // indirect
11+
golang.org/x/sys v0.28.0 // indirect
12+
golang.org/x/text v0.21.0 // indirect
13+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
14+
google.golang.org/genproto/googleapis/rpc v0.0.0-20241219192143-6b3ec007d9bb // indirect
15+
google.golang.org/grpc v1.69.2 // indirect
16+
google.golang.org/protobuf v1.36.0 // indirect
2117
)
2218

2319
replace wsnet2 => ../../../server

0 commit comments

Comments
 (0)