From beb66808561885882b7d4d0b41fd7a802928221f Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Fri, 6 Sep 2019 18:26:32 +0200 Subject: [PATCH] fix(core): update --- .gitignore | 19 +- .gitlab-ci.yml | 54 +- package-lock.json | 717 +++++++++++++----------- package.json | 23 +- readme.md | 18 +- test/test.ts | 11 +- ts/smartnetwork.classes.smartnetwork.ts | 38 +- ts/smartnetwork.plugins.ts | 5 +- 8 files changed, 509 insertions(+), 376 deletions(-) diff --git a/.gitignore b/.gitignore index 67b291e..91c0db0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,22 @@ .nogit/ -node_modules/ + +# 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..1e3250b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ -# gitzone standard -image: hosttoday/ht-docker-node:npmci +# gitzone ci_default +image: registry.gitlab.com/hosttoday/ht-docker-node:npmci cache: paths: @@ -38,19 +38,7 @@ snyk: # test stage # ==================== -testLTS: - stage: test - script: - - npmci npm prepare - - npmci node install lts - - npmci npm install - - npmci npm test - coverage: /\d+.?\d+?\%\s*coverage/ - tags: - - docker - - notpriv - -testSTABLE: +testStable: stage: test script: - npmci npm prepare @@ -60,12 +48,24 @@ testSTABLE: coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker + - priv + +testBuild: + stage: test + script: + - npmci npm prepare + - npmci node install lts + - npmci npm install + - npmci command npm run build + coverage: /\d+.?\d+?\%\s*coverage/ + tags: + - docker - notpriv release: stage: release script: - - npmci node install stable + - npmci node install lts - npmci npm publish only: - tags @@ -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 @@ -106,13 +98,15 @@ trigger: - notpriv pages: - image: hosttoday/ht-docker-node:npmci + image: hosttoday/ht-docker-dbase:npmci + services: + - docker:stable-dind 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 4b95b3d..63764db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,29 +4,19 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@airbnb/node-memwatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@airbnb/node-memwatch/-/node-memwatch-1.0.2.tgz", - "integrity": "sha512-2R+MEEMSTUdKwQ6NFWkyA/UNoSjL1tMldZqJbZpgXSwNMBzlNlkUWEXKu9RqTTMkDqJRfGJ2VDs8gPlPK2APDQ==", - "dev": true, - "requires": { - "bindings": "^1.3.0", - "nan": "^2.9.2" - } - }, "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.5.5", + "resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, "requires": { "@babel/highlight": "^7.0.0" } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -35,70 +25,44 @@ } }, "@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.17", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.17.tgz", + "integrity": "sha512-Mg2cu7cW3cC6L2tzatB8t6OMVgTGatobb8UkN+y3n7KAWRld4gXcVWmaehch/wSFrbmk6Oe8rPjdWPjhTSIF1Q==", "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.5.2" } }, "@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.8", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.8.tgz", + "integrity": "sha512-G65DNcjegxF6w/O9MYD2mlHh+QVUiLuZvgLD5eamOOuWLhzuiE1tDzv5praJ/woJQzzZinDs+IyRyZ5rWKp/fQ==", "dev": true, "requires": { - "@gitzone/tsbuild": "^2.1.8", - "@pushrocks/smartfile": "^7.0.2", - "ts-node": "^8.0.3", - "typescript": "^3.4.2" + "@pushrocks/smartfile": "^7.0.4", + "ts-node": "^8.3.0", + "typescript": "^3.5.3" } }, "@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": { @@ -129,26 +93,18 @@ } }, "@pushrocks/lik": { - "version": "3.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-3.0.5.tgz", - "integrity": "sha512-pc5Nq0WUysS34qPpyiZXiX254kL3vyRVbt3D36Q5QU+eHhxAThHofSzgOdyVHUZU2WFoaMlKowIVsyUFzIkfdw==", + "version": "3.0.11", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-3.0.11.tgz", + "integrity": "sha512-SDKRPj9+xBTqozlDPcA7O6BcccM1Tw/sXPVP+OnhNxCubDZ/L2kGNpPpqm43NJUoNxSSo5wdBw4N7MAFYCGdVg==", "dev": true, "requires": { - "@pushrocks/smartdelay": "^2.0.2", - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartpromise": "^3.0.2", "@pushrocks/smartrx": "^2.0.3", - "@pushrocks/smarttime": "^3.0.5", + "@pushrocks/smarttime": "^3.0.12", "@types/minimatch": "^3.0.3", "minimatch": "^3.0.4", - "symbol-tree": "^3.2.2" - }, - "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 - } + "symbol-tree": "^3.2.4" } }, "@pushrocks/smartcli": { @@ -200,10 +156,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/smartfile": { - "version": "7.0.2", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.2.tgz", - "integrity": "sha512-38l9DRalp1McEBFG+qKzBqefVQZZLPNk+uo7Ff1guy8BDxA+tATlZ6O6FuXW7M3wjFDBi245VJs+KWVKcCxBRA==", + "version": "7.0.4", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.4.tgz", + "integrity": "sha512-ym8eigWJAQhwgmuVLew3GLrk4WhV03ajapwuMWytxKSzfIW9ZqceJBX2QzOkmhFGA2bp+gc4Q2wOBy3Ffnlj+A==", "dev": true, "requires": { "@pushrocks/smartpath": "^4.0.1", @@ -232,6 +199,16 @@ "integrity": "sha512-eLNlRpDwy3E+6v/B6fo/NiAo+UxBO3SxKgIIsgUGbWfVpsyUi0PG2xfVCdhJlhL1AsRRvKglfHSOB8qKE+XCLw==", "dev": true }, + "@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", @@ -263,22 +240,14 @@ "integrity": "sha512-jmrJMUEmBCWChWK8CIcx4Vw3wv/8OgVNmkaxJrbs+WMaoRUfJtpWWJfrAwwHWt9ZXJbarJ+CwfwfYiiZXymndQ==" }, "@pushrocks/smartrequest": { - "version": "1.1.14", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrequest/-/smartrequest-1.1.14.tgz", - "integrity": "sha512-+sDQB4Mxvpn8BIMPUQ7TPSCKUVMln3tHC4rp4pmfEHmBQK+g1XwtNr59aMA9kEoBDMt7li1hu+1cs+SNsWt6Gw==", + "version": "1.1.23", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrequest/-/smartrequest-1.1.23.tgz", + "integrity": "sha512-Hws3YfzIE0b/E3aTkSugLskKWBq7e8HDXEN+RlRyTFONxW/XONKJFTw4mp3jk+puWpYGDoOTcP+Ua4jd19z9pA==", "dev": true, "requires": { - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartpromise": "^3.0.2", "@types/form-data": "^2.2.1", - "form-data": "^2.3.2" - }, - "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 - } + "form-data": "^2.3.3" } }, "@pushrocks/smartrx": { @@ -302,22 +271,16 @@ } }, "@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.25", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.25.tgz", + "integrity": "sha512-sYVHOhBRdr+CkjS+o1SDtB5058ZYxTPAYuexx2ydl2g+57KNdEcSRWN/2mOv5+NFH+tvvgtnUjC3AclC9CwJ4A==", "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/smartstring": { @@ -333,93 +296,100 @@ } }, "@pushrocks/smarttime": { - "version": "3.0.7", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.7.tgz", - "integrity": "sha512-IL/+lgVQLvZvoMSbOpT3JSGjogGzpNbWdzfFZAjjxrTtwxAN1FNWGcCESCvq1BPlUGECPTBeyyaURXhhhLfihA==", + "version": "3.0.12", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.12.tgz", + "integrity": "sha512-NoMt1NUhNqcF5y7fCTHoC3d/+MobzgNUg6yHbSGxFRaentQzCrMPNahQIVLbrAStf03LUUBePUjSRdPYucP1gw==", "dev": true, "requires": { "@pushrocks/smartpromise": "^3.0.2", - "@types/cron": "^1.7.0", - "@types/luxon": "^1.12.0", - "cron": "^1.7.0", - "luxon": "^1.12.1" + "@types/cron": "^1.7.1", + "@types/luxon": "^1.15.1", + "cron": "^1.7.1", + "luxon": "^1.16.0" } }, "@pushrocks/tapbundle": { - "version": "3.0.9", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.0.9.tgz", - "integrity": "sha512-+EMdP3iykAtx192sebHBAWCE+2RGUU7q9kp8iHe62H16WSbDDaDpnRNd6VHv389qTaZlubQb0d/FR+uQJUVUDQ==", + "version": "3.0.13", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.0.13.tgz", + "integrity": "sha512-23O4UMBafCuD+RnUlXNvtT9DGbL1HMD+xZE1Zcr7Ll7WvgxUgRQQfk9kq6qbLLbjaRe1J2Ijsgh1HuZbBaucLQ==", "dev": true, "requires": { "@pushrocks/early": "^3.0.3", "@pushrocks/smartdelay": "^2.0.3", "@pushrocks/smartpromise": "^3.0.2", - "leakage": "^0.4.0", "smartchai": "^2.0.1" } }, "@types/chai": { - "version": "4.1.7", - "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.1.7.tgz", - "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "version": "4.2.1", + "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.2.1.tgz", + "integrity": "sha512-LDKlQW/V8bQr5p9aoHye9p7x9faxq0GVeWAkn/Zgyyn848LIAzuR1sHQjGmUBFUpINuGWDG2NTM/ofA2aLMIew==", "dev": true }, "@types/chai-as-promised": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz", - "integrity": "sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ==", + "version": "7.1.2", + "resolved": "https://verdaccio.lossless.one/@types%2fchai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q==", "dev": true, "requires": { "@types/chai": "*" } }, "@types/chai-string": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/chai-string/-/chai-string-1.4.1.tgz", - "integrity": "sha512-aRNMs6TKgjgPlCHwDfq/YNy5VtRR2hJ4AUWByddrT0TRVVD8eX4MiHW6/iHvmQHRlVuuPZcwnTUE7b4yFt7bEA==", + "version": "1.4.2", + "resolved": "https://verdaccio.lossless.one/@types%2fchai-string/-/chai-string-1.4.2.tgz", + "integrity": "sha512-ld/1hV5qcPRGuwlPdvRfvM3Ka/iofOk2pH4VkasK4b1JJP1LjNmWWn0LsISf6RRzyhVOvs93rb9tM09e+UuF8Q==", "dev": true, "requires": { "@types/chai": "*" } }, "@types/cron": { - "version": "1.7.0", - "resolved": "https://verdaccio.lossless.one/@types%2fcron/-/cron-1.7.0.tgz", - "integrity": "sha512-LRu/XiiOExELholyEwEuSTPAEiO+sVR1nXmWEjezneGgYpDyMNVIsjiaHYBoCEUJo4F1hCOlAzQAh80iEUVbKw==", + "version": "1.7.1", + "resolved": "https://verdaccio.lossless.one/@types%2fcron/-/cron-1.7.1.tgz", + "integrity": "sha512-48brwgU18DqA0mQX1As5OcJEo1yNjaXMM6Mk4r8K1dOzLJRQ37FE/kCivKx7ClKEHfhX2FdcxKzJ1B744a+V3A==", "dev": true, "requires": { "@types/node": "*", "moment": ">=2.14.0" } }, - "@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 + "@types/default-gateway": { + "version": "3.0.0", + "resolved": "https://verdaccio.lossless.one/@types%2fdefault-gateway/-/default-gateway-3.0.0.tgz", + "integrity": "sha512-Pg0Vygi/mDsW+jAlknUf9ECJAcF6GyluMzXofb7hs4iLlichbdQLveweUN0SLb4TI6drRvaMoINcMzPQb0XB+w==" }, - "@types/form-data": { - "version": "2.2.1", - "resolved": "https://verdaccio.lossless.one/@types%2fform-data/-/form-data-2.2.1.tgz", - "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "@types/figures": { + "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": { - "@types/node": "*" + "figures": "*" + } + }, + "@types/form-data": { + "version": "2.5.0", + "resolved": "https://verdaccio.lossless.one/@types%2fform-data/-/form-data-2.5.0.tgz", + "integrity": "sha512-23/wYiuckYYtFpL+4RPWiWmRQH2BjFuqCUi2+N3amB1a1Drv+i/byTrGvlLwRVLFNAZbwpbQ7JvTK+VCAPMbcg==", + "dev": true, + "requires": { + "form-data": "*" } }, "@types/fs-extra": { - "version": "5.0.5", - "resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-5.0.5.tgz", - "integrity": "sha512-w7iqhDH9mN8eLClQOYTkhdYUOSpp25eXxfc6VbFOGtzxW34JcvctH2bKjj4jD4++z4R5iO5D+pg48W2e03I65A==", + "version": "5.1.0", + "resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-5.1.0.tgz", + "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/luxon": { - "version": "1.12.0", - "resolved": "https://verdaccio.lossless.one/@types%2fluxon/-/luxon-1.12.0.tgz", - "integrity": "sha512-+UzPmwHSEEyv7aGlNkVpuFxp/BirXgl8NnPGCtmyx2KXIzAapoW3IqSVk87/Z3PUk8vEL8Pe1HXEMJbNBOQgtg==", + "version": "1.15.2", + "resolved": "https://verdaccio.lossless.one/@types%2fluxon/-/luxon-1.15.2.tgz", + "integrity": "sha512-zHPoyVrLvNaiMRYdhmh88Rn489ZgAgbc6iLxR5Yi0VCNfeNYHcszbhJV2vDHLNrVGy35BPtWBRn4OP2F9BBvFw==", "dev": true }, "@types/minimatch": { @@ -429,9 +399,9 @@ "dev": true }, "@types/node": { - "version": "11.13.4", - "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-11.13.4.tgz", - "integrity": "sha512-+rabAZZ3Yn7tF/XPGHupKIL5EcAbrLxnTr/hgQICxbeuAfWtT0UZSfULE+ndusckBItcv4o6ZeOJplQikVcLvQ==", + "version": "12.7.4", + "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.7.4.tgz", + "integrity": "sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ==", "dev": true }, "@types/portscanner": { @@ -489,9 +459,9 @@ } }, "arg": { - "version": "4.1.0", - "resolved": "https://verdaccio.lossless.one/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "version": "4.1.1", + "resolved": "https://verdaccio.lossless.one/arg/-/arg-4.1.1.tgz", + "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==", "dev": true }, "argparse": { @@ -529,15 +499,6 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://verdaccio.lossless.one/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -611,6 +572,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.2.0", + "resolved": "https://verdaccio.lossless.one/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true + }, "cliui": { "version": "4.1.0", "resolved": "https://verdaccio.lossless.one/cliui/-/cliui-4.1.0.tgz", @@ -641,9 +617,9 @@ "dev": true }, "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "version": "1.1.3", + "resolved": "https://verdaccio.lossless.one/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -671,9 +647,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://verdaccio.lossless.one/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://verdaccio.lossless.one/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -698,9 +674,9 @@ "dev": true }, "cron": { - "version": "1.7.0", - "resolved": "https://verdaccio.lossless.one/cron/-/cron-1.7.0.tgz", - "integrity": "sha512-I7S7ES2KZtKPfBTGJ5Brc6X23apE71fgYU/PC5ayh8R6VhECpqvTLe/LTkwAEN3ERFzNKXlWzh/PkwsGg3vkDQ==", + "version": "1.7.1", + "resolved": "https://verdaccio.lossless.one/cron/-/cron-1.7.1.tgz", + "integrity": "sha512-gmMB/pJcqUVs/NklR1sCGlNYM7TizEw+1gebz20BMc/8bTm/r7QUp3ZPSPlG8Z5XRlvb7qhjEjq/+bdIfUCL2A==", "dev": true, "requires": { "moment-timezone": "^0.5.x" @@ -710,7 +686,6 @@ "version": "6.0.5", "resolved": "https://verdaccio.lossless.one/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -747,6 +722,88 @@ "type-detect": "^4.0.0" } }, + "default-gateway": { + "version": "5.0.3", + "resolved": "https://verdaccio.lossless.one/default-gateway/-/default-gateway-5.0.3.tgz", + "integrity": "sha512-zW+ld9xtN0+q48wIwhitUzhfERJN7BPgvijPhuCKG6bfWqnoqtSNSnrXfvAME2ZJLpgYpz6UorpBddGfLzrJBw==", + "requires": { + "execa": "^2.0.3" + }, + "dependencies": { + "execa": { + "version": "2.0.4", + "resolved": "https://verdaccio.lossless.one/execa/-/execa-2.0.4.tgz", + "integrity": "sha512-VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==", + "requires": { + "cross-spawn": "^6.0.5", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://verdaccio.lossless.one/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://verdaccio.lossless.one/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://verdaccio.lossless.one/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://verdaccio.lossless.one/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://verdaccio.lossless.one/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "path-key": { + "version": "3.1.0", + "resolved": "https://verdaccio.lossless.one/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==" + } + } + }, + "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", @@ -754,9 +811,9 @@ "dev": true }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/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 }, "draftlog": { @@ -768,17 +825,10 @@ "version": "1.4.1", "resolved": "https://verdaccio.lossless.one/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, "requires": { "once": "^1.4.0" } }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, "es6-promise": { "version": "4.2.6", "resolved": "https://verdaccio.lossless.one/es6-promise/-/es6-promise-4.2.6.tgz", @@ -804,9 +854,9 @@ "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://verdaccio.lossless.one/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://verdaccio.lossless.one/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "execa": { @@ -825,20 +875,14 @@ } }, "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" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://verdaccio.lossless.one/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true - }, "find-up": { "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/find-up/-/find-up-3.0.0.tgz", @@ -858,9 +902,9 @@ } }, "form-data": { - "version": "2.3.3", - "resolved": "https://verdaccio.lossless.one/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "2.5.1", + "resolved": "https://verdaccio.lossless.one/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -907,9 +951,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -921,9 +965,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://verdaccio.lossless.one/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.2", + "resolved": "https://verdaccio.lossless.one/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", "dev": true }, "has-flag": { @@ -960,9 +1004,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://verdaccio.lossless.one/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "invert-kv": { @@ -1017,8 +1061,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=" }, "js-base64": { "version": "2.5.1", @@ -1064,25 +1107,6 @@ "invert-kv": "^2.0.0" } }, - "leakage": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/leakage/-/leakage-0.4.0.tgz", - "integrity": "sha512-x7gYK5n5dPkHDZWJ2Kh8Ag1hZNzUh+HtXn8Bv1aDdN6o6ONPCJ8sOfFq+kxcULJFp3lXaCjXb3iXOLmQRbBLwA==", - "dev": true, - "requires": { - "@airbnb/node-memwatch": "^1.0.2", - "es6-error": "^4.0.2", - "left-pad": "^1.1.3", - "minimist": "^1.2.0", - "pretty-bytes": "^4.0.2" - } - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, "locate-path": { "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/locate-path/-/locate-path-3.0.0.tgz", @@ -1103,10 +1127,19 @@ "resolved": "https://verdaccio.lossless.one/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=" }, + "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", - "integrity": "sha512-Zv/qJb2X1ESTrlniAViWx2aqGwi2cVpeoZFTbPdPiCu4EsadKsmb/QCH8HQjMUpDZKKJIHKHsJxV5Rwpq47HKQ==", + "version": "1.17.2", + "resolved": "https://verdaccio.lossless.one/luxon/-/luxon-1.17.2.tgz", + "integrity": "sha512-qELKtIj3HD41N+MvgoxArk8DZGUb4Gpiijs91oi+ZmKJzRlxY6CoyTwNoUwnogCVs4p8HuxVJDik9JbnYgrCng==", "dev": true }, "make-error": { @@ -1140,26 +1173,30 @@ "p-is-promise": "^2.0.0" } }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://verdaccio.lossless.one/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, "mime-db": { - "version": "1.38.0", - "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", + "version": "1.40.0", + "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", "dev": true }, "mime-types": { - "version": "2.1.22", - "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "version": "2.1.24", + "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "dev": true, "requires": { - "mime-db": "~1.38.0" + "mime-db": "1.40.0" } }, "mimic-fn": { "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "minimatch": { "version": "3.0.4", @@ -1171,9 +1208,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "0.0.8", + "resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { @@ -1183,14 +1220,6 @@ "dev": true, "requires": { "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } } }, "moment": { @@ -1200,9 +1229,9 @@ "dev": true }, "moment-timezone": { - "version": "0.5.23", - "resolved": "https://verdaccio.lossless.one/moment-timezone/-/moment-timezone-0.5.23.tgz", - "integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==", + "version": "0.5.26", + "resolved": "https://verdaccio.lossless.one/moment-timezone/-/moment-timezone-0.5.26.tgz", + "integrity": "sha512-sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==", "dev": true, "requires": { "moment": ">= 2.9.0" @@ -1213,17 +1242,10 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "nan": { - "version": "2.13.2", - "resolved": "https://verdaccio.lossless.one/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "dev": true - }, "nice-try": { "version": "1.0.5", "resolved": "https://verdaccio.lossless.one/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "normalize-newline": { "version": "3.0.0", @@ -1249,11 +1271,58 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "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", @@ -1284,9 +1353,9 @@ "dev": true }, "p-limit": { - "version": "2.2.0", - "resolved": "https://verdaccio.lossless.one/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.2.1", + "resolved": "https://verdaccio.lossless.one/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -1322,8 +1391,7 @@ "path-key": { "version": "2.0.1", "resolved": "https://verdaccio.lossless.one/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.6", @@ -1352,23 +1420,16 @@ "is-number-like": "^1.0.3" } }, - "pretty-bytes": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", - "dev": true - }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://verdaccio.lossless.one/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -1424,18 +1485,28 @@ "dev": true }, "resolve": { - "version": "1.10.0", - "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.12.0", + "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "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", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "version": "6.5.3", + "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -1453,10 +1524,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { - "version": "5.7.0", - "resolved": "https://verdaccio.lossless.one/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true + "version": "5.7.1", + "resolved": "https://verdaccio.lossless.one/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "set-blocking": { "version": "2.0.0", @@ -1468,7 +1538,6 @@ "version": "1.2.0", "resolved": "https://verdaccio.lossless.one/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -1476,14 +1545,12 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "signal-exit": { "version": "3.0.2", "resolved": "https://verdaccio.lossless.one/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "smartchai": { "version": "2.0.1", @@ -1506,9 +1573,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.12", - "resolved": "https://verdaccio.lossless.one/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "version": "0.5.13", + "resolved": "https://verdaccio.lossless.one/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -1595,6 +1662,11 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://verdaccio.lossless.one/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, "strip-indent": { "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/strip-indent/-/strip-indent-2.0.0.tgz", @@ -1609,34 +1681,34 @@ } }, "symbol-tree": { - "version": "3.2.2", - "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "version": "3.2.4", + "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "ts-node": { - "version": "8.1.0", - "resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.1.0.tgz", - "integrity": "sha512-34jpuOrxDuf+O6iW1JpgTRDFynUZ1iEqtYruBqh35gICNjN8x+LpVcPAcwzLPi9VU6mdA3ym+x233nZmZp445A==", + "version": "8.3.0", + "resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.3.0.tgz", + "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", "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" } }, "tslib": { - "version": "1.9.3", - "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tslint": { - "version": "5.16.0", - "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-5.16.0.tgz", - "integrity": "sha512-UxG2yNxJ5pgGwmMzPMYh/CCnCnh0HfPgtlVRDs1ykZklufFBL1ZoTlWFRz2NQjcoEiDoRp+JyT0lhBbbH/obyA==", + "version": "5.19.0", + "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-5.19.0.tgz", + "integrity": "sha512-1LwwtBxfRJZnUvoS9c0uj8XQtAnyhWr9KlNvDIdB+oXyT+VpsOAaEhEgKi1HrZ8rq0ki/AAnbGSv4KM6/AfVZw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -1645,13 +1717,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": { @@ -1676,9 +1756,9 @@ "dev": true }, "typescript": { - "version": "3.4.3", - "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.4.3.tgz", - "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==", + "version": "3.6.2", + "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.6.2.tgz", + "integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==", "dev": true }, "universalify": { @@ -1720,11 +1800,19 @@ "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", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -1785,8 +1873,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xml2js": { "version": "0.4.19", @@ -1839,9 +1926,9 @@ } }, "yn": { - "version": "3.1.0", - "resolved": "https://verdaccio.lossless.one/yn/-/yn-3.1.0.tgz", - "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", + "version": "3.1.1", + "resolved": "https://verdaccio.lossless.one/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true } } diff --git a/package.json b/package.json index 9b04a5c..cc7efb6 100644 --- a/package.json +++ b/package.json @@ -12,17 +12,30 @@ "build": "(tsbuild)" }, "devDependencies": { - "@gitzone/tsbuild": "^2.1.8", - "@gitzone/tstest": "^1.0.20", - "@pushrocks/tapbundle": "^3.0.9", - "tslint": "^5.16.0", + "@gitzone/tsbuild": "^2.1.17", + "@gitzone/tstest": "^1.0.24", + "@pushrocks/tapbundle": "^3.0.13", + "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0" }, "dependencies": { "@pushrocks/smartpromise": "^3.0.2", "@pushrocks/smartstring": "^3.0.10", + "@types/default-gateway": "^3.0.0", "@types/portscanner": "^2.1.0", + "default-gateway": "^5.0.3", "portscanner": "^2.2.0", "speedtest-net": "^1.5.1" - } + }, + "files": [ + "ts/*", + "ts_web/*", + "dist/*", + "dist_web/*", + "dist_ts_web/*", + "assets/*", + "cli.js", + "npmextra.json", + "readme.md" + ] } diff --git a/readme.md b/readme.md index 0f788d8..e33f774 100644 --- a/readme.md +++ b/readme.md @@ -22,21 +22,25 @@ network diagnostics import * as smartnetwork from 'smartnetwork'; const testSmartNetwork = new smartnetwork.SmartNetwork(); const run = async () => { - // measure average speed over a period of 5 seconds // the structure of speedResult is self explanatory using TypeScript (or the linked TypeDoc above) - const speedResult = testSmartNetwork.getSpeed(5000) + const speedResult = testSmartNetwork.getSpeed(5000); // const isLocalPortAvailable: boolean = await testSmartNetwork.isLocalPortAvailable(1234); - const isRemotePortAvailable: boolean = await testSmartNetwork.isRemotePortAvailable('google.com:80'); - const isRemotePortAvailable: boolean = await testSmartNetwork.isRemotePortAvailable('google.com', 80); -} + const isRemotePortAvailable: boolean = await testSmartNetwork.isRemotePortAvailable( + 'google.com:80' + ); + const isRemotePortAvailable: boolean = await testSmartNetwork.isRemotePortAvailable( + 'google.com', + 80 + ); +}; ``` For further information read the linked docs at the top of this readme. > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) -| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) +| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy) -[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com) +[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com) diff --git a/test/test.ts b/test/test.ts index 191dc57..1a8dc6e 100644 --- a/test/test.ts +++ b/test/test.ts @@ -19,9 +19,14 @@ tap.test('should determine wether a port is free', async () => { }); tap.test('should scan a port', async () => { - await expect(testSmartNetwork.isRemotePortAvailable('google.com:80')).to.eventually.be.true; - await expect(testSmartNetwork.isRemotePortAvailable('google.com', 80)).to.be.eventually.true; - await expect(testSmartNetwork.isRemotePortAvailable('67.207.79.63:12346')).to.eventually.be.false; + await expect(testSmartNetwork.isRemotePortAvailable('lossless.com:443')).to.eventually.be.true; + await expect(testSmartNetwork.isRemotePortAvailable('lossless.com', 443)).to.be.eventually.true; + // await expect(testSmartNetwork.isRemotePortAvailable('lossless.com:444')).to.eventually.be.false; }); +tap.test('should get the default gateways', async () => { + const gatewayResult = await testSmartNetwork.getDefaultGateway(); + console.log(gatewayResult); +}) + tap.start(); diff --git a/ts/smartnetwork.classes.smartnetwork.ts b/ts/smartnetwork.classes.smartnetwork.ts index 9e4b959..46d9b49 100644 --- a/ts/smartnetwork.classes.smartnetwork.ts +++ b/ts/smartnetwork.classes.smartnetwork.ts @@ -36,8 +36,12 @@ export interface ISpeedtestData { * SmartNetwork simplifies actions within the network */ export class SmartNetwork { - async getSpeed(measurementTime = 5000): Promise { - let done = plugins.smartpromise.defer(); + /** + * get network speed + * @param measurementTime + */ + public async getSpeed(measurementTime = 5000): Promise { + const done = plugins.smartpromise.defer(); const test = plugins.speedtestNet({ maxTime: measurementTime }); test.on('data', data => { done.resolve(data); @@ -53,21 +57,21 @@ export class SmartNetwork { * note: false also resolves with false as argument * @param port */ - async isLocalPortAvailable(port: number): Promise { + public async isLocalPortAvailable(port: number): Promise { const doneIpV4 = plugins.smartpromise.defer(); const doneIpV6 = plugins.smartpromise.defer(); const net = await import('net'); // creates only one instance of net ;) even on multiple calls // test IPv4 space const ipv4Test = net.createServer(); - ipv4Test.once('error', function(err: any) { + ipv4Test.once('error', (err: any) => { if (err.code !== 'EADDRINUSE') { doneIpV4.resolve(false); return; } doneIpV4.resolve(false); }); - ipv4Test.once('listening', function() { + ipv4Test.once('listening', () => { ipv4Test.once('close', () => { doneIpV4.resolve(true); }); @@ -78,21 +82,21 @@ export class SmartNetwork { await doneIpV4.promise; // test IPv6 space - const test_ipv6 = net.createServer(); - test_ipv6.once('error', function(err: any) { + const ipv6Test = net.createServer(); + ipv6Test.once('error', function(err: any) { if (err.code !== 'EADDRINUSE') { doneIpV6.resolve(false); return; } doneIpV6.resolve(false); }); - test_ipv6.once('listening', function() { - test_ipv6.once('close', () => { + ipv6Test.once('listening', () => { + ipv6Test.once('close', () => { doneIpV6.resolve(true); }); - test_ipv6.close(); + ipv6Test.close(); }); - test_ipv6.listen(port, '::'); + ipv6Test.listen(port, '::'); // lets wait for the result const resultIpV4 = await doneIpV4.promise; @@ -110,7 +114,7 @@ export class SmartNetwork { const domainPart = domainArg.split(':')[0]; const port = portArg ? portArg : parseInt(domainArg.split(':')[1], 10); - plugins.portscanner.checkPortStatus(port, domainPart, (err, status ) => { + plugins.portscanner.checkPortStatus(port, domainPart, (err, status) => { if (err) { // console.log(err); return done.resolve(false); @@ -120,8 +124,16 @@ export class SmartNetwork { } else { done.resolve(false); } - }) + }); const result = await done.promise; return result; } + + public async getDefaultGateway() { + const result = { + v4: await plugins.defaultGateway.v4(), + v6: await plugins.defaultGateway.v6() + }; + return result; + } } diff --git a/ts/smartnetwork.plugins.ts b/ts/smartnetwork.plugins.ts index f342e14..69a7d3d 100644 --- a/ts/smartnetwork.plugins.ts +++ b/ts/smartnetwork.plugins.ts @@ -7,7 +7,8 @@ import * as smartstring from '@pushrocks/smartstring'; export { smartpromise, smartstring }; // @third party scope -let speedtestNet = require('speedtest-net'); +import defaultGateway from 'default-gateway'; +const speedtestNet = require('speedtest-net'); import * as portscanner from 'portscanner'; -export { speedtestNet, portscanner }; +export { defaultGateway, speedtestNet, portscanner };