diff --git a/package-lock.json b/package-lock.json index a9345b9..c00e38c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,16 +12,18 @@ "@designestate/dees-domtools": "^1.0.41", "@designestate/dees-element": "^1.0.26", "@designestate/dees-wcctools": "^1.0.37", - "@gitzone/tsrun": "^1.2.12", + "@gitzone/tsrun": "^1.2.31", "@losslessone_private/loint-pubapi": "^1.0.9", "@pushrocks/smartexpress": "^3.0.76", - "monaco-editor": "^0.32.1", - "typescript": "^4.4.3" + "monaco-editor": "^0.33.0", + "typescript": "^4.4.3", + "xterm": "^4.18.0", + "xterm-addon-fit": "^0.5.0" }, "devDependencies": { - "@gitzone/tsbuild": "^2.1.24", - "@gitzone/tsbundle": "^1.0.91", - "@gitzone/tswatch": "^1.0.59", + "@gitzone/tsbuild": "^2.1.55", + "@gitzone/tsbundle": "^1.0.94", + "@gitzone/tswatch": "^1.0.62", "@pushrocks/projectinfo": "^4.0.5", "buffer": "^6.0.3", "process": "^0.11.10", @@ -1869,66 +1871,28 @@ } }, "node_modules/@gitzone/tsbuild": { - "version": "2.1.29", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.29.tgz", - "integrity": "sha512-rS0WlwXKb0W+gjFvVgcr1h+ZWRQTBwDm9RylEipPsDb+RmbTYKFT1xtoS53TWAgSKJouknVfsLowbSEic9+75g==", + "version": "2.1.55", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.55.tgz", + "integrity": "sha512-co8qTEq4BVhhFcKLRjeyQVY7+KCSOfjnlp1l6KOic4HkeX0Mn7l9cSAtc4duW5YE9H89eYU9LDoyp80j3kCDQA==", "dev": true, "license": "MIT", "dependencies": { "@pushrocks/early": "^3.0.6", "@pushrocks/smartcli": "^3.0.14", - "@pushrocks/smartfile": "^8.0.10", + "@pushrocks/smartfile": "^9.0.6", "@pushrocks/smartlog": "^2.0.44", - "@pushrocks/smartpath": "^4.0.3", - "@pushrocks/smartpromise": "^3.1.6", - "typescript": "^4.4.2" + "@pushrocks/smartpath": "^5.0.4", + "@pushrocks/smartpromise": "^3.1.7", + "typescript": "4.7.0" }, "bin": { "tsbuild": "cli.js" } }, - "node_modules/@gitzone/tsbundle": { - "version": "1.0.91", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbundle/-/tsbundle-1.0.91.tgz", - "integrity": "sha512-J4RcXcinkIlY6d2jbgAXasczr9UhTm9+MZhajnanUMFb6jAGc9a0exaPruCblGPSEnDZ3lBs4iLLUN93dglXRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.17.5", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-decorators": "^7.17.2", - "@babel/plugin-transform-runtime": "^7.17.0", - "@babel/preset-env": "^7.16.11", - "@babel/runtime": "^7.17.2", - "@pushrocks/early": "^3.0.6", - "@pushrocks/smartcli": "^3.0.14", - "@pushrocks/smartfile": "^9.0.5", - "@pushrocks/smartlog": "^2.0.44", - "@pushrocks/smartlog-destination-local": "^8.0.8", - "@pushrocks/smartparcel": "^1.0.13", - "@pushrocks/smartpromise": "^3.1.7", - "@pushrocks/smartspawn": "^2.0.9", - "@rollup/plugin-commonjs": "^21.0.2", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^13.1.3", - "@rollup/plugin-typescript": "^8.3.1", - "@types/html-minifier": "^4.0.2", - "@types/node": "^17.0.21", - "html-minifier": "^4.0.0", - "rollup": "^2.70.0", - "rollup-plugin-babel": "^4.4.0", - "rollup-plugin-sourcemaps": "^0.6.3", - "rollup-plugin-terser": "^7.0.2", - "typescript": "^4.6.2" - }, - "bin": { - "tsbundle": "cli.js" - } - }, - "node_modules/@gitzone/tsbundle/node_modules/@pushrocks/smartfile": { - "version": "9.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.5.tgz", - "integrity": "sha512-u7i2GmKPzjZZUNhl7y/vM8gubU23DIOSpGxxjN3T49fGOzc6LsjTenk7clVxpdR27eRzCsvRTy3rOxcyMLGOvQ==", + "node_modules/@gitzone/tsbuild/node_modules/@pushrocks/smartfile": { + "version": "9.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.6.tgz", + "integrity": "sha512-mXFrnHpM3Eq0MLokGP6DDRTk+v/HDlQwnNq4HFuCqs8YW6uTU/FoRJDnrCAf+spSzkDm0m1ajz/4rke8Dk9l6A==", "dev": true, "license": "MIT", "dependencies": { @@ -1949,28 +1913,143 @@ "js-yaml": "^4.1.0" } }, - "node_modules/@gitzone/tsrun": { - "version": "1.2.18", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.18.tgz", - "integrity": "sha512-DI08qVwVu61zrQlp5/+NVPGH/TsF2x8OGgyxK+xGayIKH9MLRXxX6NT9OK8+FOyCqyJNYfxDunmlK4rlnFCJ7w==", + "node_modules/@gitzone/tsbuild/node_modules/@pushrocks/smartfile/node_modules/@pushrocks/smartpath": { + "version": "4.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-4.0.3.tgz", + "integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@gitzone/tsbuild/node_modules/@pushrocks/smartpath": { + "version": "5.0.4", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-5.0.4.tgz", + "integrity": "sha512-EwyVasx4Tx1/4lPsDlIlRvFLTekQO5JBrYnkBrMx8W2915Af6GWVD8KU6tc6ouR8VN/4OZEp3XhiSVHO3tKPAA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@gitzone/tsbundle": { + "version": "1.0.94", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbundle/-/tsbundle-1.0.94.tgz", + "integrity": "sha512-mYZjEdvLS/7qEJoQdUXby922TtWXOkR6TW5wA8OFk/itvdIOJMq7LRqBD3e0/ARsThMS64Dr3GoreOGajoQDqw==", + "dev": true, "license": "MIT", "dependencies": { - "@pushrocks/smartfile": "^8.0.10", - "ts-node": "^10.2.1", - "typescript": "^4.4.3" + "@babel/core": "^7.17.5", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-decorators": "^7.17.2", + "@babel/plugin-transform-runtime": "^7.17.0", + "@babel/preset-env": "^7.16.11", + "@babel/runtime": "^7.17.2", + "@pushrocks/early": "^3.0.6", + "@pushrocks/smartcli": "^3.0.14", + "@pushrocks/smartfile": "^9.0.6", + "@pushrocks/smartlog": "^2.0.44", + "@pushrocks/smartlog-destination-local": "^8.0.8", + "@pushrocks/smartparcel": "^1.0.13", + "@pushrocks/smartpath": "^5.0.4", + "@pushrocks/smartpromise": "^3.1.7", + "@pushrocks/smartspawn": "^2.0.9", + "@rollup/plugin-commonjs": "^21.0.2", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-typescript": "^8.3.1", + "@types/html-minifier": "^4.0.2", + "@types/node": "^17.0.21", + "html-minifier": "^4.0.0", + "rollup": "^2.70.1", + "rollup-plugin-babel": "^4.4.0", + "rollup-plugin-sourcemaps": "^0.6.3", + "rollup-plugin-terser": "^7.0.2", + "typescript": "4.7.0" + }, + "bin": { + "tsbundle": "cli.js" + } + }, + "node_modules/@gitzone/tsbundle/node_modules/@pushrocks/smartfile": { + "version": "9.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.6.tgz", + "integrity": "sha512-mXFrnHpM3Eq0MLokGP6DDRTk+v/HDlQwnNq4HFuCqs8YW6uTU/FoRJDnrCAf+spSzkDm0m1ajz/4rke8Dk9l6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pushrocks/lik": "^5.0.0", + "@pushrocks/smartdelay": "^2.0.13", + "@pushrocks/smartfile-interfaces": "^1.0.7", + "@pushrocks/smarthash": "^2.1.10", + "@pushrocks/smartjson": "^4.0.6", + "@pushrocks/smartmime": "^1.0.5", + "@pushrocks/smartpath": "^4.0.3", + "@pushrocks/smartpromise": "^3.1.6", + "@pushrocks/smartrequest": "^1.1.52", + "@types/fs-extra": "^9.0.13", + "@types/glob": "^7.2.0", + "@types/js-yaml": "^4.0.5", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "js-yaml": "^4.1.0" + } + }, + "node_modules/@gitzone/tsbundle/node_modules/@pushrocks/smartfile/node_modules/@pushrocks/smartpath": { + "version": "4.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-4.0.3.tgz", + "integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@gitzone/tsbundle/node_modules/@pushrocks/smartpath": { + "version": "5.0.4", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-5.0.4.tgz", + "integrity": "sha512-EwyVasx4Tx1/4lPsDlIlRvFLTekQO5JBrYnkBrMx8W2915Af6GWVD8KU6tc6ouR8VN/4OZEp3XhiSVHO3tKPAA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@gitzone/tsrun": { + "version": "1.2.31", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.31.tgz", + "integrity": "sha512-28xyJ46KXYDXnZHp4QBKrsdOOvvqcK+5tp5rvRncpCmTcTi5k6ixC8kv4XfbH9jDtq+ubKDu+/Y2tF0tNjGTgA==", + "license": "MIT", + "dependencies": { + "@pushrocks/smartfile": "^9.0.6", + "@pushrocks/smartshell": "^2.0.30", + "ts-node": "^10.7.0", + "typescript": "4.7.0" }, "bin": { "tsrun": "cli.js" } }, + "node_modules/@gitzone/tsrun/node_modules/@pushrocks/smartfile": { + "version": "9.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.6.tgz", + "integrity": "sha512-mXFrnHpM3Eq0MLokGP6DDRTk+v/HDlQwnNq4HFuCqs8YW6uTU/FoRJDnrCAf+spSzkDm0m1ajz/4rke8Dk9l6A==", + "license": "MIT", + "dependencies": { + "@pushrocks/lik": "^5.0.0", + "@pushrocks/smartdelay": "^2.0.13", + "@pushrocks/smartfile-interfaces": "^1.0.7", + "@pushrocks/smarthash": "^2.1.10", + "@pushrocks/smartjson": "^4.0.6", + "@pushrocks/smartmime": "^1.0.5", + "@pushrocks/smartpath": "^4.0.3", + "@pushrocks/smartpromise": "^3.1.6", + "@pushrocks/smartrequest": "^1.1.52", + "@types/fs-extra": "^9.0.13", + "@types/glob": "^7.2.0", + "@types/js-yaml": "^4.0.5", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "js-yaml": "^4.1.0" + } + }, "node_modules/@gitzone/tswatch": { - "version": "1.0.59", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftswatch/-/tswatch-1.0.59.tgz", - "integrity": "sha512-I1INfMKSTkGVp7Re2dW97cFwgSveRK7NuvB0ckxVN7BDqgorpAKHsH1Sq837zUc6aNisR+FAEiyE0OTtTRnHxQ==", + "version": "1.0.62", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftswatch/-/tswatch-1.0.62.tgz", + "integrity": "sha512-tiHyewCm4AOtG4hmLdKeof0yhIOmKOYw3yfcSj5XuaOqUelqyYnC8AXfHdyHrGgUXK2gNP6kwQ7gSFiWkf2lmQ==", "dev": true, "license": "MIT", "dependencies": { - "@gitzone/tsrun": "^1.2.18", + "@gitzone/tsrun": "^1.2.31", "@pushrocks/early": "^3.0.3", "@pushrocks/lik": "^5.0.4", "@pushrocks/smartchok": "^1.0.23", @@ -3715,7 +3794,6 @@ "version": "1.0.20", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.20.tgz", "integrity": "sha512-u/KgA7s2zAtZ7gZvL13HZbO3mZATvjfCLU8Ez6h8VweG8UsIBVaPfYziMDCmJOWIPYLGzEW8eG/u4mCHuyLBow==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/lik": "^4.0.20", @@ -3726,7 +3804,6 @@ "version": "4.0.22", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-4.0.22.tgz", "integrity": "sha512-dg6Du7nr/SLU80yJw7a0zk2xX9Vc8SCLZaQMmSRBlsnL1/Z7qpWDOtpRC9VlL9vTLenbvwGTvPWMpOKyyNbiiA==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/smartdelay": "^2.0.13", @@ -4093,7 +4170,6 @@ "version": "2.0.30", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.30.tgz", "integrity": "sha512-HPgdTFzfzhk2TQau/jVdYNSANlxyBZdqq2vyZ+bZahegVHfH/27Zur5Fk+2vE16VJjJMqP7zcvDITUe2+ipgJg==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/smartdelay": "^2.0.13", @@ -4793,7 +4869,6 @@ "version": "2.0.1", "resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-2.0.1.tgz", "integrity": "sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==", - "dev": true, "license": "MIT" }, "node_modules/@types/yargs": { @@ -6980,7 +7055,6 @@ "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true, "license": "ISC" }, "node_modules/jest-worker": { @@ -7501,9 +7575,9 @@ } }, "node_modules/monaco-editor": { - "version": "0.32.1", - "resolved": "https://verdaccio.lossless.one/monaco-editor/-/monaco-editor-0.32.1.tgz", - "integrity": "sha512-LUt2wsUvQmEi2tfTOK+tjAPvt7eQ+K5C4rZPr6SeuyzjAuAHrIvlUloTcOiGjZW3fn3a/jFQCONrEJbNOaCqbA==", + "version": "0.33.0", + "resolved": "https://verdaccio.lossless.one/monaco-editor/-/monaco-editor-0.33.0.tgz", + "integrity": "sha512-VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw==", "license": "MIT" }, "node_modules/ms": { @@ -8736,9 +8810,9 @@ } }, "node_modules/rollup": { - "version": "2.70.0", - "resolved": "https://verdaccio.lossless.one/rollup/-/rollup-2.70.0.tgz", - "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", + "version": "2.70.1", + "resolved": "https://verdaccio.lossless.one/rollup/-/rollup-2.70.1.tgz", + "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", "dev": true, "license": "MIT", "bin": { @@ -9470,7 +9544,6 @@ "version": "1.2.2", "resolved": "https://verdaccio.lossless.one/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, "license": "MIT", "bin": { "tree-kill": "cli.js" @@ -9667,9 +9740,9 @@ } }, "node_modules/typescript": { - "version": "4.6.2", - "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "version": "4.7.0", + "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-4.7.0-dev.20220216.tgz", + "integrity": "sha512-Qwhfu+Ht6Vj5rqCEcf5sgrackkAnTzQ+eB1wgaon+Q6wawUk7LJsfuiCgTvYnyLvtd1xLQcpIohlruvhNws/3g==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -9858,7 +9931,6 @@ "version": "2.0.2", "resolved": "https://verdaccio.lossless.one/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -9993,6 +10065,21 @@ "node": ">=0.4.0" } }, + "node_modules/xterm": { + "version": "4.18.0", + "resolved": "https://verdaccio.lossless.one/xterm/-/xterm-4.18.0.tgz", + "integrity": "sha512-JQoc1S0dti6SQfI0bK1AZvGnAxH4MVw45ZPFSO6FHTInAiau3Ix77fSxNx3mX4eh9OL4AYa8+4C8f5UvnSfppQ==", + "license": "MIT" + }, + "node_modules/xterm-addon-fit": { + "version": "0.5.0", + "resolved": "https://verdaccio.lossless.one/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", + "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", + "license": "MIT", + "peerDependencies": { + "xterm": "^4.0.0" + } + }, "node_modules/xxhash-wasm": { "version": "0.4.2", "resolved": "https://verdaccio.lossless.one/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", @@ -11305,24 +11392,63 @@ } }, "@gitzone/tsbuild": { - "version": "2.1.29", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.29.tgz", - "integrity": "sha512-rS0WlwXKb0W+gjFvVgcr1h+ZWRQTBwDm9RylEipPsDb+RmbTYKFT1xtoS53TWAgSKJouknVfsLowbSEic9+75g==", + "version": "2.1.55", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.55.tgz", + "integrity": "sha512-co8qTEq4BVhhFcKLRjeyQVY7+KCSOfjnlp1l6KOic4HkeX0Mn7l9cSAtc4duW5YE9H89eYU9LDoyp80j3kCDQA==", "dev": true, "requires": { "@pushrocks/early": "^3.0.6", "@pushrocks/smartcli": "^3.0.14", - "@pushrocks/smartfile": "^8.0.10", + "@pushrocks/smartfile": "^9.0.6", "@pushrocks/smartlog": "^2.0.44", - "@pushrocks/smartpath": "^4.0.3", - "@pushrocks/smartpromise": "^3.1.6", - "typescript": "^4.4.2" + "@pushrocks/smartpath": "^5.0.4", + "@pushrocks/smartpromise": "^3.1.7", + "typescript": "4.7.0" + }, + "dependencies": { + "@pushrocks/smartfile": { + "version": "9.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.6.tgz", + "integrity": "sha512-mXFrnHpM3Eq0MLokGP6DDRTk+v/HDlQwnNq4HFuCqs8YW6uTU/FoRJDnrCAf+spSzkDm0m1ajz/4rke8Dk9l6A==", + "dev": true, + "requires": { + "@pushrocks/lik": "^5.0.0", + "@pushrocks/smartdelay": "^2.0.13", + "@pushrocks/smartfile-interfaces": "^1.0.7", + "@pushrocks/smarthash": "^2.1.10", + "@pushrocks/smartjson": "^4.0.6", + "@pushrocks/smartmime": "^1.0.5", + "@pushrocks/smartpath": "^4.0.3", + "@pushrocks/smartpromise": "^3.1.6", + "@pushrocks/smartrequest": "^1.1.52", + "@types/fs-extra": "^9.0.13", + "@types/glob": "^7.2.0", + "@types/js-yaml": "^4.0.5", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "@pushrocks/smartpath": { + "version": "4.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-4.0.3.tgz", + "integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==", + "dev": true + } + } + }, + "@pushrocks/smartpath": { + "version": "5.0.4", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-5.0.4.tgz", + "integrity": "sha512-EwyVasx4Tx1/4lPsDlIlRvFLTekQO5JBrYnkBrMx8W2915Af6GWVD8KU6tc6ouR8VN/4OZEp3XhiSVHO3tKPAA==", + "dev": true + } } }, "@gitzone/tsbundle": { - "version": "1.0.91", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbundle/-/tsbundle-1.0.91.tgz", - "integrity": "sha512-J4RcXcinkIlY6d2jbgAXasczr9UhTm9+MZhajnanUMFb6jAGc9a0exaPruCblGPSEnDZ3lBs4iLLUN93dglXRw==", + "version": "1.0.94", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbundle/-/tsbundle-1.0.94.tgz", + "integrity": "sha512-mYZjEdvLS/7qEJoQdUXby922TtWXOkR6TW5wA8OFk/itvdIOJMq7LRqBD3e0/ARsThMS64Dr3GoreOGajoQDqw==", "dev": true, "requires": { "@babel/core": "^7.17.5", @@ -11333,10 +11459,11 @@ "@babel/runtime": "^7.17.2", "@pushrocks/early": "^3.0.6", "@pushrocks/smartcli": "^3.0.14", - "@pushrocks/smartfile": "^9.0.5", + "@pushrocks/smartfile": "^9.0.6", "@pushrocks/smartlog": "^2.0.44", "@pushrocks/smartlog-destination-local": "^8.0.8", "@pushrocks/smartparcel": "^1.0.13", + "@pushrocks/smartpath": "^5.0.4", "@pushrocks/smartpromise": "^3.1.7", "@pushrocks/smartspawn": "^2.0.9", "@rollup/plugin-commonjs": "^21.0.2", @@ -11346,18 +11473,67 @@ "@types/html-minifier": "^4.0.2", "@types/node": "^17.0.21", "html-minifier": "^4.0.0", - "rollup": "^2.70.0", + "rollup": "^2.70.1", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", - "typescript": "^4.6.2" + "typescript": "4.7.0" }, "dependencies": { "@pushrocks/smartfile": { - "version": "9.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.5.tgz", - "integrity": "sha512-u7i2GmKPzjZZUNhl7y/vM8gubU23DIOSpGxxjN3T49fGOzc6LsjTenk7clVxpdR27eRzCsvRTy3rOxcyMLGOvQ==", + "version": "9.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.6.tgz", + "integrity": "sha512-mXFrnHpM3Eq0MLokGP6DDRTk+v/HDlQwnNq4HFuCqs8YW6uTU/FoRJDnrCAf+spSzkDm0m1ajz/4rke8Dk9l6A==", "dev": true, + "requires": { + "@pushrocks/lik": "^5.0.0", + "@pushrocks/smartdelay": "^2.0.13", + "@pushrocks/smartfile-interfaces": "^1.0.7", + "@pushrocks/smarthash": "^2.1.10", + "@pushrocks/smartjson": "^4.0.6", + "@pushrocks/smartmime": "^1.0.5", + "@pushrocks/smartpath": "^4.0.3", + "@pushrocks/smartpromise": "^3.1.6", + "@pushrocks/smartrequest": "^1.1.52", + "@types/fs-extra": "^9.0.13", + "@types/glob": "^7.2.0", + "@types/js-yaml": "^4.0.5", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "@pushrocks/smartpath": { + "version": "4.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-4.0.3.tgz", + "integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==", + "dev": true + } + } + }, + "@pushrocks/smartpath": { + "version": "5.0.4", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-5.0.4.tgz", + "integrity": "sha512-EwyVasx4Tx1/4lPsDlIlRvFLTekQO5JBrYnkBrMx8W2915Af6GWVD8KU6tc6ouR8VN/4OZEp3XhiSVHO3tKPAA==", + "dev": true + } + } + }, + "@gitzone/tsrun": { + "version": "1.2.31", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.31.tgz", + "integrity": "sha512-28xyJ46KXYDXnZHp4QBKrsdOOvvqcK+5tp5rvRncpCmTcTi5k6ixC8kv4XfbH9jDtq+ubKDu+/Y2tF0tNjGTgA==", + "requires": { + "@pushrocks/smartfile": "^9.0.6", + "@pushrocks/smartshell": "^2.0.30", + "ts-node": "^10.7.0", + "typescript": "4.7.0" + }, + "dependencies": { + "@pushrocks/smartfile": { + "version": "9.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-9.0.6.tgz", + "integrity": "sha512-mXFrnHpM3Eq0MLokGP6DDRTk+v/HDlQwnNq4HFuCqs8YW6uTU/FoRJDnrCAf+spSzkDm0m1ajz/4rke8Dk9l6A==", "requires": { "@pushrocks/lik": "^5.0.0", "@pushrocks/smartdelay": "^2.0.13", @@ -11378,23 +11554,13 @@ } } }, - "@gitzone/tsrun": { - "version": "1.2.18", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.18.tgz", - "integrity": "sha512-DI08qVwVu61zrQlp5/+NVPGH/TsF2x8OGgyxK+xGayIKH9MLRXxX6NT9OK8+FOyCqyJNYfxDunmlK4rlnFCJ7w==", - "requires": { - "@pushrocks/smartfile": "^8.0.10", - "ts-node": "^10.2.1", - "typescript": "^4.4.3" - } - }, "@gitzone/tswatch": { - "version": "1.0.59", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftswatch/-/tswatch-1.0.59.tgz", - "integrity": "sha512-I1INfMKSTkGVp7Re2dW97cFwgSveRK7NuvB0ckxVN7BDqgorpAKHsH1Sq837zUc6aNisR+FAEiyE0OTtTRnHxQ==", + "version": "1.0.62", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftswatch/-/tswatch-1.0.62.tgz", + "integrity": "sha512-tiHyewCm4AOtG4hmLdKeof0yhIOmKOYw3yfcSj5XuaOqUelqyYnC8AXfHdyHrGgUXK2gNP6kwQ7gSFiWkf2lmQ==", "dev": true, "requires": { - "@gitzone/tsrun": "^1.2.18", + "@gitzone/tsrun": "^1.2.31", "@pushrocks/early": "^3.0.3", "@pushrocks/lik": "^5.0.4", "@pushrocks/smartchok": "^1.0.23", @@ -12572,7 +12738,6 @@ "version": "1.0.20", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.20.tgz", "integrity": "sha512-u/KgA7s2zAtZ7gZvL13HZbO3mZATvjfCLU8Ez6h8VweG8UsIBVaPfYziMDCmJOWIPYLGzEW8eG/u4mCHuyLBow==", - "dev": true, "requires": { "@pushrocks/lik": "^4.0.20", "@pushrocks/smartdelay": "^2.0.3" @@ -12582,7 +12747,6 @@ "version": "4.0.22", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-4.0.22.tgz", "integrity": "sha512-dg6Du7nr/SLU80yJw7a0zk2xX9Vc8SCLZaQMmSRBlsnL1/Z7qpWDOtpRC9VlL9vTLenbvwGTvPWMpOKyyNbiiA==", - "dev": true, "requires": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartmatch": "^1.0.7", @@ -12915,7 +13079,6 @@ "version": "2.0.30", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.30.tgz", "integrity": "sha512-HPgdTFzfzhk2TQau/jVdYNSANlxyBZdqq2vyZ+bZahegVHfH/27Zur5Fk+2vE16VJjJMqP7zcvDITUe2+ipgJg==", - "dev": true, "requires": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartexit": "^1.0.20", @@ -13505,8 +13668,7 @@ "@types/which": { "version": "2.0.1", "resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-2.0.1.tgz", - "integrity": "sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==", - "dev": true + "integrity": "sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==" }, "@types/yargs": { "version": "16.0.4", @@ -15004,8 +15166,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "jest-worker": { "version": "26.6.2", @@ -15399,9 +15560,9 @@ "dev": true }, "monaco-editor": { - "version": "0.32.1", - "resolved": "https://verdaccio.lossless.one/monaco-editor/-/monaco-editor-0.32.1.tgz", - "integrity": "sha512-LUt2wsUvQmEi2tfTOK+tjAPvt7eQ+K5C4rZPr6SeuyzjAuAHrIvlUloTcOiGjZW3fn3a/jFQCONrEJbNOaCqbA==" + "version": "0.33.0", + "resolved": "https://verdaccio.lossless.one/monaco-editor/-/monaco-editor-0.33.0.tgz", + "integrity": "sha512-VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw==" }, "ms": { "version": "2.1.2", @@ -16197,9 +16358,9 @@ } }, "rollup": { - "version": "2.70.0", - "resolved": "https://verdaccio.lossless.one/rollup/-/rollup-2.70.0.tgz", - "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", + "version": "2.70.1", + "resolved": "https://verdaccio.lossless.one/rollup/-/rollup-2.70.1.tgz", + "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -16745,8 +16906,7 @@ "tree-kill": { "version": "1.2.2", "resolved": "https://verdaccio.lossless.one/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" }, "ts-node": { "version": "10.7.0", @@ -16871,9 +17031,9 @@ } }, "typescript": { - "version": "4.6.2", - "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==" + "version": "4.7.0", + "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-4.7.0-dev.20220216.tgz", + "integrity": "sha512-Qwhfu+Ht6Vj5rqCEcf5sgrackkAnTzQ+eB1wgaon+Q6wawUk7LJsfuiCgTvYnyLvtd1xLQcpIohlruvhNws/3g==" }, "uglify-js": { "version": "3.15.3", @@ -16999,7 +17159,6 @@ "version": "2.0.2", "resolved": "https://verdaccio.lossless.one/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -17079,6 +17238,17 @@ "resolved": "https://verdaccio.lossless.one/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" }, + "xterm": { + "version": "4.18.0", + "resolved": "https://verdaccio.lossless.one/xterm/-/xterm-4.18.0.tgz", + "integrity": "sha512-JQoc1S0dti6SQfI0bK1AZvGnAxH4MVw45ZPFSO6FHTInAiau3Ix77fSxNx3mX4eh9OL4AYa8+4C8f5UvnSfppQ==" + }, + "xterm-addon-fit": { + "version": "0.5.0", + "resolved": "https://verdaccio.lossless.one/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", + "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", + "requires": {} + }, "xxhash-wasm": { "version": "0.4.2", "resolved": "https://verdaccio.lossless.one/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", diff --git a/package.json b/package.json index 08a18be..2bf74fc 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "typings": "dist_ts_web/index.d.ts", "scripts": { "test": "npm run build", - "build": "tsbuild element && tsbundle element --production", + "build": "tsbuild element --commonjs --allowimplicitany && tsbundle element --commonjs --allowimplicitany --production", "watch": "tswatch element" }, "author": "Lossless GmbH", @@ -16,16 +16,18 @@ "@designestate/dees-domtools": "^1.0.41", "@designestate/dees-element": "^1.0.26", "@designestate/dees-wcctools": "^1.0.37", - "@gitzone/tsrun": "^1.2.12", + "@gitzone/tsrun": "^1.2.31", "@losslessone_private/loint-pubapi": "^1.0.9", "@pushrocks/smartexpress": "^3.0.76", - "monaco-editor": "^0.32.1", - "typescript": "^4.4.3" + "monaco-editor": "^0.33.0", + "typescript": "^4.4.3", + "xterm": "^4.18.0", + "xterm-addon-fit": "^0.5.0" }, "devDependencies": { - "@gitzone/tsbuild": "^2.1.24", - "@gitzone/tsbundle": "^1.0.91", - "@gitzone/tswatch": "^1.0.59", + "@gitzone/tsbuild": "^2.1.55", + "@gitzone/tsbundle": "^1.0.94", + "@gitzone/tswatch": "^1.0.62", "@pushrocks/projectinfo": "^4.0.5", "buffer": "^6.0.3", "process": "^0.11.10", @@ -47,4 +49,4 @@ "browserslist": [ "last 1 Chrome versions" ] -} +} \ No newline at end of file diff --git a/ts_web/elements/dees-terminal.ts b/ts_web/elements/dees-terminal.ts new file mode 100644 index 0000000..30e9c85 --- /dev/null +++ b/ts_web/elements/dees-terminal.ts @@ -0,0 +1,242 @@ +import { DeesElement, property, html, customElement, TemplateResult, css, cssManager } from '@designestate/dees-element'; +import * as domtools from '@designestate/dees-domtools'; + +import { Terminal } from 'xterm'; +import { FitAddon } from 'xterm-addon-fit'; + +declare global { + interface HTMLElementTagNameMap { + 'dees-terminal': DeesTerminal; + } +} + +@customElement('dees-terminal') +export class DeesTerminal extends DeesElement { + public static demo = () => html` + + `; + + constructor() { + super(); + domtools.DomTools.setupDomTools(); + } + + public static styles = [ + domtools.elementBasic.staticStyles, + css` + :host { + padding: 20px; + background: #000; + position: absolute; + height: 100%; + width: 100%; + } + + * { + box-sizing: border-box; + } + + #container { + position: absolute; + height: calc(100% - 40px); + width: calc(100% - 40px); + } + /** + * Copyright (c) 2014 The xterm.js authors. All rights reserved. + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * https://github.com/chjj/term.js + * @license MIT + * + * 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. + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + * The original design remains. The terminal itself + * has been extended to include xterm CSI codes, among + * other features. + */ + + /** + * Default styles for xterm.js + */ + + .xterm { + font-feature-settings: "liga" 0; + position: relative; + user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + } + + .xterm.focus, + .xterm:focus { + outline: none; + } + + .xterm .xterm-helpers { + position: absolute; + top: 0; + /** + * The z-index of the helpers must be higher than the canvases in order for + * IMEs to appear on top. + */ + z-index: 5; + } + + .xterm .xterm-helper-textarea { + padding: 0; + border: 0; + margin: 0; + /* Move textarea out of the screen to the far left, so that the cursor is not visible */ + position: absolute; + opacity: 0; + left: -9999em; + top: 0; + width: 0; + height: 0; + z-index: -5; + /** Prevent wrapping so the IME appears against the textarea at the correct position */ + white-space: nowrap; + overflow: hidden; + resize: none; + } + + .xterm .composition-view { + /* TODO: Composition position got messed up somewhere */ + background: #000; + color: #FFF; + display: none; + position: absolute; + white-space: nowrap; + z-index: 1; + } + + .xterm .composition-view.active { + display: block; + } + + .xterm .xterm-viewport { + /* On OS X this is required in order for the scroll bar to appear fully opaque */ + background-color: #000; + overflow-y: scroll; + cursor: default; + position: absolute; + right: 0; + left: 0; + top: 0; + bottom: 0; + } + + .xterm .xterm-screen { + position: relative; + } + + .xterm .xterm-screen canvas { + position: absolute; + left: 0; + top: 0; + } + + .xterm .xterm-scroll-area { + visibility: hidden; + } + + .xterm-char-measure-element { + display: inline-block; + visibility: hidden; + position: absolute; + top: 0; + left: -9999em; + line-height: normal; + } + + .xterm { + cursor: text; + } + + .xterm.enable-mouse-events { + /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */ + cursor: default; + } + + .xterm.xterm-cursor-pointer { + cursor: pointer; + } + + .xterm.column-select.focus { + /* Column selection mode */ + cursor: crosshair; + } + + .xterm .xterm-accessibility, + .xterm .xterm-message { + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + z-index: 10; + color: transparent; + } + + .xterm .live-region { + position: absolute; + left: -9999px; + width: 1px; + height: 1px; + overflow: hidden; + } + + .xterm-dim { + opacity: 0.5; + } + + .xterm-underline { + text-decoration: underline; + } + ` + ] + + public render (): TemplateResult { + return html` +
+
+
+ `; + } + + public async firstUpdated (_changedProperties: Map): Promise { + super.firstUpdated(_changedProperties); + const container = this.shadowRoot.getElementById('container'); + + const term = new Terminal(); + const fitAddon = new FitAddon(); + term.loadAddon(fitAddon); + + // Open the terminal in #terminal-container + term.open(container); + + // Make the terminal's size and geometry fit the size of #terminal-container + fitAddon.fit(); + + term.write(`dees-terminal custom terminal. \r\n$ `); + } +} \ No newline at end of file diff --git a/ts_web/elements/index.ts b/ts_web/elements/index.ts index efcec99..507859f 100644 --- a/ts_web/elements/index.ts +++ b/ts_web/elements/index.ts @@ -1,2 +1,3 @@ export * from './dees-editor'; -export * from './dees-editor-ace'; \ No newline at end of file +export * from './dees-editor-ace'; +export * from './dees-terminal'; \ No newline at end of file