diff --git a/package-lock.json b/package-lock.json index 01d218b..4ba30bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,18 +5,18 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "version": "7.8.3", + "resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.8.3" } }, "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "version": "7.8.3", + "resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -50,24 +50,42 @@ } }, "@gitzone/tstest": { - "version": "1.0.24", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.24.tgz", - "integrity": "sha512-HFHLxhXFhhY7nn7H7dxfjy/6WiUGCw35L5Do/ZajCAn/xAWiqnppW1aIp0LOOaWeZ7J5fH7xP88TjsGpwR+MRA==", + "version": "1.0.28", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.28.tgz", + "integrity": "sha512-MNXH4hpn/4BRwoCjIxz+fbrpkFw/u8834BFTX4Ug1bU37qBZvwZdyMfHBNRSjDykya3SLjOSqOf1mcMI3gnEvA==", "dev": true, "requires": { - "@gitzone/tsrun": "^1.2.6", + "@gitzone/tsrun": "^1.2.8", "@pushrocks/consolecolor": "^2.0.1", - "@pushrocks/smartfile": "^7.0.2", + "@pushrocks/smartfile": "^7.0.6", "@pushrocks/smartlog": "^2.0.19", - "@pushrocks/smartpromise": "^3.0.2", - "@pushrocks/smartshell": "^2.0.22", + "@pushrocks/smartpromise": "^3.0.6", + "@pushrocks/smartshell": "^2.0.25", "@types/figures": "^3.0.1", "figures": "^3.0.0" + }, + "dependencies": { + "@pushrocks/smartfile": { + "version": "7.0.8", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.8.tgz", + "integrity": "sha512-cNxTs+vyuegAV7HayoobQIAbO4j+XEMoEl9nbnehHhmxdt26/Gin6+eqWn/5/OEJj5EggrrZftFJQMzdJ50dDQ==", + "dev": true, + "requires": { + "@pushrocks/smarthash": "^2.0.6", + "@pushrocks/smartpath": "^4.0.1", + "@pushrocks/smartpromise": "^3.0.5", + "@pushrocks/smartrequest": "^1.1.27", + "@types/fs-extra": "^8.0.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.4", + "js-yaml": "^3.13.1" + } + } } }, "@pushrocks/consolecolor": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@pushrocks/consolecolor/-/consolecolor-2.0.1.tgz", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fconsolecolor/-/consolecolor-2.0.1.tgz", "integrity": "sha512-iOFCHVeFZ2OywbdwSxVI4/wokkcLrXVdHLgvMmkNhJ220eeLgjNZWx3EJo3vNW3zq5ybCSCUIq0878djBxrWpw==", "dev": true, "requires": { @@ -76,7 +94,7 @@ }, "@pushrocks/early": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@pushrocks/early/-/early-3.0.3.tgz", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fearly/-/early-3.0.3.tgz", "integrity": "sha512-71/nwxTpqdp1glmHz4YaGusNl/XOOcPelAxC9RA6rpS/6280QyY2u4yx+mRdMrCzn7ruLYF5awbkS8llNZ94Pg==", "dev": true, "requires": { @@ -207,12 +225,12 @@ } }, "@pushrocks/smarthash": { - "version": "2.0.6", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarthash/-/smarthash-2.0.6.tgz", - "integrity": "sha512-jHk9srgRLkszk/oPCUOkxTX2Fqu7qKwx13aEeSIBx8UCtFbXPLecJAqEaGEVk1mw9e4Oq0iC6O0jEnxKo5NQwA==", + "version": "2.1.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarthash/-/smarthash-2.1.6.tgz", + "integrity": "sha512-TYa3wECYkeDoE8SomxcCJFg5Kt4+G4MtNMu3yATJCCoPLJIbyV1CwUvYuFYkkce2W4ZvH9h/N6dsHc69oI5Jcw==", "requires": { - "@pushrocks/smartjson": "^3.0.5", - "@pushrocks/smartpromise": "^3.0.2", + "@pushrocks/smartjson": "^3.0.10", + "@pushrocks/smartpromise": "^3.0.6", "@types/through2": "^2.0.34", "through2": "^3.0.1" }, @@ -236,12 +254,12 @@ } }, "@pushrocks/smartjson": { - "version": "3.0.8", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-3.0.8.tgz", - "integrity": "sha512-EjC3611RSZaZmK+nXxXrYDBxdxYWtrxjOrZtQzbYn0yM33KSCH0sLIAG8B2wYZVAOj4A2pC8mVxFSJ1w3iRFHg==", + "version": "3.0.10", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-3.0.10.tgz", + "integrity": "sha512-0tBkET2yjmSSIf4DlgeyU8U/J2EshTmQGuMY28EjPq9VvuCFXLh72WmETpA4QqKRMqhWp1+P+RZgnQupW3GQxQ==", "requires": { "@types/fast-json-stable-stringify": "^2.0.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "lodash.clonedeep": "^4.5.0" } }, @@ -270,6 +288,15 @@ "ora": "^3.4.0" } }, + "@pushrocks/smartmime": { + "version": "1.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmime/-/smartmime-1.0.3.tgz", + "integrity": "sha512-hLOZwwAzYOOFobUmYy4OyjJJgM3Cw4fQQySF0zqTjd7UIMuAi6cighCNB5M68YHmPr1+XZw/UtHDX8z3tYiehg==", + "requires": { + "@types/mime-types": "^2.1.0", + "mime-types": "^2.1.26" + } + }, "@pushrocks/smartparam": { "version": "1.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartparam/-/smartparam-1.0.4.tgz", @@ -295,18 +322,19 @@ "integrity": "sha512-MaI0+uLQPCr2V3WGnbdgb0pWa9xkWyrP4qYcbsHIjeismGLbn9s3jmP/HIXU8LkgzRgaVb+BJxmZJHOwl32DyA==" }, "@pushrocks/smartpromise": { - "version": "3.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.5.tgz", - "integrity": "sha512-9kHBWyDFjQ6cV1rseOfge02EH6huh/mrtqxlFoJoxnMaGWf5F8H3UEsskBBUGI6QKE1Bl8evr74AIKWwJ0r/bA==" + "version": "3.0.6", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.6.tgz", + "integrity": "sha512-vlQlBGNVIjfClgnsfgQBU6GIKcskYSFzEcKLt18ngPzPEcjKklXcxaqzLXpnoxR+KBh30QPE8255ncYHXuPPOg==" }, "@pushrocks/smartrequest": { - "version": "1.1.27", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrequest/-/smartrequest-1.1.27.tgz", - "integrity": "sha512-GJO6duKBro2oILtXduVQwxA50AzjHZbKP0P32OoiM+B1ftoQFf4D8zSs/SCljNKXUqS8SZ9IMQVlKLfRC4nu+A==", + "version": "1.1.47", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrequest/-/smartrequest-1.1.47.tgz", + "integrity": "sha512-0AuqtAI14VeWeXl2WpJbgCybVlG03rOjdGchAqy5k5lg9ACLhN3Z4kmoLgpBysWO/L2SjlAKB489SRyV3acykg==", "requires": { - "@pushrocks/smartpromise": "^3.0.2", - "@types/form-data": "^2.2.1", - "form-data": "^2.3.3" + "@pushrocks/smartpromise": "^3.0.5", + "@types/form-data": "^2.5.0", + "agentkeepalive": "^4.0.2", + "form-data": "^2.5.1" } }, "@pushrocks/smartrx": { @@ -348,32 +376,40 @@ } }, "@pushrocks/tapbundle": { - "version": "3.0.13", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.0.13.tgz", - "integrity": "sha512-23O4UMBafCuD+RnUlXNvtT9DGbL1HMD+xZE1Zcr7Ll7WvgxUgRQQfk9kq6qbLLbjaRe1J2Ijsgh1HuZbBaucLQ==", + "version": "3.2.0", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.2.0.tgz", + "integrity": "sha512-xnKIGe7NJqxWBaFeKIEXShDjV2wap1XJqmlp3m1MKqmIF62vRpZnkzpyE1ZAoNwiYQmIsXIpvP/PDv+iPevPfw==", "dev": true, "requires": { "@pushrocks/early": "^3.0.3", "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartfile": "^7.0.6", "@pushrocks/smartpromise": "^3.0.2", "smartchai": "^2.0.1" }, "dependencies": { - "@pushrocks/smartdelay": { - "version": "2.0.3", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.3.tgz", - "integrity": "sha512-TXKDDqsc7sBTLl+oiYNaF6IdNk1n70i8ur8QfwcUU6tegTnrEkvMWy9h5Zdty/fq1ioCNpKLvuXoA+fgYVwKGQ==", + "@pushrocks/smartfile": { + "version": "7.0.8", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.8.tgz", + "integrity": "sha512-cNxTs+vyuegAV7HayoobQIAbO4j+XEMoEl9nbnehHhmxdt26/Gin6+eqWn/5/OEJj5EggrrZftFJQMzdJ50dDQ==", "dev": true, "requires": { - "@pushrocks/smartpromise": "^3.0.2" + "@pushrocks/smarthash": "^2.0.6", + "@pushrocks/smartpath": "^4.0.1", + "@pushrocks/smartpromise": "^3.0.5", + "@pushrocks/smartrequest": "^1.1.27", + "@types/fs-extra": "^8.0.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.4", + "js-yaml": "^3.13.1" } } } }, "@types/chai": { - "version": "4.2.3", - "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.2.3.tgz", - "integrity": "sha512-VRw2xEGbll3ZiTQ4J02/hUjNqZoue1bMhoo2dgM2LXjDdyaq4q80HgBDHwpI0/VKlo4Eg+BavyQMv/NYgTetzA==", + "version": "4.2.10", + "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.2.10.tgz", + "integrity": "sha512-TlWWgb21+0LdkuFqEqfmy7NEgfB/7Jjux15fWQAh3P93gbmXuwTM/vxEdzW89APIcI2BgKR48yjeAkdeH+4qvQ==", "dev": true }, "@types/chai-as-promised": { @@ -427,9 +463,9 @@ } }, "@types/fs-extra": { - "version": "8.0.0", - "resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-8.0.0.tgz", - "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "version": "8.1.0", + "resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg==", "requires": { "@types/node": "*" } @@ -440,6 +476,11 @@ "integrity": "sha512-zHPoyVrLvNaiMRYdhmh88Rn489ZgAgbc6iLxR5Yi0VCNfeNYHcszbhJV2vDHLNrVGy35BPtWBRn4OP2F9BBvFw==", "dev": true }, + "@types/mime-types": { + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/@types%2fmime-types/-/mime-types-2.1.0.tgz", + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=" + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://verdaccio.lossless.one/@types%2fminimatch/-/minimatch-3.0.3.tgz", @@ -447,9 +488,9 @@ "dev": true }, "@types/node": { - "version": "12.7.8", - "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.7.8.tgz", - "integrity": "sha512-FMdVn84tJJdV+xe+53sYiZS4R5yn1mAIxfj+DVoNiQjTYz1+OYmjwEZr1ev9nU0axXwda0QDbYl06QHanRVH3A==" + "version": "13.7.7", + "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-13.7.7.tgz", + "integrity": "sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg==" }, "@types/through2": { "version": "2.0.33", @@ -470,9 +511,9 @@ } }, "@types/which": { - "version": "1.3.1", - "resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-1.3.1.tgz", - "integrity": "sha512-ZrJDWpvg75LTGX4XwuneY9s6bF3OeZcGTpoGh3zDV9ytzcHMFsRrMIaLBRJZQMBoGyKs6unBQfVdrLZiYfb1zQ==", + "version": "1.3.2", + "resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-1.3.2.tgz", + "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==", "dev": true }, "@types/yargs": { @@ -481,9 +522,19 @@ "integrity": "sha512-CXlavd8Q7ZQkB7sMpx9QKC/B7gUsjtftxMHNr7qGJaDiZZ+Qmhwe4Zt3aS9aXF7cn6BYQuFlKU1UlrebyKsh9g==", "dev": true }, + "agentkeepalive": { + "version": "4.1.0", + "resolved": "https://verdaccio.lossless.one/agentkeepalive/-/agentkeepalive-4.1.0.tgz", + "integrity": "sha512-CW/n1wxF8RpEuuiq6Vbn9S8m0VSYDMnZESqaJ6F2cWN9fY8rei2qaxweIaRgq+ek8TqfoFIsUjaGNKGGEHElSg==", + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, "ansi-256-colors": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz", + "resolved": "https://verdaccio.lossless.one/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz", "integrity": "sha1-kQ3lDvzHwJ49gvL4er1rcAwYgYo=", "dev": true }, @@ -518,7 +569,7 @@ }, "assertion-error": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "resolved": "https://verdaccio.lossless.one/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, @@ -561,7 +612,7 @@ }, "chai": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "resolved": "https://verdaccio.lossless.one/chai/-/chai-4.2.0.tgz", "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "dev": true, "requires": { @@ -575,7 +626,7 @@ }, "chai-as-promised": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "resolved": "https://verdaccio.lossless.one/chai-as-promised/-/chai-as-promised-7.1.1.tgz", "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", "dev": true, "requires": { @@ -584,7 +635,7 @@ }, "chai-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/chai-string/-/chai-string-1.5.0.tgz", + "resolved": "https://verdaccio.lossless.one/chai-string/-/chai-string-1.5.0.tgz", "integrity": "sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw==", "dev": true }, @@ -601,7 +652,7 @@ }, "check-error": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "resolved": "https://verdaccio.lossless.one/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, @@ -690,9 +741,9 @@ } }, "commander": { - "version": "2.20.0", - "resolved": "https://verdaccio.lossless.one/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://verdaccio.lossless.one/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "concat-map": { @@ -727,6 +778,14 @@ "which": "^1.2.9" } }, + "debug": { + "version": "4.1.1", + "resolved": "https://verdaccio.lossless.one/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://verdaccio.lossless.one/decamelize/-/decamelize-1.2.0.tgz", @@ -735,7 +794,7 @@ }, "deep-eql": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "resolved": "https://verdaccio.lossless.one/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { @@ -774,6 +833,11 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "depd": { + "version": "1.1.2", + "resolved": "https://verdaccio.lossless.one/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, "diff": { "version": "4.0.1", "resolved": "https://verdaccio.lossless.one/diff/-/diff-4.0.1.tgz", @@ -846,14 +910,14 @@ } }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "figures": { - "version": "3.0.0", - "resolved": "https://verdaccio.lossless.one/figures/-/figures-3.0.0.tgz", - "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", + "version": "3.2.0", + "resolved": "https://verdaccio.lossless.one/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -929,7 +993,7 @@ }, "get-func-name": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "resolved": "https://verdaccio.lossless.one/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, @@ -943,9 +1007,9 @@ } }, "glob": { - "version": "7.1.4", - "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -997,6 +1061,14 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://verdaccio.lossless.one/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "requires": { + "ms": "^2.0.0" + } + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1168,16 +1240,16 @@ } }, "mime-db": { - "version": "1.40.0", - "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "version": "1.43.0", + "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" }, "mime-types": { - "version": "2.1.24", - "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.26", + "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", "requires": { - "mime-db": "1.40.0" + "mime-db": "1.43.0" } }, "mimic-fn": { @@ -1224,6 +1296,11 @@ "moment": ">= 2.9.0" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://verdaccio.lossless.one/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "nice-try": { "version": "1.0.5", "resolved": "https://verdaccio.lossless.one/nice-try/-/nice-try-1.0.5.tgz", @@ -1395,7 +1472,7 @@ }, "pathval": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "resolved": "https://verdaccio.lossless.one/pathval/-/pathval-1.1.0.tgz", "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", "dev": true }, @@ -1459,9 +1536,9 @@ "dev": true }, "resolve": { - "version": "1.12.0", - "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "version": "1.15.1", + "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -1526,7 +1603,7 @@ }, "smartchai": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/smartchai/-/smartchai-2.0.1.tgz", + "resolved": "https://verdaccio.lossless.one/smartchai/-/smartchai-2.0.1.tgz", "integrity": "sha512-9M+R56OhAHXScxgr2vzQqxGx0XMS0QXriNZuP7hjlbVbo2FUT+l60iEzbwPt9Ga+5u2cEEjSSoZEQVqlROaddA==", "dev": true, "requires": { @@ -1665,9 +1742,9 @@ "dev": true }, "tslint": { - "version": "5.20.0", - "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-5.20.0.tgz", - "integrity": "sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==", + "version": "6.0.0", + "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-6.0.0.tgz", + "integrity": "sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -1681,7 +1758,7 @@ "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", - "tslib": "^1.8.0", + "tslib": "^1.10.0", "tsutils": "^2.29.0" } }, @@ -1702,7 +1779,7 @@ }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "resolved": "https://verdaccio.lossless.one/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, diff --git a/package.json b/package.json index 05f48a2..2e1b376 100644 --- a/package.json +++ b/package.json @@ -28,23 +28,24 @@ }, "homepage": "https://gitlab.com/pushrocks/smartfile", "dependencies": { - "@pushrocks/smarthash": "^2.0.6", + "@pushrocks/smarthash": "^2.1.6", + "@pushrocks/smartmime": "^1.0.3", "@pushrocks/smartpath": "^4.0.1", - "@pushrocks/smartpromise": "^3.0.5", - "@pushrocks/smartrequest": "^1.1.27", - "@types/fs-extra": "^8.0.0", + "@pushrocks/smartpromise": "^3.0.6", + "@pushrocks/smartrequest": "^1.1.47", + "@types/fs-extra": "^8.1.0", "fs-extra": "^8.1.0", - "glob": "^7.1.4", + "glob": "^7.1.6", "js-yaml": "^3.13.1" }, "devDependencies": { "@gitzone/tsbuild": "^2.1.17", "@gitzone/tsrun": "^1.2.8", - "@gitzone/tstest": "^1.0.24", - "@pushrocks/tapbundle": "^3.0.13", - "@types/node": "^12.7.8", + "@gitzone/tstest": "^1.0.28", + "@pushrocks/tapbundle": "^3.2.0", + "@types/node": "^13.7.7", "gulp-function": "^2.2.14", - "tslint": "^5.20.0", + "tslint": "^6.0.0", "tslint-config-prettier": "^1.18.0" }, "files": [ diff --git a/ts/smartfile.fs.ts b/ts/smartfile.fs.ts index 4524a8d..604592a 100644 --- a/ts/smartfile.fs.ts +++ b/ts/smartfile.fs.ts @@ -192,14 +192,17 @@ export const toObjectSync = (filePathArg, fileTypeArg?) => { /** * reads a file content to a String - * @param filePath - * @returns {string|Buffer|any} */ export const toStringSync = (filePath: string): string => { - const fileString: string = plugins.fsExtra.readFileSync(filePath, 'utf8'); + const encoding = plugins.smartmime.getEncoding(filePath); + const fileString: string = plugins.fsExtra.readFileSync(filePath, encoding); return fileString; }; +export const toBufferSync = (filePath: string): Buffer => { + return plugins.fsExtra.readFileSync(filePath); +} + export const fileTreeToHash = async (dirPathArg: string, miniMatchFilter: string) => { const fileTreeObject = await fileTreeToObject(dirPathArg, miniMatchFilter); let combinedString = ''; diff --git a/ts/smartfile.plugins.ts b/ts/smartfile.plugins.ts index e547efe..d8f5417 100644 --- a/ts/smartfile.plugins.ts +++ b/ts/smartfile.plugins.ts @@ -6,11 +6,12 @@ export { fs, path }; // @pushrocks scope import * as smarthash from '@pushrocks/smarthash'; +import * as smartmime from '@pushrocks/smartmime'; import * as smartpath from '@pushrocks/smartpath'; import * as smartpromise from '@pushrocks/smartpromise'; import * as smartrequest from '@pushrocks/smartrequest'; -export { smarthash, smartpath, smartpromise, smartrequest }; +export { smarthash, smartmime, smartpath, smartpromise, smartrequest }; // third party scope import * as fsExtra from 'fs-extra'; diff --git a/ts/smartfile.remote.ts b/ts/smartfile.remote.ts index 07c37ca..3bc0e1c 100644 --- a/ts/smartfile.remote.ts +++ b/ts/smartfile.remote.ts @@ -15,8 +15,8 @@ import SmartfileInterpreter = require('./smartfile.interpreter'); * @param fromArg * @returns {any} */ -export let toObject = function(fromArg: string) { - let done = plugins.smartpromise.defer(); +export let toObject = (fromArg: string) => { + const done = plugins.smartpromise.defer(); plugins.smartrequest .request(fromArg, { method: 'get' @@ -37,11 +37,12 @@ export let toObject = function(fromArg: string) { * @param fromArg * @returns {any} */ -export let toString = (fromArg: string) => { - let done = plugins.smartpromise.defer(); +export let toString = (fromArg: string): Promise => { + const done = plugins.smartpromise.defer(); plugins.smartrequest.getBinary(fromArg).then((res: any) => { if (res.statusCode === 200) { - done.resolve(res.body); + const encoding = plugins.smartmime.getEncoding(fromArg); + done.resolve(res.body.toString(encoding)); } else { done.reject(new Error('could not get remote file from ' + fromArg)); }