From 7c85387c8506af2ebd16eee5d95be534ed36fec6 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sun, 4 Nov 2018 13:22:45 +0100 Subject: [PATCH] fix(core): update --- .gitlab-ci.yml | 10 +- npmextra.json | 4 +- package-lock.json | 585 +++++++++++++++----- package.json | 33 +- qenv.yml | 1 - test/test.ts | 28 +- ts/index.ts | 5 +- ts/sl.destlocal.classes.destinationlocal.ts | 179 +++--- ts/sl.destlocal.classes.ora.ts | 2 +- ts/sl.destlocal.figlet.ts | 28 +- ts/sl.destlocal.plugins.ts | 8 +- tslint.json | 16 +- 12 files changed, 597 insertions(+), 302 deletions(-) delete mode 100644 qenv.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8b576a0..67fd2eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,6 +26,7 @@ mirror: snyk: stage: security script: + - npmci npm prepare - npmci command npm install -g snyk - npmci command npm install --ignore-scripts - npmci command snyk test @@ -39,6 +40,7 @@ snyk: testLEGACY: stage: test script: + - npmci npm prepare - npmci node install legacy - npmci npm install - npmci npm test @@ -51,6 +53,7 @@ testLEGACY: testLTS: stage: test script: + - npmci npm prepare - npmci node install lts - npmci npm install - npmci npm test @@ -62,6 +65,7 @@ testLTS: testSTABLE: stage: test script: + - npmci npm prepare - npmci node install stable - npmci npm install - npmci npm test @@ -117,8 +121,10 @@ pages: image: hosttoday/ht-docker-node:npmci stage: metadata script: - - npmci command npm install -g npmpage - - npmci command npmpage + - npmci command npm install -g typedoc typescript + - npmci npm prepare + - npmci npm install + - npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/ tags: - docker - notpriv diff --git a/npmextra.json b/npmextra.json index fd67afd..818da5b 100644 --- a/npmextra.json +++ b/npmextra.json @@ -1,8 +1,6 @@ { "npmci": { - "globalNpmTools": [ - "npmts" - ], + "globalNpmTools": [], "npmAccessLevel": "public" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f496f21..7c11ef3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,15 +14,208 @@ "nan": "^2.9.2" } }, - "@gitzone/tsrun": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@gitzone/tsrun/-/tsrun-1.1.1.tgz", - "integrity": "sha512-/hocNkbpcm65MrSdF3V28lBH2iNcZThtbvKuISdCVgKejQUugTe9uNzLn//UCuCbbXODSVmjMbbYU4nMksssUw==", + "@gitzone/tsbuild": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@gitzone/tsbuild/-/tsbuild-2.0.22.tgz", + "integrity": "sha512-H0rqGVUKXWgxXhkY62kF92WpbS9GSJW27jQXaoyMsQptTQN4HIYKHWZMdO4egkk0/gDmKnBjk8MXg5Rx6efItA==", "dev": true, "requires": { - "smartfile": "^4.2.28", + "@pushrocks/smartfile": "^6.0.6", + "@pushrocks/smartlog": "^2.0.1", + "@pushrocks/smartpath": "^4.0.1", + "@pushrocks/smartpromise": "^2.0.5", + "typescript": "^3.0.1" + }, + "dependencies": { + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "@gitzone/tsrun": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@gitzone/tsrun/-/tsrun-1.1.13.tgz", + "integrity": "sha512-yJLXfqu33zGc1hBX4HGxzlBvb5DU2zs80MUd8UsULJvkgOBofb3XR7eyV7iZfP097sd+ABj17yoeqJcRRjOZTg==", + "dev": true, + "requires": { + "@gitzone/tsbuild": "^2.0.22", + "@pushrocks/smartfile": "^6.0.6", "ts-node": "^7.0.0", - "typescript": "^2.9.1" + "typescript": "^3.0.1" + } + }, + "@gitzone/tstest": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@gitzone/tstest/-/tstest-1.0.15.tgz", + "integrity": "sha512-+t5fvYK4a0JkwwH0Fokh5aOxVzrax5OjDUL4zmhBk7KFmXt7fdvcqsSNaEp9iyqC52dLiDybdAXqHYZypXTIYw==", + "dev": true, + "requires": { + "@gitzone/tsrun": "^1.1.12", + "@pushrocks/consolecolor": "^2.0.1", + "@pushrocks/smartfile": "^6.0.6", + "@pushrocks/smartlog": "^2.0.1", + "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartshell": "^2.0.6", + "@types/figures": "^2.0.0", + "figures": "^2.0.0" + }, + "dependencies": { + "@gitzone/tsrun": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@gitzone/tsrun/-/tsrun-1.1.13.tgz", + "integrity": "sha512-yJLXfqu33zGc1hBX4HGxzlBvb5DU2zs80MUd8UsULJvkgOBofb3XR7eyV7iZfP097sd+ABj17yoeqJcRRjOZTg==", + "dev": true, + "requires": { + "@gitzone/tsbuild": "^2.0.22", + "@pushrocks/smartfile": "^6.0.6", + "ts-node": "^7.0.0", + "typescript": "^3.0.1" + } + }, + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "@pushrocks/consolecolor": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@pushrocks/consolecolor/-/consolecolor-2.0.1.tgz", + "integrity": "sha512-iOFCHVeFZ2OywbdwSxVI4/wokkcLrXVdHLgvMmkNhJ220eeLgjNZWx3EJo3vNW3zq5ybCSCUIq0878djBxrWpw==", + "requires": { + "ansi-256-colors": "^1.1.0" + } + }, + "@pushrocks/early": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@pushrocks/early/-/early-3.0.3.tgz", + "integrity": "sha512-71/nwxTpqdp1glmHz4YaGusNl/XOOcPelAxC9RA6rpS/6280QyY2u4yx+mRdMrCzn7ruLYF5awbkS8llNZ94Pg==", + "dev": true, + "requires": { + "@pushrocks/consolecolor": "^2.0.1", + "@pushrocks/smartpromise": "^2.0.5" + } + }, + "@pushrocks/qenv": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@pushrocks/qenv/-/qenv-2.0.2.tgz", + "integrity": "sha512-DKYbGy2m0fDRCVp9vwtgx1vZfYfK0k36POplCGo0jJat/DmB51KOjZ3gkqRqNJnoRQrn/kFH8+Xrm7D6gOotoA==", + "dev": true, + "requires": { + "@pushrocks/smartfile": "^6.0.6" + } + }, + "@pushrocks/smartdelay": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@pushrocks/smartdelay/-/smartdelay-2.0.2.tgz", + "integrity": "sha512-4xf6tMKwZcxBynKgXrM4SQKgeASfRvx43LUmR5DkStp26ZHAsarCXUdKJS6y8QIPygEOTOCP8we97JAcCzBuMg==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^2.0.5" + } + }, + "@pushrocks/smartfile": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/@pushrocks/smartfile/-/smartfile-6.0.8.tgz", + "integrity": "sha512-YkAovvQ0pcVphXLynlQ1D4nhEoUqALqqUn2pRXc2vXNy0RDSU22puLlLVhoXT0NPAqYNMazhqc4OAixgEOpdFw==", + "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.0", + "glob": "^7.1.2", + "js-yaml": "^3.10.0", + "vinyl-file": "^3.0.0" + }, + "dependencies": { + "@types/fs-extra": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", + "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "fs-extra": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "@pushrocks/smartlog": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@pushrocks/smartlog/-/smartlog-2.0.4.tgz", + "integrity": "sha512-DYGBG8O3ZwHq3UdZ8kBds9tLHg8gXzm9urFGDwJqUR3F6q/Rj5Oje1MYUrZ8UhLUnmpO6oeXqSr4isb23iNIkA==", + "dev": true, + "requires": { + "@pushrocks/smartlog-interfaces": "^2.0.0" + } + }, + "@pushrocks/smartlog-interfaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@pushrocks/smartlog-interfaces/-/smartlog-interfaces-2.0.1.tgz", + "integrity": "sha512-c9onE52z/5fGX5uEvaI/rXbcC6n7PkLrNjehRM+6JsK7HIbdAzrgY1PGrqUfW0a03hSe03mFcggORID+fQI4tA==" + }, + "@pushrocks/smartpath": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@pushrocks/smartpath/-/smartpath-4.0.1.tgz", + "integrity": "sha512-MaI0+uLQPCr2V3WGnbdgb0pWa9xkWyrP4qYcbsHIjeismGLbn9s3jmP/HIXU8LkgzRgaVb+BJxmZJHOwl32DyA==", + "dev": true + }, + "@pushrocks/smartpromise": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@pushrocks/smartpromise/-/smartpromise-2.0.5.tgz", + "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==" + }, + "@pushrocks/smartrequest": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@pushrocks/smartrequest/-/smartrequest-1.1.14.tgz", + "integrity": "sha512-+sDQB4Mxvpn8BIMPUQ7TPSCKUVMln3tHC4rp4pmfEHmBQK+g1XwtNr59aMA9kEoBDMt7li1hu+1cs+SNsWt6Gw==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^2.0.5", + "@types/form-data": "^2.2.1", + "form-data": "^2.3.2" + } + }, + "@pushrocks/smartshell": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@pushrocks/smartshell/-/smartshell-2.0.8.tgz", + "integrity": "sha512-OeGrJez0vSHe/E0auHNUqf7r0B3yS+pkVe6BuxdJemJx5LBRtcHuZnJCxU5pSLL8igzlTfR+jVpjKJXUMzCsrA==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^2.0.5", + "@types/which": "^1.3.1", + "which": "^1.3.1" + } + }, + "@pushrocks/tapbundle": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@pushrocks/tapbundle/-/tapbundle-3.0.7.tgz", + "integrity": "sha512-ZI4fhXPy8XMfiy/QofP0ZDuFdv3cErm+FP/+AXaNKdgCCx01MXNTYSUdER1GPUXW3ZbiXdurkLJlxlhIzD1ZJw==", + "dev": true, + "requires": { + "@pushrocks/early": "^3.0.3", + "@pushrocks/smartdelay": "^2.0.2", + "@pushrocks/smartpromise": "^2.0.5", + "leakage": "^0.4.0", + "smartchai": "^2.0.1" } }, "@types/chai": { @@ -49,24 +242,30 @@ "@types/chai": "*" } }, - "@types/fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-qtxDULQKUenuaDLW003CgC+0T0eiAfH3BrH+vSt87GLzbz5EZ6Ox6mv9rMttvhDOatbb9nYh0E1m7ydoYwUrAg==", + "@types/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-mcRgJ+ncKuNI+Dwac7omO18B8C8u+YBS+AU/oyLhEyjAnT3cUUThhHgZpbiIvu5ZqSvdD30BXtrqg9nxc3OKMg==", + "dev": true + }, + "@types/form-data": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/lodash": { - "version": "4.14.110", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.110.tgz", - "integrity": "sha512-iXYLa6olt4tnsCA+ZXeP6eEW3tk1SulWeYyP/yooWfAtXjozqXgtX4+XUtMuOCfYjKGz3F34++qUc3Q+TJuIIw==" + "version": "4.14.117", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.117.tgz", + "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==" }, "@types/node": { - "version": "10.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.1.tgz", - "integrity": "sha512-AFLl1IALIuyt6oK4AYZsgWVJ/5rnyzQWud7IebaZWWV3YmgtPZkQmYio9R5Ze/2pdd7XfqF5bP+hWS11mAKoOQ==", + "version": "10.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.2.tgz", + "integrity": "sha512-53ElVDSnZeFUUFIYzI8WLQ25IhWzb6vbddNp8UHlXQyU0ET2RhV5zg0NfubzU7iNMh5bBXb0htCzfvrSVNgzaQ==", "dev": true }, "@types/vinyl": { @@ -78,6 +277,12 @@ "@types/node": "*" } }, + "@types/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.1.tgz", + "integrity": "sha512-ZrJDWpvg75LTGX4XwuneY9s6bF3OeZcGTpoGh3zDV9ytzcHMFsRrMIaLBRJZQMBoGyKs6unBQfVdrLZiYfb1zQ==", + "dev": true + }, "ansi-256-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz", @@ -117,6 +322,65 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -190,6 +454,12 @@ "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", "dev": true }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, "chai": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", @@ -289,6 +559,21 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -326,23 +611,18 @@ "object-keys": "^1.0.8" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, - "early": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/early/-/early-2.1.1.tgz", - "integrity": "sha1-hB4jJU6l3FTYr67ugvWrZcAO4jw=", - "dev": true, - "requires": { - "beautycolor": "^1.0.7", - "smartq": "^1.1.1", - "typings-global": "^1.0.16" - } - }, "es-abstract": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", @@ -382,11 +662,26 @@ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, "figlet": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.2.0.tgz", "integrity": "sha1-bEZTc3j6tkkUa1phQ92gGbQwtBA=" }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "first-chunk-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", @@ -401,15 +696,15 @@ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, "fs.realpath": { @@ -457,20 +752,28 @@ "function-bind": "^1.1.1" } }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "home": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/home/-/home-1.0.1.tgz", - "integrity": "sha1-lqQjzrSbmDeP9e886uBZpVf53TU=", - "dev": true, - "requires": { - "os-homedir": "^1.0.1" - } - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -527,6 +830,18 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, "js-yaml": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", @@ -584,6 +899,21 @@ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", "dev": true }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "~1.37.0" + } + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -658,9 +988,9 @@ } }, "ora": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", - "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.0.0.tgz", + "integrity": "sha512-LBS97LFe2RV6GJmXBi6OKcETKyklHNMV0xw7BtsVn2MlsgsydyZetSCbCANr+PFLmDyv4KV88nn0eCKza665Mg==", "requires": { "chalk": "^2.3.1", "cli-cursor": "^2.1.0", @@ -670,18 +1000,18 @@ "wcwidth": "^1.0.1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, "pathval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", @@ -706,17 +1036,6 @@ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, - "qenv": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/qenv/-/qenv-1.1.7.tgz", - "integrity": "sha1-0D+L+P43SUzwjQkZ/nZdyoTZr64=", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "smartfile": "^4.2.11", - "typings-global": "^1.0.16" - } - }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", @@ -744,11 +1063,14 @@ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", "dev": true }, - "require-reload": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/require-reload/-/require-reload-0.2.2.tgz", - "integrity": "sha1-KadZGEbK+RtuijzamRaD+V+NfUI=", - "dev": true + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } }, "restore-cursor": { "version": "2.0.0", @@ -765,6 +1087,12 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -784,16 +1112,6 @@ "chai-string": "^1.4.0" } }, - "smartdelay": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/smartdelay/-/smartdelay-1.0.4.tgz", - "integrity": "sha512-ab+d8ADiMMPKwrQNhoJYjmOR20VIIIxjknoEF9/PfMryic7tmvTmFrDMdcnMRohGNw/pN+4/I5dSUBdsDya7uw==", - "dev": true, - "requires": { - "smartq": "^1.1.1", - "typings-global": "^1.0.16" - } - }, "smartenv": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/smartenv/-/smartenv-4.0.3.tgz", @@ -812,29 +1130,6 @@ } } }, - "smartfile": { - "version": "4.2.28", - "resolved": "https://registry.npmjs.org/smartfile/-/smartfile-4.2.28.tgz", - "integrity": "sha512-zUeAOLYftz8xLfKTs9U1NOuNPTA9jlvTQNr7lDIv84kXnr1AEpDb2Xwy1MdK1w733sBil/RkxtezrkvgRVAnNg==", - "dev": true, - "requires": { - "@types/fs-extra": "5.0.0", - "@types/vinyl": "^2.0.2", - "fs-extra": "^5.0.0", - "glob": "^7.1.2", - "js-yaml": "^3.10.0", - "require-reload": "0.2.2", - "smartpath": "^3.2.8", - "smartq": "^1.1.6", - "smartrequest": "^1.0.8", - "vinyl-file": "^3.0.0" - } - }, - "smartlog-interfaces": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/smartlog-interfaces/-/smartlog-interfaces-1.0.8.tgz", - "integrity": "sha512-2z1dj3/Jc7hQWprTj2TamUoSmchfeQ4cSLN7GbqenAwiTgRZiDxMNpYLkSFoUQM1w6T58hG0jfiG3IEXhmqctg==" - }, "smartparam": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/smartparam/-/smartparam-1.0.2.tgz", @@ -847,16 +1142,6 @@ "typings-global": "^1.0.20" } }, - "smartpath": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/smartpath/-/smartpath-3.2.8.tgz", - "integrity": "sha1-SDS9OouuIpW6rK26I8h6UBlS+UA=", - "dev": true, - "requires": { - "home": "^1.0.1", - "typings-global": "^1.0.14" - } - }, "smartq": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/smartq/-/smartq-1.1.8.tgz", @@ -865,15 +1150,6 @@ "util.promisify": "^1.0.0" } }, - "smartrequest": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/smartrequest/-/smartrequest-1.0.13.tgz", - "integrity": "sha512-OHrvzaxaA8Z8bJr33yxnyJF35nrWyaumsajqXm2Zkv0/2hfWO1NQAj02VVV51rLQfmtU0Hex7Nk19SoC8nOmYg==", - "dev": true, - "requires": { - "smartq": "^1.1.1" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -949,19 +1225,6 @@ "has-flag": "^3.0.0" } }, - "tapbundle": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tapbundle/-/tapbundle-2.0.2.tgz", - "integrity": "sha512-y3ulfK4GKoVkuqF2QsrwVMWLXHqXeoDEzsw/Q9ZTJumNINbx4bcWPAdg2IcTHYgJHeSdF03HiB9EbHoUTRjD9Q==", - "dev": true, - "requires": { - "early": "^2.1.1", - "leakage": "^0.4.0", - "smartchai": "^2.0.1", - "smartdelay": "^1.0.4", - "smartq": "^1.1.8" - } - }, "ts-node": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.0.tgz", @@ -978,6 +1241,47 @@ "yn": "^2.0.0" } }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tslint": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", + "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" + } + }, + "tslint-config-prettier": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.15.0.tgz", + "integrity": "sha512-06CgrHJxJmNYVgsmeMoa1KXzQRoOdvfkqnJth6XUkNeOz707qxN0WfxfhYwhL5kXHHbYJRby2bqAPKwThlZPhw==", + "dev": true + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -985,9 +1289,9 @@ "dev": true }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", "dev": true }, "typings-global": { @@ -1059,6 +1363,15 @@ "defaults": "^1.0.3" } }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 5fd2995..3195ac6 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { - "test": "(tsrun test/test.ts)", - "build": "(npmts)" + "test": "(tstest test/)", + "build": "(tsbuild)" }, "repository": { "type": "git", @@ -26,20 +26,21 @@ }, "homepage": "https://gitlab.com/pushrocks/beautylog", "dependencies": { - "@types/lodash": "^4.14.104", - "beautycolor": "^1.0.11", - "figlet": "^1.2.0", - "lodash": "^4.17.5", - "ora": "^2.0.0", - "smartenv": "^4.0.3", - "smartlog-interfaces": "^1.0.8", - "smartq": "^1.1.6" + "@pushrocks/consolecolor": "^2.0.1", + "@pushrocks/smartlog-interfaces": "^2.0.1", + "@pushrocks/smartpromise": "^2.0.5", + "@types/lodash": "^4.14.117", + "ora": "^3.0.0", + "smartenv": "^4.0.3" }, "devDependencies": { - "@gitzone/tsrun": "^1.1.1", - "@types/node": "^10.5.1", - "qenv": "^1.1.7", - "smartdelay": "^1.0.4", - "tapbundle": "^2.0.2" + "@gitzone/tsbuild": "^2.0.22", + "@gitzone/tsrun": "^1.1.13", + "@gitzone/tstest": "^1.0.15", + "@pushrocks/smartdelay": "^2.0.2", + "@pushrocks/tapbundle": "^3.0.7", + "@types/node": "^10.12.2", + "tslint": "^5.11.0", + "tslint-config-prettier": "^1.15.0" } -} +} \ No newline at end of file diff --git a/qenv.yml b/qenv.yml deleted file mode 100644 index 452a013..0000000 --- a/qenv.yml +++ /dev/null @@ -1 +0,0 @@ -vars: \ No newline at end of file diff --git a/test/test.ts b/test/test.ts index a284e9c..fe7eec8 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,11 +1,8 @@ -import { tap, expect } from 'tapbundle'; -import * as smartdelay from 'smartdelay'; - -import * as qenv from 'qenv'; -let testQenv = new qenv.Qenv(process.cwd(), process.cwd() + '/.nogit'); +import { tap, expect } from '@pushrocks/tapbundle'; +import * as smartdelay from '@pushrocks/smartdelay'; import smartlogDesinationLocal = require('../ts/index'); -import { ILogContext } from 'smartlog-interfaces'; +import { ILogContext } from '@pushrocks/smartlog-interfaces'; let testLogContext: ILogContext = { company: 'Lossless GmbH', @@ -14,31 +11,24 @@ let testLogContext: ILogContext = { environment: 'staging', runtime: 'node', zone: 'shipzone' -} +}; let testLocalInstance: smartlogDesinationLocal.DestinationLocal; tap.test('should create a valid instance of DestinationLocal', async () => { - testLocalInstance = new smartlogDesinationLocal.DestinationLocal() + testLocalInstance = new smartlogDesinationLocal.DestinationLocal(); expect(testLocalInstance).to.be.instanceof(smartlogDesinationLocal.DestinationLocal); -}) +}); tap.test('.log(message) should print a blue Dir message', async () => { testLocalInstance.handleLog({ - logLevel: 'info', - logContext: testLogContext, + type: 'log', + level: 'info', + context: testLogContext, message: 'this is a info log message' }); }); -tap.test('.figlet should print nice fonts to console in yellow', async () => { - testLocalInstance.figlet('Async!', { font: 'Star Wars', color: 'orange' }); -}); - -tap.test('.figletSync should print nice fonts to console in yellow', async () => { - testLocalInstance.figletSync('Sync!', { font: 'Star Wars', color: 'blue' }); -}); - tap.test('.logReduced(message) should only log two messages', async () => { testLocalInstance.logReduced('Message 1'); testLocalInstance.logReduced('Message 1'); diff --git a/ts/index.ts b/ts/index.ts index a40792a..5b6409e 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,5 +1,2 @@ -import './sl.destlocal.console'; - -import * as plugins from './sl.destlocal.plugins'; // export classes -export { DestinationLocal } from './sl.destlocal.classes.destinationlocal' +export { DestinationLocal } from './sl.destlocal.classes.destinationlocal'; diff --git a/ts/sl.destlocal.classes.destinationlocal.ts b/ts/sl.destlocal.classes.destinationlocal.ts index 9904cd8..0d9d846 100644 --- a/ts/sl.destlocal.classes.destinationlocal.ts +++ b/ts/sl.destlocal.classes.destinationlocal.ts @@ -1,13 +1,9 @@ import * as plugins from './sl.destlocal.plugins'; -import { ILogDestination, ILogPackage } from 'smartlog-interfaces'; +import { ILogDestination, ILogPackage, TLogLevel } from '@pushrocks/smartlog-interfaces'; // other beautylog classes import { Ora } from './sl.destlocal.classes.ora'; - -export interface IBeautyLogObject { - logType: string; - logString: string; -} +import { TColorName } from '@pushrocks/consolecolor'; export class DestinationLocal implements ILogDestination { private oraInstance: Ora; @@ -16,8 +12,8 @@ export class DestinationLocal implements ILogDestination { * handles a log according to the smartlog standard * @param logPackage */ - handleLog(logPackage: ILogPackage) { - this.logToConsole(this.parseLog(logPackage.message)); + public handleLog(logPackage: ILogPackage) { + this.logToConsole(logPackage); } get ora(): Ora { @@ -27,31 +23,12 @@ export class DestinationLocal implements ILogDestination { return this.oraInstance; } - /** - * parse logs for display - */ - private parseLog = (stringToParseArg: string): IBeautyLogObject => { - const parseLogRegex = /^(success|ok|info|warn|error):\s(.*)/; - const regexResult = parseLogRegex.exec(stringToParseArg); - if (regexResult && regexResult.length === 3) { - return { - logType: regexResult[1], - logString: regexResult[2] - }; - } else { - return { - logType: 'log', - logString: stringToParseArg - }; - } - }; - /** * creates a new empty line * @param linesArg * @returns void */ - newLine(linesArg: number = 1) { + public newLine(linesArg: number = 1) { for (let i = 0; i < linesArg; i++) { console.log('\n'); } @@ -60,7 +37,7 @@ export class DestinationLocal implements ILogDestination { /** * logs a reduced log that only logs changes of consequential log messages */ - logReduced(logTextArg: string, repeatEveryTimesArg: number = 0) { + public logReduced(logTextArg: string, repeatEveryTimesArg: number = 0) { if ( logTextArg === this.previousMessage && (repeatEveryTimesArg === 0 || this.sameMessageCounter !== repeatEveryTimesArg) @@ -70,8 +47,17 @@ export class DestinationLocal implements ILogDestination { this.sameMessageCounter = 0; this.previousMessage = logTextArg; this.logToConsole({ - logType: 'log', - logString: logTextArg + type: 'log', + level: 'info', + context: { + company: 'undefined', + companyunit: 'undefined', + containerName: 'undefined', + environment: 'test', + runtime: 'node', + zone: 'undefined' + }, + message: logTextArg }); } } @@ -79,47 +65,16 @@ export class DestinationLocal implements ILogDestination { private sameMessageCounter: number = 0; // default logging - logToConsole(beautlogObject: IBeautyLogObject) { - let { logType, logString } = beautlogObject; + logToConsole(logPackageArg: ILogPackage) { + let logString: string; try { - switch (logType) { - case 'dir': - logString = this.localBl.dirPrefix + plugins.beautycolor.coloredString(logString, 'blue'); - break; - case 'error': - logString = - this.localBl.errorPrefix + plugins.beautycolor.coloredString(logString, 'red'); - break; - case 'info': - logString = - this.localBl.infoPrefix + plugins.beautycolor.coloredString(logString, 'blue'); - break; - case 'normal': - logString = this.localBl.logPrefix + plugins.beautycolor.coloredString(logString, 'cyan'); - break; - case 'note': - logString = - this.localBl.notePrefix + plugins.beautycolor.coloredString(logString, 'pink'); - break; - case 'ok': - logString = this.localBl.okPrefix + plugins.beautycolor.coloredString(logString, 'green'); - break; - case 'success': - logString = - this.localBl.successPrefix + plugins.beautycolor.coloredString(logString, 'green'); - break; - case 'warn': - logString = - this.localBl.warnPrefix + plugins.beautycolor.coloredString(logString, 'orange'); - break; - case 'log': - logString = this.localBl.logPrefix + plugins.beautycolor.coloredString(logString, 'cyan'); - break; - default: - plugins.beautycolor.coloredString(logString, 'blue'); - console.log('unknown logType for "' + logString + '"'); - break; - } + logString = + this.localBl[logPackageArg.level].prefix + + plugins.consolecolor.coloredString( + logPackageArg.message, + this.localBl[logPackageArg.level].textColor + ); + if (this.ora.state === 'running') { this.ora.pause(); } @@ -136,35 +91,57 @@ export class DestinationLocal implements ILogDestination { } } - private localBl = { - dirPrefix: plugins.beautycolor.coloredString(' DIR ', 'white', 'blue') + ' ', - errorPrefix: - plugins.beautycolor.coloredString(' ', 'red', 'red') + - plugins.beautycolor.coloredString(' ERROR! ', 'red', 'black') + - ' ', - infoPrefix: - plugins.beautycolor.coloredString(' ', 'blue', 'blue') + - plugins.beautycolor.coloredString(' INFO: ', 'blue', 'black') + - ' ', - logPrefix: - plugins.beautycolor.coloredString(' ', 'white', 'cyan') + - plugins.beautycolor.coloredString(' LOG: ', 'cyan', 'black') + - ' ', - notePrefix: - plugins.beautycolor.coloredString(' ', 'pink', 'pink') + - plugins.beautycolor.coloredString(' NOTE -> ', 'pink', 'black') + - ' ', - okPrefix: - plugins.beautycolor.coloredString(' ', 'green', 'green') + - plugins.beautycolor.coloredString(' OK! ', 'green', 'black') + - ' ', - successPrefix: - plugins.beautycolor.coloredString(' ', 'green', 'green') + - plugins.beautycolor.coloredString(' SUCCESS! ', 'green', 'black') + - ' ', - warnPrefix: - plugins.beautycolor.coloredString(' ', 'orange', 'orange') + - plugins.beautycolor.coloredString(' WARN: -> ', 'orange', 'black') + - ' ' + private localBl: { + [key: string]: { + prefix: string; + textColor: TColorName; + }; + } = { + silly: { + prefix: plugins.consolecolor.coloredString(' silly ', 'white', 'blue') + ' ', + textColor: 'blue' + }, + error: { + prefix: + plugins.consolecolor.coloredString(' ', 'red', 'red') + + plugins.consolecolor.coloredString(' ERROR! ', 'red', 'black') + + ' ', + textColor: 'red' + }, + info: { + prefix: + plugins.consolecolor.coloredString(' ', 'blue', 'blue') + + plugins.consolecolor.coloredString(' info: ', 'blue', 'black') + + ' ', + textColor: 'white' + }, + note: { + prefix: + plugins.consolecolor.coloredString(' ', 'pink', 'pink') + + plugins.consolecolor.coloredString(' note -> ', 'pink', 'black') + + ' ', + textColor: 'pink' + }, + ok: { + prefix: + plugins.consolecolor.coloredString(' ', 'green', 'green') + + plugins.consolecolor.coloredString(' ok ', 'green', 'black') + + ' ', + textColor: 'green' + }, + success: { + prefix: + plugins.consolecolor.coloredString(' ', 'green', 'green') + + plugins.consolecolor.coloredString(' SUCCESS! ', 'green', 'black') + + ' ', + textColor: 'green' + }, + warn: { + prefix: + plugins.consolecolor.coloredString(' ', 'orange', 'orange') + + plugins.consolecolor.coloredString(' WARN -> ', 'orange', 'black') + + ' ', + textColor: 'orange' + } }; } diff --git a/ts/sl.destlocal.classes.ora.ts b/ts/sl.destlocal.classes.ora.ts index b46463a..610a82e 100644 --- a/ts/sl.destlocal.classes.ora.ts +++ b/ts/sl.destlocal.classes.ora.ts @@ -46,7 +46,7 @@ export class Ora { this._oraObject.clear(); this.state = 'stopped'; } - + pause() { this._oraObject.stop(); this.state = 'paused'; diff --git a/ts/sl.destlocal.figlet.ts b/ts/sl.destlocal.figlet.ts index 2581727..986317e 100644 --- a/ts/sl.destlocal.figlet.ts +++ b/ts/sl.destlocal.figlet.ts @@ -2,20 +2,20 @@ import plugins = require('./sl.destlocal.plugins'); export interface IFigletOptions { font?: string; - color?: plugins.beautycolor.TColorName; + color?: plugins.consolecolor.TColorName; cb?; } -let defaultOptions: IFigletOptions = { +const defaultOptions: IFigletOptions = { font: 'Star Wars', color: 'green', - cb: function() {} + cb() {} }; -export let figlet = function(textArg: string, optionsArg?) { - let done = plugins.q.defer(); - let mergeOptions = plugins.lodash.cloneDeep(defaultOptions); - let options = plugins.lodash.assign(mergeOptions, optionsArg); +export let figlet = (textArg: string, optionsArg?) => { + const done = plugins.smartpromise.defer(); + const mergeOptions = plugins.lodash.cloneDeep(defaultOptions); + const options = plugins.lodash.assign(mergeOptions, optionsArg); plugins.figlet( textArg, { @@ -37,10 +37,10 @@ export let figlet = function(textArg: string, optionsArg?) { return done.promise; }; -export let figletSync = function(textArg: string, optionsArg?: IFigletOptions) { - let mergeOptions = plugins.lodash.cloneDeep(defaultOptions); - let options = plugins.lodash.assign(mergeOptions, optionsArg); - let figletString: string = plugins.figlet.textSync(textArg, { +export let figletSync = (textArg: string, optionsArg?: IFigletOptions) => { + const mergeOptions = plugins.lodash.cloneDeep(defaultOptions); + const options = plugins.lodash.assign(mergeOptions, optionsArg); + const figletString: string = plugins.figlet.textSync(textArg, { font: options.font, horizontalLayout: 'default', verticalLayout: 'default' @@ -49,11 +49,11 @@ export let figletSync = function(textArg: string, optionsArg?: IFigletOptions) { return true; }; -let colorFiglet = (figletStringArg, colorArg: plugins.beautycolor.TColorName) => { - let figletArray = figletStringArg.split('\n'); +const colorFiglet = (figletStringArg, colorArg: plugins.consolecolor.TColorName) => { + const figletArray = figletStringArg.split('\n'); let figletStringCombined = ''; for (let figletRow of figletArray) { - figletRow = plugins.beautycolor.coloredString(figletRow, colorArg); + figletRow = plugins.consolecolor.coloredString(figletRow, colorArg); figletStringCombined = figletStringCombined + figletRow + '\n'; } return figletStringCombined; diff --git a/ts/sl.destlocal.plugins.ts b/ts/sl.destlocal.plugins.ts index 96118a0..24637fc 100644 --- a/ts/sl.destlocal.plugins.ts +++ b/ts/sl.destlocal.plugins.ts @@ -1,9 +1,9 @@ -import * as beautycolor from 'beautycolor'; +import * as consolecolor from '@pushrocks/consolecolor'; import * as lodash from 'lodash'; import * as smartenv from 'smartenv'; -import * as smartlogInterfaces from 'smartlog-interfaces'; -import * as q from 'smartq'; +import * as smartlogInterfaces from '@pushrocks/smartlog-interfaces'; +import * as smartpromise from '@pushrocks/smartpromise'; let figlet = require('figlet'); let ora = require('ora'); -export { beautycolor, lodash, smartenv, smartlogInterfaces, q, figlet, ora }; +export { consolecolor, lodash, smartenv, smartlogInterfaces, smartpromise, figlet, ora }; diff --git a/tslint.json b/tslint.json index 45052ad..d4ea2e9 100644 --- a/tslint.json +++ b/tslint.json @@ -1,3 +1,17 @@ { - "extends": "tslint-config-standard" + "extends": ["tslint:latest", "tslint-config-prettier"], + "rules": { + "semicolon": [true, "always"], + "no-console": false, + "ordered-imports": false, + "object-literal-sort-keys": false, + "member-ordering": { + "options":{ + "order": [ + "static-method" + ] + } + } + }, + "defaultSeverity": "warning" }