diff --git a/README.md b/README.md index 01559aa..26d5bb0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # yterm -`yterm` is a terminal emulator in web. Similar project [`xterm.js`](https://github.com/xtermjs/xterm.js). +`yterm` is a terminal emulator in web. +[`xterm.js`](https://github.com/xtermjs/xterm.js) is a similar project. My project proposal and weekly rubrics can be found [here](https://gitlab.engr.illinois.edu/zl38/fa19-cs242-project/tree/proposal) # Project structure diff --git a/demo/Makefile b/demo/Makefile new file mode 100644 index 0000000..3f91618 --- /dev/null +++ b/demo/Makefile @@ -0,0 +1,6 @@ +NPM_INSTALL := npm install --no-save +NPX := npx + +.PHONY: deps +deps: + $(NPM_INSTALL) $(DEPS) diff --git a/demo/multiplex/Makefile b/demo/multiplex/Makefile new file mode 100644 index 0000000..2f78467 --- /dev/null +++ b/demo/multiplex/Makefile @@ -0,0 +1,7 @@ +DEPS := ws@^7.2.0 node-pty@^0.9.0 + +.PHONY: all +all: deps + $(NPX) ts-node server.ts + +include ../Makefile diff --git a/demo/demo.html b/demo/multiplex/demo.html similarity index 98% rename from demo/demo.html rename to demo/multiplex/demo.html index deffa08..aa09750 100644 --- a/demo/demo.html +++ b/demo/multiplex/demo.html @@ -63,7 +63,7 @@

yterm

- + + + diff --git a/demo/server.ts b/demo/simple/server.ts similarity index 82% rename from demo/server.ts rename to demo/simple/server.ts index ff40cbd..b218616 100644 --- a/demo/server.ts +++ b/demo/simple/server.ts @@ -26,6 +26,11 @@ server.on("connection", ws => { }); }); +server.on("listening", () => { + console.log("listening on", server.address()); + console.log("open demo.html to view the frontend"); +}); + process.on("exit", () => { console.log("killing all processes"); diff --git a/package-lock.json b/package-lock.json index c646b9f..e4106d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -606,11 +606,6 @@ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -3667,7 +3662,9 @@ "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true }, "nanomatch": { "version": "1.2.13", @@ -3831,14 +3828,6 @@ } } }, - "node-pty": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-0.9.0.tgz", - "integrity": "sha512-MBnCQl83FTYOu7B4xWw10AW77AAh7ThCE1VXEv+JeWj8mSpGo+0bwgsV+b23ljBFwEM9OmsOv3kM27iUPPm84g==", - "requires": { - "nan": "^2.14.0" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -6063,14 +6052,6 @@ "signal-exit": "^3.0.2" } }, - "ws": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz", - "integrity": "sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==", - "requires": { - "async-limiter": "^1.0.0" - } - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 6a79b03..d46abea 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,14 @@ "name": "yterm", "version": "0.0.1", "description": "", + "main": "dist/yterm.ts", + "types": "dist/yterm.d.ts", "scripts": { "build": "npx webpack --mode production", "build-dev": "npx webpack --mode development", "test": "npx tsc --noEmit && npx mocha -r ts-node/register tests/**/*.test.ts", "coverage": "npx nyc -r text -r lcov -n src -e .ts npm run test", - "demo": "npx ts-node demo/server.ts" + "demo": "cd demo && make -C" }, "author": "zl38", "license": "MIT", @@ -25,8 +27,5 @@ "webpack": "^4.41.2", "webpack-cli": "^3.3.10" }, - "dependencies": { - "node-pty": "^0.9.0", - "ws": "^7.2.0" - } + "dependencies": {} } diff --git a/tsconfig.json b/tsconfig.json index 3fcf38c..5404001 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,8 +4,9 @@ "strict": true, "esModuleInterop": true, "downlevelIteration": true, + "declaration": true, "target": "es5", - "outDir": "dist/yterm" + "outDir": "dist" }, "include": [ "src/**/*"