diff --git a/package-lock.json b/package-lock.json index ee06587..70bb666 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,8 +21,7 @@ "@apiglobal/typedrequest-interfaces": { "version": "1.0.15", "resolved": "https://verdaccio.lossless.one/@apiglobal%2ftypedrequest-interfaces/-/typedrequest-interfaces-1.0.15.tgz", - "integrity": "sha512-KncX168fUQJ73FeT22Cvls41mkJmtasP8dB2s9+9/OyWZpNsCzk9NEmtdRhulW2vLQwuAbQc1eoloe7ffCmhcA==", - "dev": true + "integrity": "sha512-KncX168fUQJ73FeT22Cvls41mkJmtasP8dB2s9+9/OyWZpNsCzk9NEmtdRhulW2vLQwuAbQc1eoloe7ffCmhcA==" }, "@babel/code-frame": { "version": "7.10.4", @@ -1367,8 +1366,7 @@ "@pushrocks/isounique": { "version": "1.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fisounique/-/isounique-1.0.4.tgz", - "integrity": "sha512-P1xLsuA1+8LQpoWCo2nP2vIQXKGUl5wDWU6CD7xTDZc3uw0He5V/qCPHM5zpIZsS7IuZOxDDpWb7aFveB11tXw==", - "dev": true + "integrity": "sha512-P1xLsuA1+8LQpoWCo2nP2vIQXKGUl5wDWU6CD7xTDZc3uw0He5V/qCPHM5zpIZsS7IuZOxDDpWb7aFveB11tXw==" }, "@pushrocks/lik": { "version": "4.0.17", @@ -1385,6 +1383,64 @@ "symbol-tree": "^3.2.4" } }, + "@pushrocks/qenv": { + "version": "4.0.10", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fqenv/-/qenv-4.0.10.tgz", + "integrity": "sha512-bQknJrGa9zXDTmohi2W0fi/gZ5H36J1138WsRgdR2u/9D/0gwjBasL0kqBokH9sddcLSYe/H9itGFxbT7i7MCg==", + "requires": { + "@pushrocks/smartfile": "^7.0.12", + "@pushrocks/smartlog": "^2.0.26" + }, + "dependencies": { + "@pushrocks/smartfile": { + "version": "7.0.12", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.12.tgz", + "integrity": "sha512-/4T4K07WqOXGvQQ/VFyRMUd8kN1RdqQgmrqHjZE/vMDLz7RYsqU9FlEN6OGX1G1E6pR9IdHnT4ClXPlvzClHYg==", + "requires": { + "@pushrocks/smarthash": "^2.1.6", + "@pushrocks/smartmime": "^1.0.3", + "@pushrocks/smartpath": "^4.0.1", + "@pushrocks/smartpromise": "^3.0.6", + "@pushrocks/smartrequest": "^1.1.47", + "@types/fs-extra": "^8.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.6", + "js-yaml": "^3.13.1" + } + }, + "@types/fs-extra": { + "version": "8.1.1", + "resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-8.1.1.tgz", + "integrity": "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==", + "requires": { + "@types/node": "*" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://verdaccio.lossless.one/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://verdaccio.lossless.one/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://verdaccio.lossless.one/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, "@pushrocks/smartbrowser": { "version": "1.0.17", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartbrowser/-/smartbrowser-1.0.17.tgz", @@ -1553,7 +1609,6 @@ "version": "2.1.6", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarthash/-/smarthash-2.1.6.tgz", "integrity": "sha512-TYa3wECYkeDoE8SomxcCJFg5Kt4+G4MtNMu3yATJCCoPLJIbyV1CwUvYuFYkkce2W4ZvH9h/N6dsHc69oI5Jcw==", - "dev": true, "requires": { "@pushrocks/smartjson": "^3.0.10", "@pushrocks/smartpromise": "^3.0.6", @@ -1565,7 +1620,6 @@ "version": "3.0.10", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-3.0.10.tgz", "integrity": "sha512-0tBkET2yjmSSIf4DlgeyU8U/J2EshTmQGuMY28EjPq9VvuCFXLh72WmETpA4QqKRMqhWp1+P+RZgnQupW3GQxQ==", - "dev": true, "requires": { "@types/fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", @@ -1591,7 +1645,6 @@ "version": "2.0.39", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog/-/smartlog-2.0.39.tgz", "integrity": "sha512-fHCoBLwKM+F3jN5nZH6QEcEVWtgyESN+ysT9KLxmM/wrhIibG98yLxp6kwfZZbv6aKmHWbtKEvBmv+Vd4Hfwlg==", - "dev": true, "requires": { "@pushrocks/isounique": "^1.0.4", "@pushrocks/smartlog-interfaces": "^2.0.20" @@ -1612,7 +1665,6 @@ "version": "2.0.22", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-interfaces/-/smartlog-interfaces-2.0.22.tgz", "integrity": "sha512-blvtNLgYz08F5EhftxfzLEkQ3VE9uoXRVQukbVpwJ4Zk0QRkNg2VCkuJu/kkfbtlCEOEOG2HCZDyhbxeEeq0pA==", - "dev": true, "requires": { "@apiglobal/typedrequest-interfaces": "^1.0.15" } @@ -1796,7 +1848,6 @@ "version": "1.0.3", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmime/-/smartmime-1.0.3.tgz", "integrity": "sha512-hLOZwwAzYOOFobUmYy4OyjJJgM3Cw4fQQySF0zqTjd7UIMuAi6cighCNB5M68YHmPr1+XZw/UtHDX8z3tYiehg==", - "dev": true, "requires": { "@types/mime-types": "^2.1.0", "mime-types": "^2.1.26" @@ -1843,8 +1894,7 @@ "@pushrocks/smartpath": { "version": "4.0.3", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-4.0.3.tgz", - "integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==", - "dev": true + "integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==" }, "@pushrocks/smartpdf": { "version": "2.0.2", @@ -1918,8 +1968,7 @@ "@pushrocks/smartpromise": { "version": "3.1.3", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.1.3.tgz", - "integrity": "sha512-KENdm++8uuzxDz1cbUbXtz6InfReP28TYC5zxRgRtwsXh7ZWUkSA+/82IbO97PcSCAfIpg7dwj77G6KGSsTKEQ==", - "dev": true + "integrity": "sha512-KENdm++8uuzxDz1cbUbXtz6InfReP28TYC5zxRgRtwsXh7ZWUkSA+/82IbO97PcSCAfIpg7dwj77G6KGSsTKEQ==" }, "@pushrocks/smartpuppeteer": { "version": "1.0.15", @@ -1937,7 +1986,6 @@ "version": "1.1.51", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrequest/-/smartrequest-1.1.51.tgz", "integrity": "sha512-RJUvo7MEIAm+gFueJrmf8LcpVals5jp7PgOZ+ebGTvDoVwCpor0Z6nmJDOs9ykjFCIvvPhfiterQeb6hJr2uDw==", - "dev": true, "requires": { "@pushrocks/smartpromise": "^3.0.6", "agentkeepalive": "^4.1.3", @@ -2282,8 +2330,7 @@ "@types/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/@types%2ffast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha512-mky/O83TXmGY39P1H9YbUpjV6l6voRYlufqfFCvel8l1phuy8HRjdWc1rrPuN53ITBJlbyMSV6z3niOySO5pgQ==", - "dev": true + "integrity": "sha512-mky/O83TXmGY39P1H9YbUpjV6l6voRYlufqfFCvel8l1phuy8HRjdWc1rrPuN53ITBJlbyMSV6z3niOySO5pgQ==" }, "@types/figures": { "version": "3.0.1", @@ -2357,8 +2404,7 @@ "@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=", - "dev": true + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=" }, "@types/minimatch": { "version": "3.0.3", @@ -2369,8 +2415,7 @@ "@types/node": { "version": "14.14.7", "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-14.14.7.tgz", - "integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==", - "dev": true + "integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==" }, "@types/parcel-bundler": { "version": "1.12.1", @@ -2443,7 +2488,6 @@ "version": "2.0.36", "resolved": "https://verdaccio.lossless.one/@types%2fthrough2/-/through2-2.0.36.tgz", "integrity": "sha512-vuifQksQHJXhV9McpVsXKuhnf3lsoX70PnhcqIAbs9dqLH2NgrGz0DzZPDY3+Yh6eaRqcE1gnCQ6QhBn1/PT5A==", - "dev": true, "requires": { "@types/node": "*" } @@ -2551,7 +2595,6 @@ "version": "4.1.3", "resolved": "https://verdaccio.lossless.one/agentkeepalive/-/agentkeepalive-4.1.3.tgz", "integrity": "sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg==", - "dev": true, "requires": { "debug": "^4.1.0", "depd": "^1.1.2", @@ -2637,7 +2680,6 @@ "version": "1.0.10", "resolved": "https://verdaccio.lossless.one/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -2767,8 +2809,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://verdaccio.lossless.one/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "at-least-node": { "version": "1.0.0", @@ -2855,8 +2896,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -3019,7 +3059,6 @@ "version": "1.1.11", "resolved": "https://verdaccio.lossless.one/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3677,7 +3716,6 @@ "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" } @@ -3709,8 +3747,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://verdaccio.lossless.one/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -4299,7 +4336,6 @@ "version": "4.2.0", "resolved": "https://verdaccio.lossless.one/debug/-/debug-4.2.0.tgz", "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -4437,14 +4473,12 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "depd": { "version": "1.1.2", "resolved": "https://verdaccio.lossless.one/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { "version": "1.0.1", @@ -4832,8 +4866,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://verdaccio.lossless.one/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "estraverse": { "version": "4.3.0", @@ -5247,8 +5280,7 @@ "fast-json-stable-stringify": { "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==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -5402,7 +5434,6 @@ "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/form-data/-/form-data-3.0.0.tgz", "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5445,8 +5476,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.2.12", @@ -6068,7 +6098,6 @@ "version": "7.1.6", "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6144,8 +6173,7 @@ "graceful-fs": { "version": "4.2.4", "resolved": "https://verdaccio.lossless.one/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "grapheme-breaker": { "version": "0.3.2", @@ -6505,7 +6533,6 @@ "version": "1.2.1", "resolved": "https://verdaccio.lossless.one/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, "requires": { "ms": "^2.0.0" } @@ -6551,7 +6578,6 @@ "version": "1.0.6", "resolved": "https://verdaccio.lossless.one/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -6560,8 +6586,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://verdaccio.lossless.one/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ip": { "version": "1.1.5", @@ -6967,7 +6992,6 @@ "version": "3.14.0", "resolved": "https://verdaccio.lossless.one/js-yaml/-/js-yaml-3.14.0.tgz", "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7230,8 +7254,7 @@ "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://verdaccio.lossless.one/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.isarguments": { "version": "3.1.0", @@ -7459,14 +7482,12 @@ "mime-db": { "version": "1.44.0", "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { "version": "2.1.27", "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, "requires": { "mime-db": "1.44.0" } @@ -7505,7 +7526,6 @@ "version": "3.0.4", "resolved": "https://verdaccio.lossless.one/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7549,8 +7569,7 @@ "ms": { "version": "2.1.2", "resolved": "https://verdaccio.lossless.one/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stream": { "version": "0.0.8", @@ -7876,7 +7895,6 @@ "version": "1.4.0", "resolved": "https://verdaccio.lossless.one/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -8147,8 +8165,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://verdaccio.lossless.one/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "2.0.1", @@ -9100,7 +9117,6 @@ "version": "3.6.0", "resolved": "https://verdaccio.lossless.one/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -9530,8 +9546,7 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://verdaccio.lossless.one/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "1.1.0", @@ -9956,8 +9971,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://verdaccio.lossless.one/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "srcset": { "version": "3.0.0", @@ -10294,7 +10308,6 @@ "version": "1.3.0", "resolved": "https://verdaccio.lossless.one/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -10412,7 +10425,6 @@ "version": "3.0.2", "resolved": "https://verdaccio.lossless.one/through2/-/through2-3.0.2.tgz", "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "2 || 3" @@ -10899,8 +10911,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://verdaccio.lossless.one/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { "version": "1.0.1", @@ -11063,8 +11074,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://verdaccio.lossless.one/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { "version": "5.2.2", diff --git a/package.json b/package.json index 48c1073..a4f88c5 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,10 @@ "tslint": "^6.1.3", "tslint-config-prettier": "^1.15.0" }, - "dependencies": {}, + "dependencies": { + "@pushrocks/qenv": "^4.0.10", + "@pushrocks/smartrequest": "^1.1.51" + }, "browserslist": [ "last 1 chrome versions" ], diff --git a/test/test.ts b/test/test.ts index 144fb61..8c05e1e 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,8 +1,19 @@ import { expect, tap } from '@pushrocks/tapbundle'; import * as medium from '../ts/index'; +import {Qenv} from '@pushrocks/qenv'; + +const testQenv = new Qenv('./', './.nogit/'); +let testMediumAccount: medium.MediumAccount; + tap.test('first test', async () => { - console.log(medium.standardExport); + testMediumAccount = new medium.MediumAccount(testQenv.getEnvVarOnDemand('MEDIUM_API_TOKEN')); + expect(testMediumAccount).to.be.instanceOf(medium.MediumAccount); +}); + +tap.test('should get me info', async () => { + const result = await testMediumAccount.getUserInfo(); + // console.log(result); }); tap.start(); diff --git a/ts/index.ts b/ts/index.ts index 07333d8..8846825 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,3 +1 @@ -import * as plugins from './medium.plugins'; - -export let standardExport = 'Hi there! :) This is an exported string'; +export * from './medium.classes.mediumaccount'; diff --git a/ts/medium.classes.mediumaccount.ts b/ts/medium.classes.mediumaccount.ts new file mode 100644 index 0000000..9890db9 --- /dev/null +++ b/ts/medium.classes.mediumaccount.ts @@ -0,0 +1,43 @@ +import { MediumPublication } from './medium.classes.publication'; +import * as plugins from './medium.plugins'; + +/** + * + */ +export class MediumAccount { + public baseApiDomain = 'https://api.medium.com/v1'; + private accessToken: string; + + constructor(accessTokenArg: string) { + this.accessToken = accessTokenArg; + } + + public async getUserInfo(): Promise<{ + id: string, + username: string, + name: string, + url: string, + imageUrl: string + }> { + const result = await this.request('/me', 'GET'); + return result.body.data; + } + + public async getPublications(): Promise { + return MediumPublication.getPublications(this); + } + + public async request(routeArg: string, methodArg: string, payloadArg?: any) { + const response = await plugins.smartrequest.request(`${this.baseApiDomain}${routeArg}`, { + headers: { + Authorization: `Bearer ${this.accessToken}`, + 'Content-Type': 'application/json', + Accept: 'application/json', + 'Accept-Charset': 'utf-8', + }, + method: methodArg, + requestBody: payloadArg ? JSON.stringify(payloadArg) : null + }); + return response; + } +} diff --git a/ts/medium.classes.publication.ts b/ts/medium.classes.publication.ts new file mode 100644 index 0000000..9831213 --- /dev/null +++ b/ts/medium.classes.publication.ts @@ -0,0 +1,9 @@ +import { MediumAccount } from './medium.classes.mediumaccount'; +import * as plugins from './medium.plugins'; + +export class MediumPublication { + public static getPublications(mediumAccount: MediumAccount) { + const returnArray: MediumPublication[] = []; + return returnArray; + } +} \ No newline at end of file diff --git a/ts/medium.plugins.ts b/ts/medium.plugins.ts index 29aa9da..3dc2e1f 100644 --- a/ts/medium.plugins.ts +++ b/ts/medium.plugins.ts @@ -1,2 +1,5 @@ -const removeme = {}; -export { removeme }; +import * as smartrequest from '@pushrocks/smartrequest'; + +export { + smartrequest +};