starpc 0.27.3 → 0.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Makefile CHANGED
@@ -6,13 +6,14 @@ PROTOC_GEN_GO=hack/bin/protoc-gen-go
6
6
  PROTOC_GEN_STARPC=hack/bin/protoc-gen-go-starpc
7
7
  PROTOC_GEN_VTPROTO=hack/bin/protoc-gen-go-vtproto
8
8
  GOIMPORTS=hack/bin/goimports
9
+ GOFUMPT=hack/bin/gofumpt
9
10
  GOLANGCI_LINT=hack/bin/golangci-lint
10
11
  GO_MOD_OUTDATED=hack/bin/go-mod-outdated
11
12
  GOLIST=go list -f "{{ .Dir }}" -m
12
13
 
13
14
  export GO111MODULE=on
14
- undefine GOARCH
15
15
  undefine GOOS
16
+ undefine GOARCH
16
17
 
17
18
  all:
18
19
 
@@ -43,6 +44,12 @@ $(GOIMPORTS):
43
44
  -o ./bin/goimports \
44
45
  golang.org/x/tools/cmd/goimports
45
46
 
47
+ $(GOFUMPT):
48
+ cd ./hack; \
49
+ go build -v \
50
+ -o ./bin/gofumpt \
51
+ mvdan.cc/gofumpt
52
+
46
53
  $(PROTOWRAP):
47
54
  cd ./hack; \
48
55
  go build -v \
@@ -63,7 +70,6 @@ $(GO_MOD_OUTDATED):
63
70
 
64
71
  .PHONY: gengo
65
72
  gengo: $(GOIMPORTS) $(PROTOWRAP) $(PROTOC_GEN_GO) $(PROTOC_GEN_VTPROTO) $(PROTOC_GEN_STARPC)
66
- go mod vendor
67
73
  shopt -s globstar; \
68
74
  set -eo pipefail; \
69
75
  export PROJECT=$$(go list -m); \
@@ -93,7 +99,6 @@ node_modules:
93
99
 
94
100
  .PHONY: gents
95
101
  gents: $(PROTOWRAP) node_modules
96
- go mod vendor
97
102
  shopt -s globstar; \
98
103
  set -eo pipefail; \
99
104
  export PROJECT=$$(go list -m); \
@@ -121,9 +126,9 @@ gents: $(PROTOWRAP) node_modules
121
126
  git \
122
127
  ls-files "*.proto" |\
123
128
  xargs printf -- \
124
- "$$(pwd)/vendor/$${PROJECT}/%s ");
125
- npm run format
126
- go mod vendor
129
+ "$$(pwd)/vendor/$${PROJECT}/%s "); \
130
+ rm $$(pwd)/vendor/$${PROJECT} || true
131
+ npm run format:js
127
132
 
128
133
  .PHONY: genproto
129
134
  genproto: gengo gents
@@ -141,11 +146,16 @@ list: $(GO_MOD_OUTDATED)
141
146
 
142
147
  .PHONY: lint
143
148
  lint: $(GOLANGCI_LINT)
144
- $(GOLANGCI_LINT) run
149
+ $(GOLANGCI_LINT) run --timeout=10m
145
150
 
146
151
  .PHONY: fix
147
152
  fix: $(GOLANGCI_LINT)
148
- $(GOLANGCI_LINT) run --fix
153
+ $(GOLANGCI_LINT) run --fix --timeout=10m
154
+
155
+ .PHONY: format
156
+ format: $(GOFUMPT) $(GOIMPORTS)
157
+ $(GOIMPORTS) -w ./
158
+ $(GOFUMPT) -w ./
149
159
 
150
160
  .PHONY: test
151
161
  test:
@@ -1,7 +1,7 @@
1
1
  // Code generated by protoc-gen-go. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-go v1.32.0-devel
