mirror of
https://github.com/yudai/gotty.git
synced 2026-03-03 12:20:16 +01:00
Update xterm libary to 4.17
This commit is contained in:
parent
ab9ea2b95f
commit
bba352a2eb
14 changed files with 2735 additions and 2352 deletions
31
Makefile
31
Makefile
|
|
@ -6,13 +6,12 @@ BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION) -X main.CommitID=$(GIT_COMM
|
||||||
gotty: main.go server/*.go webtty/*.go backend/*.go Makefile
|
gotty: main.go server/*.go webtty/*.go backend/*.go Makefile
|
||||||
go build ${BUILD_OPTIONS}
|
go build ${BUILD_OPTIONS}
|
||||||
|
|
||||||
.PHONY: asset
|
server/asset.go: bindata/static/js/gotty-bundle.js bindata/static/js/gotty-bundle.js.map bindata/static/js/gotty-bundle.js.LICENSE.txt bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css
|
||||||
asset: bindata/static/js/gotty-bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css
|
|
||||||
go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/...
|
go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/...
|
||||||
gofmt -w server/asset.go
|
gofmt -w server/asset.go
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: asset gotty
|
all: server/asset.go gotty
|
||||||
|
|
||||||
bindata:
|
bindata:
|
||||||
mkdir bindata
|
mkdir bindata
|
||||||
|
|
@ -33,6 +32,11 @@ bindata/static/js: bindata/static
|
||||||
bindata/static/js/gotty-bundle.js: bindata/static/js js/dist/gotty-bundle.js
|
bindata/static/js/gotty-bundle.js: bindata/static/js js/dist/gotty-bundle.js
|
||||||
cp js/dist/gotty-bundle.js bindata/static/js/gotty-bundle.js
|
cp js/dist/gotty-bundle.js bindata/static/js/gotty-bundle.js
|
||||||
|
|
||||||
|
bindata/static/js/gotty-bundle.js.LICENSE.txt: js/dist/gotty-bundle.js.LICENSE.txt
|
||||||
|
cp $< $@
|
||||||
|
bindata/static/js/gotty-bundle.js.map: js/dist/gotty-bundle.js.map
|
||||||
|
cp $< $@
|
||||||
|
|
||||||
bindata/static/css: bindata/static
|
bindata/static/css: bindata/static
|
||||||
mkdir -p bindata/static/css
|
mkdir -p bindata/static/css
|
||||||
|
|
||||||
|
|
@ -42,23 +46,26 @@ bindata/static/css/index.css: bindata/static/css resources/index.css
|
||||||
bindata/static/css/xterm_customize.css: bindata/static/css resources/xterm_customize.css
|
bindata/static/css/xterm_customize.css: bindata/static/css resources/xterm_customize.css
|
||||||
cp resources/xterm_customize.css bindata/static/css/xterm_customize.css
|
cp resources/xterm_customize.css bindata/static/css/xterm_customize.css
|
||||||
|
|
||||||
bindata/static/css/xterm.css: bindata/static/css js/node_modules/xterm/dist/xterm.css
|
bindata/static/css/xterm.css: bindata/static/css js/node_modules/xterm/css/xterm.css
|
||||||
cp js/node_modules/xterm/dist/xterm.css bindata/static/css/xterm.css
|
cp js/node_modules/xterm/css/xterm.css bindata/static/css/xterm.css
|
||||||
|
|
||||||
js/node_modules/xterm/dist/xterm.css:
|
js/node_modules/xterm/css/xterm.css:
|
||||||
cd js && \
|
cd js && \
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
js/dist/gotty-bundle.js: js/src/* js/node_modules/webpack
|
js/dist/gotty-bundle.js: js/src/* js/node_modules/webpack
|
||||||
cd js && \
|
cd js && \
|
||||||
$$(npm bin)/webpack
|
/usr/bin/node $$(npm bin)/webpack
|
||||||
|
|
||||||
|
js/dist/gotty-bundle.js.LICENSE.txt: js/dist/gotty-bundle.js
|
||||||
|
js/dist/gotty-bundle.js.map: js/dist/gotty-bundle.js
|
||||||
|
|
||||||
js/node_modules/webpack:
|
js/node_modules/webpack:
|
||||||
cd js && \
|
cd js && \
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
tools:
|
tools:
|
||||||
go install github.com/go-bindata/go-bindata/go-bindata@latest # for static asset management
|
go install github.com/go-bindata/go-bindata/v3/go-bindata@latest # for static asset management
|
||||||
# TODO convert to `go install`
|
# TODO convert to `go install`
|
||||||
go get github.com/mitchellh/gox # for crosscompiling
|
go get github.com/mitchellh/gox # for crosscompiling
|
||||||
go get github.com/tcnksm/ghr # for making gihub releases
|
go get github.com/tcnksm/ghr # for making gihub releases
|
||||||
|
|
@ -79,6 +86,10 @@ shasums:
|
||||||
release:
|
release:
|
||||||
ghr -c ${GIT_COMMIT} --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist
|
ghr -c ${GIT_COMMIT} --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist
|
||||||
|
|
||||||
|
.PHONY: update_go_modules
|
||||||
|
update_go_modules:
|
||||||
|
go get -u
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf bindata/ js/node_modules/*
|
rm -rf bindata/ js/node_modules/*
|
||||||
|
|
|
||||||
2
go.mod
2
go.mod
|
|
@ -19,7 +19,5 @@ require (
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
|
||||||
github.com/stretchr/testify v1.7.0 // indirect
|
github.com/stretchr/testify v1.7.0 // indirect
|
||||||
golang.org/x/sys v0.0.0-20220224120231-95c6836cb0e7 // indirect
|
|
||||||
)
|
)
|
||||||
|
|
|
||||||
21
go.sum
21
go.sum
|
|
@ -1,12 +1,6 @@
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/NYTimes/gziphandler v0.0.0-20170804200234-967539e5e271 h1:rEXtCtsQnEC8QeWYL2BpqmOuondcABYaKHux21ddDns=
|
|
||||||
github.com/NYTimes/gziphandler v0.0.0-20170804200234-967539e5e271/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
|
||||||
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
|
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
|
||||||
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
|
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
|
||||||
github.com/codegangsta/cli v1.19.1 h1:+wkU9+nidApJ051CVhVGnj5li64qOfLPz7eZMn2DPXw=
|
|
||||||
github.com/codegangsta/cli v1.19.1/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
|
|
||||||
github.com/codegangsta/cli v1.20.0 h1:iX1FXEgwzd5+XN6wk5cVHOGQj6Q3Dcp20lUeS4lHNTw=
|
|
||||||
github.com/codegangsta/cli v1.20.0/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
|
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
|
|
@ -15,31 +9,19 @@ github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI=
|
||||||
github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/elazarl/go-bindata-assetfs v0.0.0-20150813044622-d5cac425555c h1:Knqh8y6EeTJQ3FZsqdRq7XfB7/RimWQjBtO4YRzUgcE=
|
|
||||||
github.com/elazarl/go-bindata-assetfs v0.0.0-20150813044622-d5cac425555c/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
|
|
||||||
github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw=
|
github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw=
|
||||||
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
|
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
|
||||||
github.com/fatih/structs v0.0.0-20150526064352-a9f7daa9c272 h1:0fRL8zAP1oZiyz+nKKlJsW7yAIHeIjMOCr4fmGximHk=
|
|
||||||
github.com/fatih/structs v0.0.0-20150526064352-a9f7daa9c272/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
|
|
||||||
github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
|
github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
|
||||||
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
|
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
|
||||||
github.com/gorilla/websocket v0.0.0-20150811171432-b6ab76f1fe98 h1:VQR6w4PocLvhbzu1AtDRjW0RXe1gntyKTX2JYYX28kI=
|
|
||||||
github.com/gorilla/websocket v0.0.0-20150811171432-b6ab76f1fe98/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
|
||||||
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
|
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
|
||||||
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||||
github.com/hashicorp/go-multierror v0.0.0-20150608033521-56912fb08d85 h1:cUIqw6AGGDeIa1KYdG1mLl/bX+WGDbvZJ+dhb2tprxo=
|
|
||||||
github.com/hashicorp/go-multierror v0.0.0-20150608033521-56912fb08d85/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
|
|
||||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||||
github.com/kr/pty v0.0.0-20150511174710-5cf931ef8f76 h1:i5TIRQpbCg4aJMUtVHIhkQnSw++Z405Z5pzqHqeNkdU=
|
|
||||||
github.com/kr/pty v0.0.0-20150511174710-5cf931ef8f76/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI=
|
github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI=
|
||||||
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||||
github.com/pkg/errors v0.8.1-0.20161029093637-248dadf4e906 h1:BKfCEBHnHoXswNe0Btj/zOfiyn40z6qOti8SeLbQgdM=
|
|
||||||
github.com/pkg/errors v0.8.1-0.20161029093637-248dadf4e906/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
|
||||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
|
@ -47,7 +29,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
|
||||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
|
@ -57,8 +38,6 @@ github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU=
|
||||||
github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552 h1:tjsK9T2IA3d2FFNxzDP7AJf+EXhyuPd7PB4Z2HrtAoc=
|
github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552 h1:tjsK9T2IA3d2FFNxzDP7AJf+EXhyuPd7PB4Z2HrtAoc=
|
||||||
github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552/go.mod h1:hg0ZaCmQL3rze1cH8Fh2g0a9q8vQs0uN8ESpePEwSEw=
|
github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552/go.mod h1:hg0ZaCmQL3rze1cH8Fh2g0a9q8vQs0uN8ESpePEwSEw=
|
||||||
golang.org/x/sys v0.0.0-20220224120231-95c6836cb0e7 h1:BXxu8t6QN0G1uff4bzZzSkpsax8+ALqTGUtz08QrV00=
|
|
||||||
golang.org/x/sys v0.0.0-20220224120231-95c6836cb0e7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||||
|
|
|
||||||
91
js/dist/gotty-bundle.js
vendored
91
js/dist/gotty-bundle.js
vendored
File diff suppressed because one or more lines are too long
87
js/dist/gotty-bundle.js.LICENSE.txt
vendored
Normal file
87
js/dist/gotty-bundle.js.LICENSE.txt
vendored
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*!
|
||||||
|
* libapps (https://npmjs.com/package/libapps)
|
||||||
|
* @license BSD-3-Clause
|
||||||
|
* @version 1.70.0
|
||||||
|
* ==libapps/LICENSE==
|
||||||
|
* // Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.
|
||||||
|
* //
|
||||||
|
* // Redistribution and use in source and binary forms, with or without
|
||||||
|
* // modification, are permitted provided that the following conditions are
|
||||||
|
* // met:
|
||||||
|
* //
|
||||||
|
* // * Redistributions of source code must retain the above copyright
|
||||||
|
* // notice, this list of conditions and the following disclaimer.
|
||||||
|
* // * Redistributions in binary form must reproduce the above
|
||||||
|
* // copyright notice, this list of conditions and the following disclaimer
|
||||||
|
* // in the documentation and/or other materials provided with the
|
||||||
|
* // distribution.
|
||||||
|
* // * Neither the name of Google Inc. nor the names of its
|
||||||
|
* // contributors may be used to endorse or promote products derived from
|
||||||
|
* // this software without specific prior written permission.
|
||||||
|
* //
|
||||||
|
* // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* xterm (https://npmjs.com/package/xterm)
|
||||||
|
* @license MIT
|
||||||
|
* @version 4.17.0
|
||||||
|
* ==xterm/LICENSE==
|
||||||
|
* Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
|
||||||
|
* Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)
|
||||||
|
* Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* xterm-addon-fit (https://npmjs.com/package/xterm-addon-fit)
|
||||||
|
* @license MIT
|
||||||
|
* @version 0.5.0
|
||||||
|
* ==xterm-addon-fit/LICENSE==
|
||||||
|
* Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
1
js/dist/gotty-bundle.js.map
vendored
Normal file
1
js/dist/gotty-bundle.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
js/dist/main.d.ts
vendored
1
js/dist/main.d.ts
vendored
|
|
@ -0,0 +1 @@
|
||||||
|
export {};
|
||||||
10
js/dist/xterm.d.ts
vendored
10
js/dist/xterm.d.ts
vendored
|
|
@ -1,13 +1,17 @@
|
||||||
import * as bare from "xterm";
|
/// <reference types="node" />
|
||||||
import { lib } from "libapps";
|
import { lib } from "libapps";
|
||||||
|
import { IDisposable, Terminal } from 'xterm';
|
||||||
|
import { FitAddon } from "xterm-addon-fit";
|
||||||
export declare class Xterm {
|
export declare class Xterm {
|
||||||
elem: HTMLElement;
|
elem: HTMLElement;
|
||||||
term: bare;
|
term: Terminal;
|
||||||
resizeListener: () => void;
|
resizeListener: () => void;
|
||||||
decoder: lib.UTF8Decoder;
|
decoder: lib.UTF8Decoder;
|
||||||
message: HTMLElement;
|
message: HTMLElement;
|
||||||
messageTimeout: number;
|
messageTimeout: number;
|
||||||
messageTimer: number;
|
messageTimer: NodeJS.Timer;
|
||||||
|
fitAddon: FitAddon;
|
||||||
|
disposables: IDisposable[];
|
||||||
constructor(elem: HTMLElement);
|
constructor(elem: HTMLElement);
|
||||||
info(): {
|
info(): {
|
||||||
columns: number;
|
columns: number;
|
||||||
|
|
|
||||||
4601
js/package-lock.json
generated
4601
js/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +1,14 @@
|
||||||
{
|
{
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"license-loader": "^0.5.0",
|
"license-loader": "^0.5.0",
|
||||||
"ts-loader": "^2.0.3",
|
"ts-loader": "^9.1.2",
|
||||||
"typescript": "^2.3.2",
|
"typescript": "^4.4.4",
|
||||||
"uglifyjs-webpack-plugin": "^1.0.0-beta.2",
|
"webpack": "^5",
|
||||||
"webpack": "^2.5.1"
|
"webpack-cli": "^4.9.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"libapps": "github:yudai/libapps#release-hterm-1.70",
|
"libapps": "github:yudai/libapps#release-hterm-1.70",
|
||||||
"xterm": "^2.7.0"
|
"xterm": "^4.17",
|
||||||
|
"xterm-addon-fit": "^0.5.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,8 @@ export class WebTTY {
|
||||||
|
|
||||||
open() {
|
open() {
|
||||||
let connection = this.connectionFactory.create();
|
let connection = this.connectionFactory.create();
|
||||||
let pingTimer: number;
|
let pingTimer: NodeJS.Timer;
|
||||||
let reconnectTimeout: number;
|
let reconnectTimeout: NodeJS.Timeout;
|
||||||
|
|
||||||
const setup = () => {
|
const setup = () => {
|
||||||
connection.onOpen(() => {
|
connection.onOpen(() => {
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,52 @@
|
||||||
import * as bare from "xterm";
|
import {lib} from "libapps";
|
||||||
import { lib } from "libapps"
|
|
||||||
|
|
||||||
|
import {IDisposable, Terminal} from 'xterm';
|
||||||
|
import {FitAddon} from "xterm-addon-fit";
|
||||||
|
|
||||||
bare.loadAddon("fit");
|
|
||||||
|
|
||||||
export class Xterm {
|
export class Xterm {
|
||||||
elem: HTMLElement;
|
elem: HTMLElement;
|
||||||
term: bare;
|
term: Terminal;
|
||||||
resizeListener: () => void;
|
resizeListener: () => void;
|
||||||
decoder: lib.UTF8Decoder;
|
decoder: lib.UTF8Decoder;
|
||||||
|
|
||||||
message: HTMLElement;
|
message: HTMLElement;
|
||||||
messageTimeout: number;
|
messageTimeout: number;
|
||||||
messageTimer: number;
|
messageTimer: NodeJS.Timer;
|
||||||
|
|
||||||
|
fitAddon: FitAddon;
|
||||||
|
disposables: IDisposable[] = [];
|
||||||
|
|
||||||
|
|
||||||
constructor(elem: HTMLElement) {
|
constructor(elem: HTMLElement) {
|
||||||
this.elem = elem;
|
this.elem = elem;
|
||||||
this.term = new bare();
|
const isWindows = ['Windows', 'Win16', 'Win32', 'WinCE'].indexOf(navigator.platform) >= 0;
|
||||||
|
this.term = new Terminal({
|
||||||
|
cursorStyle: "block",
|
||||||
|
cursorBlink: true,
|
||||||
|
windowsMode: isWindows,
|
||||||
|
fontFamily: "DejaVu Sans Mono, Everson Mono, FreeMono, Menlo, Terminal, monospace, Apple Symbols",
|
||||||
|
fontSize: 12,
|
||||||
|
});
|
||||||
|
|
||||||
|
this.fitAddon = new FitAddon();
|
||||||
|
this.term.loadAddon(this.fitAddon);
|
||||||
|
|
||||||
this.message = elem.ownerDocument.createElement("div");
|
this.message = elem.ownerDocument.createElement("div");
|
||||||
this.message.className = "xterm-overlay";
|
this.message.className = "xterm-overlay";
|
||||||
this.messageTimeout = 2000;
|
this.messageTimeout = 2000;
|
||||||
|
|
||||||
this.resizeListener = () => {
|
this.resizeListener = () => {
|
||||||
this.term.fit();
|
this.fitAddon.fit();
|
||||||
this.term.scrollToBottom();
|
this.term.scrollToBottom();
|
||||||
this.showMessage(String(this.term.cols) + "x" + String(this.term.rows), this.messageTimeout);
|
this.showMessage(String(this.term.cols) + "x" + String(this.term.rows), this.messageTimeout);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.term.on("open", () => {
|
this.term.open(elem);
|
||||||
this.resizeListener();
|
|
||||||
window.addEventListener("resize", () => { this.resizeListener(); });
|
|
||||||
});
|
|
||||||
|
|
||||||
this.term.open(elem, true);
|
this.term.focus()
|
||||||
|
this.resizeListener();
|
||||||
|
window.addEventListener("resize", () => { this.resizeListener(); });
|
||||||
|
|
||||||
this.decoder = new lib.UTF8Decoder()
|
this.decoder = new lib.UTF8Decoder()
|
||||||
};
|
};
|
||||||
|
|
@ -75,21 +87,20 @@ export class Xterm {
|
||||||
};
|
};
|
||||||
|
|
||||||
onInput(callback: (input: string) => void) {
|
onInput(callback: (input: string) => void) {
|
||||||
this.term.on("data", (data) => {
|
this.disposables.push(this.term.onData((data) => {
|
||||||
callback(data);
|
callback(data);
|
||||||
});
|
}));
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
onResize(callback: (colmuns: number, rows: number) => void) {
|
onResize(callback: (colmuns: number, rows: number) => void) {
|
||||||
this.term.on("resize", (data) => {
|
this.disposables.push(this.term.onResize((data) => {
|
||||||
callback(data.cols, data.rows);
|
callback(data.cols, data.rows);
|
||||||
});
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
deactivate(): void {
|
deactivate(): void {
|
||||||
this.term.off("data");
|
this.disposables.forEach(d => d.dispose())
|
||||||
this.term.off("resize");
|
|
||||||
this.term.blur();
|
this.term.blur();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,6 +111,6 @@ export class Xterm {
|
||||||
|
|
||||||
close(): void {
|
close(): void {
|
||||||
window.removeEventListener("resize", this.resizeListener);
|
window.removeEventListener("resize", this.resizeListener);
|
||||||
this.term.destroy();
|
this.term.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,30 @@
|
||||||
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
|
const TerserPlugin = require("terser-webpack-plugin");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
entry: "./src/main.ts",
|
entry: "./src/main.ts",
|
||||||
output: {
|
output: {
|
||||||
filename: "./dist/gotty-bundle.js"
|
filename: "./gotty-bundle.js"
|
||||||
},
|
},
|
||||||
devtool: "source-map",
|
devtool: "source-map",
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: [".ts", ".tsx", ".js"],
|
extensions: [".ts", ".tsx", ".js"],
|
||||||
},
|
},
|
||||||
module: {
|
module: {
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
test: /\.tsx?$/,
|
test: /\.tsx?$/,
|
||||||
loader: "ts-loader",
|
loader: "ts-loader",
|
||||||
exclude: /node_modules/
|
exclude: /node_modules/
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.js$/,
|
test: /\.js$/,
|
||||||
include: /node_modules/,
|
include: /node_modules/,
|
||||||
loader: 'license-loader'
|
loader: 'license-loader'
|
||||||
}
|
}
|
||||||
]
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
new UglifyJSPlugin()
|
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
optimization: {
|
||||||
|
minimize: true,
|
||||||
|
minimizer: [new TerserPlugin()],
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
123
server/asset.go
123
server/asset.go
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue