diff --git a/.gitignore b/.gitignore index 39581ec..91c0db0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,22 @@ .nogit/ -node_modules/ -dist/ + +# artifacts coverage/ public/ pages/ + +# installs +node_modules/ + +# caches +.yarn/ +.cache/ +.rpt2_cache + +# builds +dist/ +dist_web/ +dist_serve/ +dist_ts_web/ + +# custom \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8321aed..63b309d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -# gitzone standard +# gitzone ci_default image: hosttoday/ht-docker-node:npmci cache: @@ -78,19 +78,11 @@ release: # ==================== codequality: stage: metadata - image: docker:stable allow_failure: true - services: - - docker:stable-dind script: - - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --env SOURCE_CODE="$PWD" - --volume "$PWD":/code - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code - artifacts: - paths: [codeclimate.json] + - npmci command npm install -g tslint typescript + - npmci npm install + - npmci command "tslint -c tslint.json ./ts/**/*.ts" tags: - docker - priv @@ -109,10 +101,10 @@ pages: image: hosttoday/ht-docker-node:npmci stage: metadata script: - - npmci command npm install -g typedoc typescript + - npmci command npm install -g @gitzone/tsdoc - npmci npm prepare - npmci npm install - - npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/ + - npmci command tsdoc tags: - docker - notpriv diff --git a/package-lock.json b/package-lock.json index 57a3801..a9b233e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,48 +35,23 @@ } }, "@gitzone/tsbuild": { - "version": "2.1.8", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.8.tgz", - "integrity": "sha512-xdFCi5OZe03ShjB5tIcKZ5vGis6wzqiCkvNtQ/pMkp90KFA+fAjARVfeSUpuRRlAXoaewv+snK/GkvlvhviqNw==", + "version": "2.1.11", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.11.tgz", + "integrity": "sha512-Sa90/S7rkfFaTa2yeASHVAWIl3hNh9DBqVcQbOCaNhqKUGdD+NzPw1MESuMOXqKG7oM5i4Cu6qfcJB0fmAjS8g==", "dev": true, "requires": { "@pushrocks/smartcli": "^3.0.7", - "@pushrocks/smartfile": "^6.0.11", - "@pushrocks/smartlog": "^2.0.9", + "@pushrocks/smartfile": "^7.0.2", + "@pushrocks/smartlog": "^2.0.19", "@pushrocks/smartpath": "^4.0.1", - "@pushrocks/smartpromise": "^2.0.5", - "typescript": "^3.2.2" - }, - "dependencies": { - "@pushrocks/smartfile": { - "version": "6.0.12", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-6.0.12.tgz", - "integrity": "sha512-89abBQgZ/90YWTjVD2ZMkgO4Em4XM0xLf1wPBG4s1yVCdwBSrVX/Eg1EvHyNEk7lbule0NoBmCAvHcIb95FRXQ==", - "dev": true, - "requires": { - "@pushrocks/smartpath": "^4.0.1", - "@pushrocks/smartpromise": "^2.0.5", - "@pushrocks/smartrequest": "^1.1.14", - "@types/fs-extra": "^5.0.4", - "@types/vinyl": "^2.0.2", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "js-yaml": "^3.12.1", - "vinyl-file": "^3.0.0" - } - }, - "@pushrocks/smartpromise": { - "version": "2.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", - "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", - "dev": true - } + "@pushrocks/smartpromise": "^3.0.2", + "typescript": "^3.4.5" } }, "@gitzone/tsrun": { - "version": "1.2.5", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.5.tgz", - "integrity": "sha512-yUE4ndfIak90IOF8CdQ+COD4dCarA+WPdmjFNG/o5R1KhXFnLKJ9kXtdvshFn2cF5HbpSfDNS6RVVuuBgjpFvg==", + "version": "1.2.6", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.6.tgz", + "integrity": "sha512-MTgQ7OiKfMpRQRumJp8aGuLCNNyWGjZSxsF+GfZ7cmg2DUtJRyCL0Ybkai1sPdMWG/zE8RUo50WvBKEChdVyvA==", "dev": true, "requires": { "@gitzone/tsbuild": "^2.1.8", @@ -86,19 +61,19 @@ } }, "@gitzone/tstest": { - "version": "1.0.20", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.20.tgz", - "integrity": "sha512-nEHRDpmPOns47/LIJQ+y+CJDzjiS17UKJpl7PYok4EgNJJGqJUN5ilz2KVLPDcRd/7JiB7JYKujlf2UgFKadgQ==", + "version": "1.0.24", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.24.tgz", + "integrity": "sha512-HFHLxhXFhhY7nn7H7dxfjy/6WiUGCw35L5Do/ZajCAn/xAWiqnppW1aIp0LOOaWeZ7J5fH7xP88TjsGpwR+MRA==", "dev": true, "requires": { - "@gitzone/tsrun": "^1.2.5", + "@gitzone/tsrun": "^1.2.6", "@pushrocks/consolecolor": "^2.0.1", "@pushrocks/smartfile": "^7.0.2", "@pushrocks/smartlog": "^2.0.19", "@pushrocks/smartpromise": "^3.0.2", - "@pushrocks/smartshell": "^2.0.13", - "@types/figures": "^2.0.0", - "figures": "^2.0.0" + "@pushrocks/smartshell": "^2.0.22", + "@types/figures": "^3.0.1", + "figures": "^3.0.0" } }, "@pushrocks/consolecolor": { @@ -195,10 +170,21 @@ } } }, + "@pushrocks/smartexit": { + "version": "1.0.15", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.15.tgz", + "integrity": "sha512-pvJBmF13spcDN+O8rSpYlKBOObyfW+omZKQr3hhSMT1VHMEYV8e/njsA19Cg4C2DfLPv+cRFFgPn27zJpleRsQ==", + "dev": true, + "requires": { + "@pushrocks/lik": "^3.0.5", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartlog-source-ora": "^1.0.7" + } + }, "@pushrocks/smartexpress": { - "version": "3.0.19", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexpress/-/smartexpress-3.0.19.tgz", - "integrity": "sha512-3dN43yy2wRcj36w0sX0h6z1Xg9cxXiw84Ohn9QulFVWZeiCwHmBC15uSAVBMBCd1e87aDfEL9wzrRii+0PcwAA==", + "version": "3.0.21", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexpress/-/smartexpress-3.0.21.tgz", + "integrity": "sha512-b/TONmCWG/K2gt3AuHGn7nWDkP3LIU072nbXShKbkcXPqetQcbuyXWc5g52wkag4KQV8XWcaucMDBNCSMmPhgg==", "requires": { "@pushrocks/lik": "^3.0.5", "@pushrocks/smartfile": "^7.0.2", @@ -208,7 +194,7 @@ "@types/finalhandler": "^1.1.0", "@types/helmet": "0.0.43", "@types/serve-static": "^1.13.2", - "body-parser": "^1.18.3", + "body-parser": "^1.19.0", "cors": "^2.8.5", "express": "^4.16.4", "express-force-ssl": "^0.3.2", @@ -263,6 +249,16 @@ "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-interfaces/-/smartlog-interfaces-2.0.5.tgz", "integrity": "sha512-eLNlRpDwy3E+6v/B6fo/NiAo+UxBO3SxKgIIsgUGbWfVpsyUi0PG2xfVCdhJlhL1AsRRvKglfHSOB8qKE+XCLw==" }, + "@pushrocks/smartlog-source-ora": { + "version": "1.0.8", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-source-ora/-/smartlog-source-ora-1.0.8.tgz", + "integrity": "sha512-yPFACo/1gHx2o43qYLJ6LB5AUvSFB42abYynySpaIZfQKzdz09eJB/LMbVdOKPObwk7bcma5owyK5lPHicG9Ig==", + "dev": true, + "requires": { + "@pushrocks/smartlog-interfaces": "^2.0.5", + "ora": "^3.4.0" + } + }, "@pushrocks/smartparam": { "version": "1.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartparam/-/smartparam-1.0.4.tgz", @@ -321,32 +317,26 @@ } }, "@pushrocks/smartshell": { - "version": "2.0.13", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.13.tgz", - "integrity": "sha512-jLfAhLxMVKAScKdln1QrQqBI7A7INhMNHIq28fJEBi0BNDUS0eerw4yMAnR4CRmcrh4xFp1z+ju1kaPO3I/4MA==", + "version": "2.0.23", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.23.tgz", + "integrity": "sha512-+YXacX/sp4f+iBYm4vAoxrq/c8WCHnFhMaW66l3R08stl0eezW3SytoSlnr6R+JT1xqnBzIItDfCyyRC3uEVnw==", "dev": true, "requires": { - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartexit": "^1.0.15", + "@pushrocks/smartpromise": "^3.0.2", "@types/which": "^1.3.1", "which": "^1.3.1" - }, - "dependencies": { - "@pushrocks/smartpromise": { - "version": "2.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", - "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", - "dev": true - } } }, "@pushrocks/smartsocket": { - "version": "1.1.35", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartsocket/-/smartsocket-1.1.35.tgz", - "integrity": "sha512-+w76ksJvQA4FBVIIyVBTef4y38PeXZNnXy/EBy4OQ0pepsgMs9gYcWLFpU4g4WY5yVcQ8vNTNU/rM/osHG4OJA==", + "version": "1.1.37", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartsocket/-/smartsocket-1.1.37.tgz", + "integrity": "sha512-4XYj4v7yrvmh1PlKe7u6fE84bsAn4c8loGA/hxbB1IPntXBXZbXqEXnOQo6Dpqxwk6nGC4ABGpZIMXf+o6qcLQ==", "requires": { "@pushrocks/lik": "^3.0.5", "@pushrocks/smartdelay": "^2.0.3", - "@pushrocks/smartexpress": "^3.0.19", + "@pushrocks/smartexpress": "^3.0.21", "@pushrocks/smarthash": "^2.0.4", "@pushrocks/smartlog": "^2.0.19", "@pushrocks/smartpromise": "^3.0.2", @@ -445,9 +435,9 @@ } }, "@types/express": { - "version": "4.16.1", - "resolved": "https://verdaccio.lossless.one/@types%2fexpress/-/express-4.16.1.tgz", - "integrity": "sha512-V0clmJow23WeyblmACoxbHBu2JKlE5TiIme6Lem14FnPW9gsttyHtk6wq7njcdIWH1njAaFgR8gW09lgY98gQg==", + "version": "4.17.0", + "resolved": "https://verdaccio.lossless.one/@types%2fexpress/-/express-4.17.0.tgz", + "integrity": "sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw==", "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "*", @@ -455,19 +445,22 @@ } }, "@types/express-serve-static-core": { - "version": "4.16.3", - "resolved": "https://verdaccio.lossless.one/@types%2fexpress-serve-static-core/-/express-serve-static-core-4.16.3.tgz", - "integrity": "sha512-HFgBmRDTvdnrRFXqBr2NM2NUCu6fIpzJsUTlRVENF8lxvstof7cl9Fxfwq5S0kJbO/FsPVcjlxpOM3ZxIkn7Rw==", + "version": "4.16.7", + "resolved": "https://verdaccio.lossless.one/@types%2fexpress-serve-static-core/-/express-serve-static-core-4.16.7.tgz", + "integrity": "sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg==", "requires": { "@types/node": "*", "@types/range-parser": "*" } }, "@types/figures": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/@types%2ffigures/-/figures-2.0.0.tgz", - "integrity": "sha512-mcRgJ+ncKuNI+Dwac7omO18B8C8u+YBS+AU/oyLhEyjAnT3cUUThhHgZpbiIvu5ZqSvdD30BXtrqg9nxc3OKMg==", - "dev": true + "version": "3.0.1", + "resolved": "https://verdaccio.lossless.one/@types%2ffigures/-/figures-3.0.1.tgz", + "integrity": "sha512-2OXodKWdNhYl+S+wCvlafqJbfMIVDfQZYX2wRyUOcRiEQpeJ9zU6cT7d+RbMpjS+/vmQ2cAUUL8gyGy1YxtLPw==", + "dev": true, + "requires": { + "figures": "*" + } }, "@types/finalhandler": { "version": "1.1.0", @@ -517,9 +510,9 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, "@types/node": { - "version": "11.13.7", - "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-11.13.7.tgz", - "integrity": "sha512-suFHr6hcA9mp8vFrZTgrmqW2ZU3mbWsryQtQlY/QvwTISCw7nw/j+bCQPPohqmskhmqa5wLNuMHTTsc+xf1MQg==" + "version": "12.0.6", + "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.6.tgz", + "integrity": "sha512-3sV/MUw6uYxPaRIoooI/MjO0j1A06JNlbpkGc56F+zikO52qavehD/Qw85so47gWhO82tNzEFoF6adXqIfK+EA==" }, "@types/range-parser": { "version": "1.2.3", @@ -590,12 +583,27 @@ "dev": true }, "accepts": { - "version": "1.3.5", - "resolved": "https://verdaccio.lossless.one/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://verdaccio.lossless.one/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + } } }, "after": { @@ -858,6 +866,21 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/cli-spinners/-/cli-spinners-2.1.0.tgz", + "integrity": "sha512-8B00fJOEh1HPrx4fo5eW16XmE1PcL1tGpGrxy63CXGP9nHdPBN63X75hA1zhvQuhVztJWLqV58Roj2qlNM7cAA==", + "dev": true + }, "cliui": { "version": "4.1.0", "resolved": "https://verdaccio.lossless.one/cliui/-/cliui-4.1.0.tgz", @@ -950,9 +973,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://verdaccio.lossless.one/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + "version": "0.5.3", + "resolved": "https://verdaccio.lossless.one/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } }, "content-security-policy-builder": { "version": "2.0.0", @@ -965,9 +991,9 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "cookie": { - "version": "0.3.1", - "resolved": "https://verdaccio.lossless.one/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "version": "0.4.0", + "resolved": "https://verdaccio.lossless.one/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, "cookie-signature": { "version": "1.0.6", @@ -1045,6 +1071,23 @@ "type-detect": "^4.0.0" } }, + "defaults": { + "version": "1.0.3", + "resolved": "https://verdaccio.lossless.one/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://verdaccio.lossless.one/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -1061,9 +1104,9 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "diff": { - "version": "3.5.0", - "resolved": "https://verdaccio.lossless.one/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.1", + "resolved": "https://verdaccio.lossless.one/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", "dev": true }, "dns-prefetch-control": { @@ -1117,6 +1160,11 @@ "ws": "~6.1.0" }, "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://verdaccio.lossless.one/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, "debug": { "version": "3.1.0", "resolved": "https://verdaccio.lossless.one/debug/-/debug-3.1.0.tgz", @@ -1216,114 +1264,45 @@ } }, "expect-ct": { - "version": "0.1.1", - "resolved": "https://verdaccio.lossless.one/expect-ct/-/expect-ct-0.1.1.tgz", - "integrity": "sha512-ngXzTfoRGG7fYens3/RMb6yYoVLvLMfmsSllP/mZPxNHgFq41TmPSLF/nLY7fwoclI2vElvAmILFWGUYqdjfCg==" + "version": "0.2.0", + "resolved": "https://verdaccio.lossless.one/expect-ct/-/expect-ct-0.2.0.tgz", + "integrity": "sha512-6SK3MG/Bbhm8MsgyJAylg+ucIOU71/FzyFalcfu5nY19dH8y/z0tBJU0wrNBXD4B27EoQtqPF/9wqH0iYAd04g==" }, "express": { - "version": "4.16.4", - "resolved": "https://verdaccio.lossless.one/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.17.1", + "resolved": "https://verdaccio.lossless.one/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { - "accepts": "~1.3.5", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "dependencies": { - "body-parser": { - "version": "1.18.3", - "resolved": "https://verdaccio.lossless.one/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://verdaccio.lossless.one/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://verdaccio.lossless.one/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://verdaccio.lossless.one/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://verdaccio.lossless.one/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://verdaccio.lossless.one/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://verdaccio.lossless.one/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://verdaccio.lossless.one/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } } }, "express-force-ssl": { @@ -1355,14 +1334,14 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "feature-policy": { - "version": "0.2.0", - "resolved": "https://verdaccio.lossless.one/feature-policy/-/feature-policy-0.2.0.tgz", - "integrity": "sha512-2hGrlv6efG4hscYVZeaYjpzpT6I2OZgYqE2yDUzeAcKj2D1SH0AsEzqJNXzdoglEddcIXQQYop3lD97XpG75Jw==" + "version": "0.3.0", + "resolved": "https://verdaccio.lossless.one/feature-policy/-/feature-policy-0.3.0.tgz", + "integrity": "sha512-ZtijOTFN7TzCujt1fnNhfWPFPSHeZkesff9AXZj+UEjYBynWNUIYpC87Ve4wHzyexQsImicLu7WsC2LHq7/xrQ==" }, "figures": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "version": "3.0.0", + "resolved": "https://verdaccio.lossless.one/figures/-/figures-3.0.0.tgz", + "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -1375,24 +1354,17 @@ "dev": true }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://verdaccio.lossless.one/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://verdaccio.lossless.one/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://verdaccio.lossless.one/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } } }, "find-up": { @@ -1433,9 +1405,9 @@ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, "frameguard": { - "version": "3.0.0", - "resolved": "https://verdaccio.lossless.one/frameguard/-/frameguard-3.0.0.tgz", - "integrity": "sha1-e8rUae57lukdEs6zlZx4I1qScuk=" + "version": "3.1.0", + "resolved": "https://verdaccio.lossless.one/frameguard/-/frameguard-3.1.0.tgz", + "integrity": "sha512-TxgSKM+7LTA6sidjOiSZK9wxY0ffMPY3Wta//MqwmX0nZuEHc8QrkV8Fh3ZhMJeiH+Uyh/tcaarImRy8u77O7g==" }, "fresh": { "version": "0.5.2", @@ -1545,24 +1517,24 @@ "dev": true }, "helmet": { - "version": "3.16.0", - "resolved": "https://verdaccio.lossless.one/helmet/-/helmet-3.16.0.tgz", - "integrity": "sha512-rsTKRogc5OYGlvSHuq5QsmOsOzF6uDoMqpfh+Np8r23+QxDq+SUx90Rf8HyIKQVl7H6NswZEwfcykinbAeZ6UQ==", + "version": "3.18.0", + "resolved": "https://verdaccio.lossless.one/helmet/-/helmet-3.18.0.tgz", + "integrity": "sha512-TsKlGE5UVkV0NiQ4PllV9EVfZklPjyzcMEMjWlyI/8S6epqgRT+4s4GHVgc25x0TixsKvp3L7c91HQQt5l0+QA==", "requires": { "depd": "2.0.0", "dns-prefetch-control": "0.1.0", "dont-sniff-mimetype": "1.0.0", - "expect-ct": "0.1.1", - "feature-policy": "0.2.0", - "frameguard": "3.0.0", + "expect-ct": "0.2.0", + "feature-policy": "0.3.0", + "frameguard": "3.1.0", "helmet-crossdomain": "0.3.0", "helmet-csp": "2.7.1", "hide-powered-by": "1.0.0", "hpkp": "2.0.0", "hsts": "2.2.0", "ienoopen": "1.1.0", - "nocache": "2.0.0", - "referrer-policy": "1.1.0", + "nocache": "2.1.0", + "referrer-policy": "1.2.0", "x-xss-protection": "1.1.0" }, "dependencies": { @@ -1894,6 +1866,15 @@ "resolved": "https://verdaccio.lossless.one/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://verdaccio.lossless.one/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, "luxon": { "version": "1.12.1", "resolved": "https://verdaccio.lossless.one/luxon/-/luxon-1.12.1.tgz", @@ -1941,9 +1922,9 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "mime": { - "version": "1.4.1", - "resolved": "https://verdaccio.lossless.one/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + "version": "1.6.0", + "resolved": "https://verdaccio.lossless.one/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { "version": "1.38.0", @@ -2025,9 +2006,9 @@ "integrity": "sha512-k1u2uemjIGsn25zmujKnotgniC/gxQ9sdegdezeDiKdkDW56THUMqlz3urndKCXJxA6yPzSZbXx/QCMe/pxqsA==" }, "negotiator": { - "version": "0.6.1", - "resolved": "https://verdaccio.lossless.one/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "version": "0.6.2", + "resolved": "https://verdaccio.lossless.one/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "nice-try": { "version": "1.0.5", @@ -2036,9 +2017,9 @@ "dev": true }, "nocache": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/nocache/-/nocache-2.0.0.tgz", - "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/nocache/-/nocache-2.1.0.tgz", + "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" }, "npm-run-path": { "version": "2.0.2", @@ -2086,6 +2067,54 @@ "wrappy": "1" } }, + "onetime": { + "version": "2.0.1", + "resolved": "https://verdaccio.lossless.one/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://verdaccio.lossless.one/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + } + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://verdaccio.lossless.one/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://verdaccio.lossless.one/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://verdaccio.lossless.one/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "os-locale": { "version": "3.1.0", "resolved": "https://verdaccio.lossless.one/os-locale/-/os-locale-3.1.0.tgz", @@ -2230,9 +2259,9 @@ } }, "psl": { - "version": "1.1.31", - "resolved": "https://verdaccio.lossless.one/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + "version": "1.1.32", + "resolved": "https://verdaccio.lossless.one/psl/-/psl-1.1.32.tgz", + "integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==" }, "pump": { "version": "3.0.0", @@ -2255,9 +2284,9 @@ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" }, "range-parser": { - "version": "1.2.0", - "resolved": "https://verdaccio.lossless.one/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "version": "1.2.1", + "resolved": "https://verdaccio.lossless.one/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { "version": "2.4.0", @@ -2285,9 +2314,9 @@ } }, "referrer-policy": { - "version": "1.1.0", - "resolved": "https://verdaccio.lossless.one/referrer-policy/-/referrer-policy-1.1.0.tgz", - "integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=" + "version": "1.2.0", + "resolved": "https://verdaccio.lossless.one/referrer-policy/-/referrer-policy-1.2.0.tgz", + "integrity": "sha512-LgQJIuS6nAy1Jd88DCQRemyE3mS+ispwlqMk3b0yjZ257fI1v9c+/p6SD5gP5FGyXUIgrNOAfmyioHwZtYv2VA==" }, "remove-trailing-separator": { "version": "1.1.0", @@ -2355,14 +2384,24 @@ "dev": true }, "resolve": { - "version": "1.10.0", - "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.11.1", + "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" } }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://verdaccio.lossless.one/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, "rxjs": { "version": "6.4.0", "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.4.0.tgz", @@ -2388,9 +2427,9 @@ "dev": true }, "send": { - "version": "0.16.2", - "resolved": "https://verdaccio.lossless.one/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://verdaccio.lossless.one/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -2399,46 +2438,30 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://verdaccio.lossless.one/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://verdaccio.lossless.one/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://verdaccio.lossless.one/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "ms": { + "version": "2.1.1", + "resolved": "https://verdaccio.lossless.one/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://verdaccio.lossless.one/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://verdaccio.lossless.one/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -2482,9 +2505,9 @@ "dev": true }, "sitemap": { - "version": "2.1.0", - "resolved": "https://verdaccio.lossless.one/sitemap/-/sitemap-2.1.0.tgz", - "integrity": "sha512-AkfA7RDVCITQo+j5CpXsMJlZ/8ENO2NtgMHYIh+YMvex2Hao/oe3MQgNa03p0aWY6srCfUA1Q02OgiWCAiuccA==", + "version": "2.2.0", + "resolved": "https://verdaccio.lossless.one/sitemap/-/sitemap-2.2.0.tgz", + "integrity": "sha512-9Zoi3UBhSIt5jWENDRUbzsqLMJ+Fha3P2aQ2PRghmh0FOivtHsC4FAJdkAEKHvATajd74BWp/57Yh7kz/UA53Q==", "requires": { "lodash": "^4.17.10", "url-join": "^4.0.0", @@ -2527,9 +2550,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://verdaccio.lossless.one/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.2", + "resolved": "https://verdaccio.lossless.one/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -2743,13 +2766,13 @@ } }, "ts-node": { - "version": "8.0.3", - "resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.0.3.tgz", - "integrity": "sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA==", + "version": "8.2.0", + "resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.2.0.tgz", + "integrity": "sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==", "dev": true, "requires": { "arg": "^4.1.0", - "diff": "^3.1.0", + "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.6", "yn": "^3.0.0" @@ -2761,9 +2784,9 @@ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.16.0.tgz", - "integrity": "sha512-UxG2yNxJ5pgGwmMzPMYh/CCnCnh0HfPgtlVRDs1ykZklufFBL1ZoTlWFRz2NQjcoEiDoRp+JyT0lhBbbH/obyA==", + "version": "5.17.0", + "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-5.17.0.tgz", + "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2772,13 +2795,21 @@ "commander": "^2.12.1", "diff": "^3.2.0", "glob": "^7.1.1", - "js-yaml": "^3.13.0", + "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", "tsutils": "^2.29.0" + }, + "dependencies": { + "diff": { + "version": "3.5.0", + "resolved": "https://verdaccio.lossless.one/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + } } }, "tslint-config-prettier": { @@ -2840,9 +2871,9 @@ } }, "typescript": { - "version": "3.4.3", - "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.4.3.tgz", - "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==", + "version": "3.5.1", + "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.5.1.tgz", + "integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==", "dev": true }, "universalify": { @@ -2923,6 +2954,15 @@ "vinyl": "^2.0.1" } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://verdaccio.lossless.one/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, "which": { "version": "1.3.1", "resolved": "https://verdaccio.lossless.one/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index 49f0174..81377de 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,11 @@ "format": "(gitzone format)" }, "devDependencies": { - "@gitzone/tsbuild": "^2.1.8", - "@gitzone/tstest": "^1.0.20", + "@gitzone/tsbuild": "^2.1.11", + "@gitzone/tstest": "^1.0.24", "@pushrocks/tapbundle": "^3.0.9", - "@types/node": "^11.13.7", - "tslint": "^5.16.0", + "@types/node": "^12.0.6", + "tslint": "^5.17.0", "tslint-config-prettier": "^1.18.0" }, "peerDependencies": { @@ -27,14 +27,24 @@ "dependencies": { "@pushrocks/lik": "^3.0.5", "@pushrocks/smartdelay": "^2.0.3", - "@pushrocks/smartexpress": "^3.0.19", + "@pushrocks/smartexpress": "^3.0.21", "@pushrocks/smartfile": "^7.0.2", "@pushrocks/smarthash": "^2.0.4", "@pushrocks/smartpromise": "^3.0.2", "@pushrocks/smartrequest": "^1.1.15", "@pushrocks/smartrx": "^2.0.3", - "@pushrocks/smartsocket": "^1.1.35", + "@pushrocks/smartsocket": "^1.1.37", "@pushrocks/smarttime": "^3.0.7", "@pushrocks/smartunique": "^3.0.1" - } + }, + "files": [ + "ts/*", + "ts_web/*", + "dist/*", + "dist_web/*", + "assets/*", + "cli.js", + "npmextra.json", + "readme.md" + ] } diff --git a/ts/smartuniverse.classes.clientuniverse.ts b/ts/smartuniverse.classes.clientuniverse.ts index cc4f8de..442dc4e 100644 --- a/ts/smartuniverse.classes.clientuniverse.ts +++ b/ts/smartuniverse.classes.clientuniverse.ts @@ -8,9 +8,7 @@ import * as url from 'url'; import * as interfaces from './interfaces'; import { ClientUniverseChannel, UniverseMessage } from './'; -import { - ClientUniverseCache -} from './smartuniverse.classes.clientuniversecache'; +import { ClientUniverseCache } from './smartuniverse.classes.clientuniversecache'; export interface IClientOptions { serverAddress: string; @@ -70,10 +68,9 @@ export class ClientUniverse { }); } - /** * sends a message towards the server - * @param messageArg + * @param messageArg */ public async sendMessage(messageArg: interfaces.IMessageCreator) { await this.checkConnection(); @@ -116,19 +113,13 @@ export class ClientUniverse { const unsubscribe = new plugins.smartsocket.SocketFunction({ funcName: 'unsubscribe', allowedRoles: [], - funcDef: async (data: interfaces.IServerUnsubscribeActionPayload) => { - - }, + funcDef: async (data: interfaces.IServerUnsubscribeActionPayload) => {} }); /** * should handle a message reception */ - const receiveMessage = async () => { - - }; - - + const receiveMessage = async () => {}; await this.smartsocketClient.connect(); } diff --git a/ts/smartuniverse.classes.clientuniversecache.ts b/ts/smartuniverse.classes.clientuniversecache.ts index c5e4cd0..7028034 100644 --- a/ts/smartuniverse.classes.clientuniversecache.ts +++ b/ts/smartuniverse.classes.clientuniversecache.ts @@ -5,6 +5,4 @@ import * as plugins from './smartuniverse.plugins'; * keeps track of which messages have already been received * good for deduplication in mesh environments */ -export class ClientUniverseCache { - -} \ No newline at end of file +export class ClientUniverseCache {} diff --git a/ts/smartuniverse.classes.clientuniversemessage.ts b/ts/smartuniverse.classes.clientuniversemessage.ts index f8916f6..49772d8 100644 --- a/ts/smartuniverse.classes.clientuniversemessage.ts +++ b/ts/smartuniverse.classes.clientuniversemessage.ts @@ -30,5 +30,5 @@ export class ClientUniverseMessage implements interfaces.IUniverseMessage { } } - getAsJsonForPayload() {}; + getAsJsonForPayload() {} } diff --git a/ts/smartuniverse.classes.universe.ts b/ts/smartuniverse.classes.universe.ts index 5e15be7..318c251 100644 --- a/ts/smartuniverse.classes.universe.ts +++ b/ts/smartuniverse.classes.universe.ts @@ -93,11 +93,15 @@ export class Universe { this.smartsocket.addSocketRoles([ClientRole]); const SubscriptionSocketFunction = new plugins.smartsocket.SocketFunction({ - allowedRoles: [ClientRole], + allowedRoles: [ClientRole], // there is only one client role, Authentication happens on another level funcName: 'channelSubscription', - funcDef: (data) => { + funcDef: async (dataArg, socketConnectionArg) => { + // run in "this context" of this class (() => { - // TODO: + // TODO: properly add the connection + const universeConnection = new UniverseConnection({ + + }) this.universeConnectionManager.addConnection(); })(); } @@ -109,7 +113,6 @@ export class Universe { await this.smartexpressServer.start(); await this.smartsocket.start(); console.log('started universe'); - } /** diff --git a/ts/smartuniverse.classes.universecache.ts b/ts/smartuniverse.classes.universecache.ts index a56a8f6..f8a0053 100644 --- a/ts/smartuniverse.classes.universecache.ts +++ b/ts/smartuniverse.classes.universecache.ts @@ -52,7 +52,10 @@ export class UniverseCache { /** * Read a message from the UniverseCache */ - public readMessagesYoungerThan(unixTimeArg?: number, channelName?: string): Observable { + public readMessagesYoungerThan( + unixTimeArg?: number, + channelName?: string + ): Observable { const messageObservable = from(this.messageMap.getArray()).pipe( filter(messageArg => { return messageArg.smartTimestamp.isYoungerThanMilliSeconds(this.destructionTime); diff --git a/ts/smartuniverse.classes.universechannel.ts b/ts/smartuniverse.classes.universechannel.ts index 4ae179b..0f9e87f 100644 --- a/ts/smartuniverse.classes.universechannel.ts +++ b/ts/smartuniverse.classes.universechannel.ts @@ -88,7 +88,5 @@ export class UniverseChannel { ); } - public pushToClients(messageArg: UniverseMessage) { - - } + public pushToClients(messageArg: UniverseMessage) {} } diff --git a/ts/smartuniverse.classes.universeconnection.ts b/ts/smartuniverse.classes.universeconnection.ts index 49ec3e7..3ba82a8 100644 --- a/ts/smartuniverse.classes.universeconnection.ts +++ b/ts/smartuniverse.classes.universeconnection.ts @@ -1,8 +1,6 @@ import * as plugins from './smartuniverse.plugins'; import { UniverseChannel } from './smartuniverse.classes.universechannel'; - - /** * represents a connection to the universe */ @@ -10,11 +8,19 @@ export class UniverseConnection { /** * the socketClient to ping */ - socketclient: plugins.smartsocket.SmartsocketClient; - subscribedChannels: UniverseChannel[] = []; - authenticatedChannels: UniverseChannel[] = []; - - constructor() { + public socketConnection: plugins.smartsocket.SocketConnection; + public authenticationRequests = [] + public subscribedChannels: UniverseChannel[] = []; + public authenticatedChannels: UniverseChannel[] = []; + public failedToJoinChannels: UniverseChannel[] = []; + public terminateConnection () { + this.socketConnection } -} \ No newline at end of file + + constructor(optionsArg: { + socketConnection: plugins.smartsocket.SocketConnection; + }) { + this.socketConnection, + } +} diff --git a/ts/smartuniverse.classes.universeconnectionmanager.ts b/ts/smartuniverse.classes.universeconnectionmanager.ts index d70f8a9..a6a8712 100644 --- a/ts/smartuniverse.classes.universeconnectionmanager.ts +++ b/ts/smartuniverse.classes.universeconnectionmanager.ts @@ -8,4 +8,4 @@ export class UniverseConnectionManager { public connectionMap = new plugins.lik.Objectmap(); public addConnection() {} -} \ No newline at end of file +}