4
- // protoc v4.25.3
3
+ // protoc-gen-go v1.33.0-devel
4
+ // protoc v5.26.1
5
5
  // source: github.com/aperturerobotics/starpc/e2e/mock/mock.proto
6
6
 
7
7
  package e2e_mock
package/echo/echo.pb.go CHANGED
@@ -1,7 +1,7 @@
1
1
  // Code generated by protoc-gen-go. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-go v1.32.0-devel
4
- // protoc v4.25.3
3
+ // protoc-gen-go v1.33.0-devel
4
+ // protoc v5.26.1
5
5
  // source: github.com/aperturerobotics/starpc/echo/echo.proto
6
6
 
7
7
  package echo
package/go.mod CHANGED
@@ -1,17 +1,19 @@
1
1
  module github.com/aperturerobotics/starpc
2
2
 
3
- go 1.21
3
+ go 1.22
4
+
5
+ toolchain go1.22.1
4
6
 
5
7
  require (
6
8
  github.com/pkg/errors v0.9.1 // latest
7
9
  google.golang.org/protobuf v1.33.0 // latest
8
- nhooyr.io/websocket v1.8.10 // latest
10
+ nhooyr.io/websocket v1.8.11 // latest
9
11
  )
10
12
 
11
13
  require (
12
- github.com/aperturerobotics/util v1.15.1 // latest
13
- github.com/libp2p/go-libp2p v0.33.1 // latest
14
- github.com/libp2p/go-yamux/v4 v4.0.2-0.20240314112558-188b1fda7dc9 // master
14
+ github.com/aperturerobotics/util v1.16.5 // latest
15
+ github.com/libp2p/go-libp2p v0.33.2 // latest
16
+ github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48 // master
15
17
  github.com/sirupsen/logrus v1.9.3 // latest
16
18
  )
17
19
 
@@ -26,7 +28,7 @@ require (
26
28
  github.com/mr-tron/base58 v1.2.0 // indirect
27
29
  github.com/multiformats/go-base32 v0.1.0 // indirect
28
30
  github.com/multiformats/go-base36 v0.2.0 // indirect
29
- github.com/multiformats/go-multiaddr v0.12.2 // indirect
31
+ github.com/multiformats/go-multiaddr v0.12.3 // indirect
30
32
  github.com/multiformats/go-multibase v0.2.0 // indirect
31
33
  github.com/multiformats/go-multicodec v0.9.0 // indirect
32
34
  github.com/multiformats/go-multihash v0.2.3 // indirect
@@ -34,7 +36,7 @@ require (
34
36
  github.com/multiformats/go-varint v0.0.7 // indirect
35
37
  github.com/spaolacci/murmur3 v1.1.0 // indirect
36
38
  golang.org/x/crypto v0.19.0 // indirect
37
- golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect
38
- golang.org/x/sys v0.17.0 // indirect
39
+ golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8 // indirect
40
+ golang.org/x/sys v0.18.0 // indirect
39
41
  lukechampine.com/blake3 v1.2.1 // indirect
40
42
  )
package/go.sum CHANGED
@@ -1,5 +1,9 @@
1
- github.com/aperturerobotics/util v1.15.1 h1:cCNuxDI+ATnv++e5NHVDXKGaqMiPiwag9xMNQsYOspA=
2
- github.com/aperturerobotics/util v1.15.1/go.mod h1:NW+A6UUfEv+BsLrfnqwXR9g6CO97Hwe+1En9zGeW1so=
1
+ github.com/aperturerobotics/util v1.16.0 h1:w0XOUw8pT+Dg/Q9eTXO9ZFALLIalV0AK7Ba8Nf8i1XU=
2
+ github.com/aperturerobotics/util v1.16.0/go.mod h1:aMfWWor4v05bs0dTekucKSjVkmnTxKE6UPs3rCe84YM=
3
+ github.com/aperturerobotics/util v1.16.1 h1:TnL+NutOkploExwEScqVk2FAOSI62JrHu02qWjdjYCE=
4
+ github.com/aperturerobotics/util v1.16.1/go.mod h1:aMfWWor4v05bs0dTekucKSjVkmnTxKE6UPs3rCe84YM=
5
+ github.com/aperturerobotics/util v1.16.5 h1:zW6l07O1cCZMG+cbE08D5gv6p/tYfGipGRO5WaXpd1c=
6
+ github.com/aperturerobotics/util v1.16.5/go.mod h1:UzxQN3nK8D+T7ruiBqvNiZOuEerkgsM1fN8eAvjsIMo=
3
7
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4
8
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
5
9
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -15,12 +19,12 @@ github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuV
15
19
  github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
16
20
  github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
17
21
  github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
18
- github.com/libp2p/go-libp2p v0.33.1 h1:tvJl9b9M6nSLBtZSXSguq+/lRhRj2oLRkyhBmQNMFLA=
19
- github.com/libp2p/go-libp2p v0.33.1/go.mod h1:zOUTMjG4I7TXwMndNyOBn/CNtVBLlvBlnxfi+8xzx+E=
22
+ github.com/libp2p/go-libp2p v0.33.2 h1:vCdwnFxoGOXMKmaGHlDSnL4bM3fQeW8pgIa9DECnb40=
23
+ github.com/libp2p/go-libp2p v0.33.2/go.mod h1:zTeppLuCvUIkT118pFVzA8xzP/p2dJYOMApCkFh0Yww=
20
24
  github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA=
21
25
  github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg=
22
- github.com/libp2p/go-yamux/v4 v4.0.2-0.20240314112558-188b1fda7dc9 h1:8tAUqfDLYiZnTHlSQvA3wgGdqMSj8F5HBfAOnyARdR4=
23
- github.com/libp2p/go-yamux/v4 v4.0.2-0.20240314112558-188b1fda7dc9/go.mod h1:PGP+3py2ZWDKABvqstBZtMnixEHNC7U/odnGylzur5o=
26
+ github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48 h1:KI65sCCL2h9IyCQwBhBXDgkKt3bmXoTu8T3rLVLZW4I=
27
+ github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48/go.mod h1:PGP+3py2ZWDKABvqstBZtMnixEHNC7U/odnGylzur5o=
24
28
  github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
25
29
  github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
26
30
  github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -29,8 +33,8 @@ github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aG
29
33
  github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
30
34
  github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0=
31
35
  github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
32
- github.com/multiformats/go-multiaddr v0.12.2 h1:9G9sTY/wCYajKa9lyfWPmpZAwe6oV+Wb1zcmMS1HG24=
33
- github.com/multiformats/go-multiaddr v0.12.2/go.mod h1:GKyaTYjZRdcUhyOetrxTk9z0cW+jA/YrnqTOvKgi44M=
36
+ github.com/multiformats/go-multiaddr v0.12.3 h1:hVBXvPRcKG0w80VinQ23P5t7czWgg65BmIvQKjDydU8=
37
+ github.com/multiformats/go-multiaddr v0.12.3/go.mod h1:sBXrNzucqkFJhvKOiwwLyqamGa/P5EIXNPLovyhQCII=
34
38
  github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
35
39
  github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
36
40
  github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg=
@@ -57,12 +61,14 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
57
61
  github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
58
62
  golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
59
63
  golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
60
- golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
61
- golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
64
+ golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
65
+ golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
66
+ golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8 h1:ESSUROHIBHg7USnszlcdmjBEwdMj9VUvU+OPk4yl2mc=
67
+ golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
62
68
  golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
63
69
  golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
64
- golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
65
- golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
70
+ golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
71
+ golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
66
72
  google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
67
73
  google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
68
74
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -73,3 +79,5 @@ lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI=
73
79
  lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
74
80
  nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q=
75
81
  nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
82
+ nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0=
83
+ nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
@@ -3,6 +3,7 @@ package main
3
3
  import (
4
4
  "fmt"
5
5
  "net/http"
6
+ "time"
6
7
 
7
8
  "github.com/aperturerobotics/starpc/echo"
8
9
  "github.com/aperturerobotics/starpc/srpc"
@@ -22,8 +23,13 @@ func main() {
22
23
  logrus.Fatal(err.Error())
23
24
  }
24
25
 
25
- fmt.Print("listening on :5000\n")
26
- if err := http.ListenAndServe(":5000", server); err != nil {
26
+ fmt.Print("listening on localhost:5000\n")
27
+ hserver := &http.Server{
28
+ Addr: "localhost:5000",
29
+ Handler: server,
30
+ ReadHeaderTimeout: time.Second * 10,
31
+ }
32
+ if err := hserver.ListenAndServe(); err != nil {
27
33
  logrus.Fatal(err.Error())
28
34
  }
29
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "starpc",
3
- "version": "0.27.3",
3
+ "version": "0.28.1",
4
4
  "description": "Streaming protobuf RPC service protocol over any two-way channel.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -40,7 +40,9 @@
40
40
  "deps": "depcheck --ignores 'bufferutil,utf-8-validate,ts-proto,rimraf,@aperturerobotics/ts-common'",
41
41
  "codegen": "npm run gen",
42
42
  "ci": "npm run build && npm run lint:js && npm run lint:go",
43
- "format": "prettier --write './{srpc,echo,e2e,integration,rpcstream}/**/(*.ts|*.tsx|*.html|*.css)'",
43
+ "format": "npm run format:go && npm run format:js",
44
+ "format:go": "make format",
45
+ "format:js": "prettier --write './{srpc,echo,e2e,integration,rpcstream}/**/(*.ts|*.tsx|*.html|*.css)'",
44
46
  "gen": "make genproto",
45
47
  "test": "npm run test:js && npm run test:go",
46
48
  "test:go": "make test",
@@ -51,7 +53,7 @@
51
53
  "integration": "npm run test:integration",
52
54
  "lint": "npm run lint:go && npm run lint:js",
53
55
  "lint:go": "make lint",
54
- "lint:js": "eslint -c .eslintrc.js --ext .ts ./{srpc,echo,rpcstream}/**/*.ts",
56
+ "lint:js": "ESLINT_USE_FLAT_CONFIG=false eslint -c .eslintrc.js --ignore-pattern *.js --ignore-pattern *.d.ts ./",
55
57
  "patch": "patch-package --use-yarn --patch-dir ./node_modules/@aperturerobotics/ts-common/patches",
56
58
  "prepare": "npm run patch && go mod vendor",
57
59
  "precommit": "npm run format"
@@ -61,13 +63,13 @@
61
63
  "singleQuote": true
62
64
  },
63
65
  "devDependencies": {
64
- "@aperturerobotics/ts-common": "^0.8.6",
66
+ "@aperturerobotics/ts-common": "^0.9.0",
65
67
  "bufferutil": "^4.0.7",
66
68
  "depcheck": "^1.4.6",
67
69
  "esbuild": "^0.20.0",
68
70
  "prettier": "^3.2.4",
69
71
  "rimraf": "^5.0.1",
70
- "ts-poet": "6.7.0",
72
+ "ts-poet": "6.8.0",
71
73
  "ts-proto": "^1.166.1",
72
74
  "typescript": "^5.3.2",
73
75
  "utf-8-validate": "^6.0.3"
@@ -1,7 +1,7 @@
1
1
  // Code generated by protoc-gen-go. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-go v1.32.0-devel
4
- // protoc v4.25.3
3
+ // protoc-gen-go v1.33.0-devel
4
+ // protoc v5.26.1
5
5
  // source: github.com/aperturerobotics/starpc/srpc/rpcproto.proto
6
6
 
7
7
  package srpc