diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..fff983043 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,7 @@ +{ + "extends": "eslint-config-streamr-ts", + "rules": { + "@typescript-eslint/ban-ts-comment": "warn", + "no-underscore-dangle": "warn" + } +} diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 7a82d59ec..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,64 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: [ - '@typescript-eslint' - ], - extends: [ - 'streamr-nodejs' - ], - parserOptions: { - ecmaVersion: 2020, - ecmaFeatures: { - modules: true - } - }, - env: { - browser: true, - es6: true - }, - rules: { - 'max-len': ['warn', { - code: 150 - }], - 'no-plusplus': ['error', { - allowForLoopAfterthoughts: true - }], - 'no-underscore-dangle': ['error', { - allowAfterThis: true - }], - 'padding-line-between-statements': [ - 'error', - { - blankLine: 'always', prev: 'if', next: 'if' - } - ], - 'prefer-destructuring': 'warn', - 'object-curly-newline': 'off', - 'no-continue': 'off', - 'max-classes-per-file': 'off', // javascript is not java - // TODO check all errors/warnings and create separate PR - 'promise/always-return': 'warn', - 'promise/catch-or-return': 'warn', - 'require-atomic-updates': 'warn', - 'promise/param-names': 'warn', - 'no-restricted-syntax': [ - 'error', 'ForInStatement', 'LabeledStatement', 'WithStatement' - ], - 'import/extensions': ['error', 'never', { json: 'always' }], - 'lines-between-class-members': 'off', - 'padded-blocks': 'off', - 'no-use-before-define': 'off', - 'import/order': 'off', - 'no-shadow': 'off', - '@typescript-eslint/no-shadow': 'error', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': ['error'], - }, - settings: { - 'import/resolver': { - node: { - extensions: ['.js', '.ts'] - } - } - } -} diff --git a/package-lock.json b/package-lock.json index 2eca49edd..94d8a53eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3180,12 +3180,6 @@ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, "@types/lodash": { "version": "4.14.168", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", @@ -3371,13 +3365,13 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz", - "integrity": "sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.1.tgz", + "integrity": "sha512-kVTAghWDDhsvQ602tHBc6WmQkdaYbkcTwZu+7l24jtJiYvm9l+/y/b2BZANEezxPDiX5MK2ZecE+9BFi/YJryw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.22.0", - "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/experimental-utils": "4.22.1", + "@typescript-eslint/scope-manager": "4.22.1", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "lodash": "^4.17.15", @@ -3398,55 +3392,55 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", - "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.1.tgz", + "integrity": "sha512-svYlHecSMCQGDO2qN1v477ax/IDQwWhc7PRBiwAdAMJE7GXk5stF4Z9R/8wbRkuX/5e9dHqbIWxjeOjckK3wLQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.22.0", - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/typescript-estree": "4.22.0", + "@typescript-eslint/scope-manager": "4.22.1", + "@typescript-eslint/types": "4.22.1", + "@typescript-eslint/typescript-estree": "4.22.1", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz", - "integrity": "sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.1.tgz", + "integrity": "sha512-l+sUJFInWhuMxA6rtirzjooh8cM/AATAe3amvIkqKFeMzkn85V+eLzb1RyuXkHak4dLfYzOmF6DXPyflJvjQnw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.22.0", - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/typescript-estree": "4.22.0", + "@typescript-eslint/scope-manager": "4.22.1", + "@typescript-eslint/types": "4.22.1", + "@typescript-eslint/typescript-estree": "4.22.1", "debug": "^4.1.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", - "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.1.tgz", + "integrity": "sha512-d5bAiPBiessSmNi8Amq/RuLslvcumxLmyhf1/Xa9IuaoFJ0YtshlJKxhlbY7l2JdEk3wS0EnmnfeJWSvADOe0g==", "dev": true, "requires": { - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/visitor-keys": "4.22.0" + "@typescript-eslint/types": "4.22.1", + "@typescript-eslint/visitor-keys": "4.22.1" } }, "@typescript-eslint/types": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", - "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.1.tgz", + "integrity": "sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", - "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.1.tgz", + "integrity": "sha512-p3We0pAPacT+onSGM+sPR+M9CblVqdA9F1JEdIqRVlxK5Qth4ochXQgIyb9daBomyQKAXbygxp1aXQRV0GC79A==", "dev": true, "requires": { - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/visitor-keys": "4.22.0", + "@typescript-eslint/types": "4.22.1", + "@typescript-eslint/visitor-keys": "4.22.1", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -3466,12 +3460,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", - "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.1.tgz", + "integrity": "sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ==", "dev": true, "requires": { - "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/types": "4.22.1", "eslint-visitor-keys": "^2.0.0" } }, @@ -3907,19 +3901,6 @@ "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", "dev": true }, - "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" - } - }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -3932,17 +3913,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -5325,23 +5295,11 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", - "dev": true - }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -6356,61 +6314,12 @@ } } }, - "eslint-config-airbnb": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", - "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", - "dev": true, - "requires": { - "eslint-config-airbnb-base": "^14.2.1", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - } - }, - "eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - } - }, - "eslint-config-streamr-nodejs": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-streamr-nodejs/-/eslint-config-streamr-nodejs-1.3.0.tgz", - "integrity": "sha512-UKnOTkb+vq6h5Bth0C/6TWHc9yVV1YXiMolgSkky92nXznFfGn92rukxqSrZMmGqqzQeEHWcWEUcmab2v2HImg==", + "eslint-config-streamr-ts": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-streamr-ts/-/eslint-config-streamr-ts-3.0.0.tgz", + "integrity": "sha512-BsozPFKWQbzwaBZudSA+NbcpjvTjSjf7B05ceivcK8IWTHoOebQiFNb0WvBZL5znG27hyctXPMcbBRZ00wo7oQ==", "dev": true }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, "eslint-loader": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", @@ -6437,143 +6346,10 @@ } } }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, "eslint-plugin-promise": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", - "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", + "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", "dev": true }, "eslint-scope": { @@ -6604,9 +6380,9 @@ } }, "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "espree": { @@ -8451,12 +8227,6 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -10367,26 +10137,6 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "loader-runner": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", @@ -10533,12 +10283,6 @@ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", "dev": true }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -11902,18 +11646,6 @@ "object-keys": "^1.1.1" } }, - "object.entries": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", - "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, "object.getownpropertydescriptors": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", @@ -11934,18 +11666,6 @@ "isobject": "^3.0.1" } }, - "object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - } - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -12791,95 +12511,6 @@ } } }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -14115,12 +13746,6 @@ } } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -14191,14 +13816,13 @@ "dev": true }, "table": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.6.0.tgz", - "integrity": "sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.0.tgz", + "integrity": "sha512-SAM+5p6V99gYiiy2gT5ArdzgM1dLDed0nkrWmG6Fry/bUS/m9x83BwpJUOf1Qj/x2qJd+thL6IkIx7qPGRxqBw==", "dev": true, "requires": { "ajv": "^8.0.1", "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0", @@ -14672,29 +14296,6 @@ "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==" }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, "tslib": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", diff --git a/package.json b/package.json index a8e2ae48e..87030d30f 100644 --- a/package.json +++ b/package.json @@ -95,8 +95,8 @@ "@types/sinon": "^9.0.11", "@types/uuid": "^8.3.0", "@types/ws": "^7.4.2", - "@typescript-eslint/eslint-plugin": "^4.22.0", - "@typescript-eslint/parser": "^4.22.0", + "@typescript-eslint/eslint-plugin": "^4.22.1", + "@typescript-eslint/parser": "^4.22.1", "babel-loader": "^8.2.2", "babel-plugin-add-module-exports": "^1.0.4", "babel-plugin-lodash": "^3.3.4", @@ -107,11 +107,9 @@ "core-js": "^3.11.0", "crypto-browserify": "^3.12.0", "eslint": "^7.25.0", - "eslint-config-airbnb": "^18.2.1", - "eslint-config-streamr-nodejs": "^1.3.0", + "eslint-config-streamr-ts": "^3.0.0", "eslint-loader": "^4.0.2", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-promise": "^5.1.0", "ethers": "^5.1.4", "express": "^4.17.1", "geckodriver": "^1.22.3", diff --git a/src/Connection.ts b/src/Connection.ts index 84bf7040a..e04a89b59 100644 --- a/src/Connection.ts +++ b/src/Connection.ts @@ -131,6 +131,7 @@ const STATE = { /* eslint-disable no-underscore-dangle, no-param-reassign */ function SocketConnector(connection: Connection) { + // eslint-disable-next-line prefer-const let next: Todo let socket: Todo let startedConnecting = false @@ -463,15 +464,13 @@ export default class Connection extends EventEmitter { this.isWaiting = true return new Promise((resolve, reject) => { - let onError: Todo - let onDone: Todo const onConnected = () => { this.off('done', onDone) this.off('error', onError) this.off('_error', onError) resolve(undefined) } - onDone = (err: Todo) => { + const onDone = (err: Todo) => { this.off('error', onError) this.off('_error', onError) this.off('connected', onConnected) @@ -481,7 +480,7 @@ export default class Connection extends EventEmitter { resolve(undefined) } } - onError = (err: Todo) => { + const onError = (err: Todo) => { this.off('done', onDone) this.off('connected', onConnected) reject(err) @@ -587,12 +586,11 @@ export default class Connection extends EventEmitter { } return new Promise((resolve, reject) => { - let onError: Todo const onDisconnected = () => { this.off('error', onError) resolve(undefined) } - onError = (err: Todo) => { + const onError = (err: Todo) => { this.off('disconnected', onDisconnected) reject(err) } @@ -768,7 +766,6 @@ export default class Connection extends EventEmitter { // @ts-expect-error onError, }) { - let onDoneHandler: Todo const cleanUp = async () => { this .off('connecting', onConnecting) @@ -781,7 +778,7 @@ export default class Connection extends EventEmitter { } } - onDoneHandler = async (...args: Todo[]) => { + const onDoneHandler = async (...args: Todo[]) => { // @ts-expect-error cleanUp(...args) // @ts-expect-error diff --git a/src/StreamrClient.ts b/src/StreamrClient.ts index 9a60cdb09..d30d20834 100644 --- a/src/StreamrClient.ts +++ b/src/StreamrClient.ts @@ -332,7 +332,7 @@ export class StreamrClient extends EventEmitter { // eslint-disable-line no-rede /** * @category Important */ - async publish(streamObjectOrId: StreamPartDefinition, content: object, timestamp?: number|string|Date, partitionKey?: string) { + async publish(streamObjectOrId: StreamPartDefinition, content: Record, timestamp?: number|string|Date, partitionKey?: string) { return this.publisher.publish(streamObjectOrId, content, timestamp, partitionKey) } diff --git a/src/dataunion/DataUnion.ts b/src/dataunion/DataUnion.ts index 229da06f0..baf3f3f73 100644 --- a/src/dataunion/DataUnion.ts +++ b/src/dataunion/DataUnion.ts @@ -161,7 +161,7 @@ export class DataUnion { * Get the tx promise for withdrawing all your earnings * @returns await on call .wait to actually send the tx */ - private async getWithdrawAllTx(sendToMainnet: boolean = true): Promise { + private async getWithdrawAllTx(sendToMainnet = true): Promise { const signer = await this.client.ethereum.getSidechainSigner() const address = await signer.getAddress() const duSidechain = await this.getContracts().getSidechainContract(this.contractAddress) @@ -202,7 +202,7 @@ export class DataUnion { * @param recipientAddress - the address to receive the tokens * @returns await on call .wait to actually send the tx */ - private async getWithdrawAllToTx(recipientAddress: EthereumAddress, sendToMainnet: boolean = true): Promise { + private async getWithdrawAllToTx(recipientAddress: EthereumAddress, sendToMainnet = true): Promise { const signer = await this.client.ethereum.getSidechainSigner() const address = await signer.getAddress() const duSidechain = await this.getContracts().getSidechainContract(this.contractAddress) @@ -363,7 +363,7 @@ export class DataUnion { /** * Add a new data union secret */ - async createSecret(name: string = 'Untitled Data Union Secret'): Promise { + async createSecret(name = 'Untitled Data Union Secret'): Promise { const url = getEndpointUrl(this.client.options.restUrl, 'dataunions', this.contractAddress, 'secrets') const res = await authFetch<{secret: string}>( url, @@ -433,7 +433,7 @@ export class DataUnion { * @param memberAddress - the other member who gets their tokens out of the Data Union * @returns await on call .wait to actually send the tx */ - private async getWithdrawAllToMemberTx(memberAddress: EthereumAddress, sendToMainnet: boolean = true): Promise { + private async getWithdrawAllToMemberTx(memberAddress: EthereumAddress, sendToMainnet = true): Promise { const a = getAddress(memberAddress) // throws if bad address const duSidechain = await this.getContracts().getSidechainContract(this.contractAddress) return duSidechain.withdrawAll(a, sendToMainnet) @@ -475,7 +475,7 @@ export class DataUnion { memberAddress: EthereumAddress, recipientAddress: EthereumAddress, signature: string, - sendToMainnet: boolean = true, + sendToMainnet = true, ) { const duSidechain = await this.getContracts().getSidechainContract(this.contractAddress) return duSidechain.withdrawAllToSigned(memberAddress, recipientAddress, sendToMainnet, signature) @@ -669,7 +669,7 @@ export class DataUnion { /** * @returns null if message was already transported, ELSE the mainnet AMB signature execution transaction receipt */ - async transportMessage(messageHash: AmbMessageHash, pollingIntervalMs: number = 1000, retryTimeoutMs: number = 300000) { + async transportMessage(messageHash: AmbMessageHash, pollingIntervalMs = 1000, retryTimeoutMs = 300000) { const helper = this.getContracts() const [sidechainAmb, mainnetAmb] = await Promise.all([ helper.getSidechainAmb(), diff --git a/src/rest/StreamEndpoints.ts b/src/rest/StreamEndpoints.ts index 5828e737f..41b11242d 100644 --- a/src/rest/StreamEndpoints.ts +++ b/src/rest/StreamEndpoints.ts @@ -271,7 +271,7 @@ export class StreamEndpoints { return result } - async publishHttp(streamObjectOrId: Stream|string, data: any, requestOptions: any = {}, keepAlive: boolean = true) { + async publishHttp(streamObjectOrId: Stream|string, data: any, requestOptions: any = {}, keepAlive = true) { let streamId if (streamObjectOrId instanceof Stream) { streamId = streamObjectOrId.id diff --git a/src/rest/authFetch.ts b/src/rest/authFetch.ts index f38acb6a2..fa89e1fc4 100644 --- a/src/rest/authFetch.ts +++ b/src/rest/authFetch.ts @@ -67,7 +67,7 @@ const debug = Debug('StreamrClient:utils:authfetch') // TODO: could use the debu let ID = 0 /** @internal */ -export default async function authFetch(url: string, session?: Session, opts?: any, requireNewToken = false): Promise { +export default async function authFetch(url: string, session?: Session, opts?: any, requireNewToken = false): Promise { ID += 1 const timeStart = Date.now() const id = ID diff --git a/src/stream/encryption/Encryption.ts b/src/stream/encryption/Encryption.ts index 1ef44fb27..1eeccb001 100644 --- a/src/stream/encryption/Encryption.ts +++ b/src/stream/encryption/Encryption.ts @@ -66,12 +66,7 @@ function GroupKeyObjectFromProps(data: GroupKeyProps | GroupKeyObject) { return data } -interface GroupKey extends GroupKeyObject {} - -export type GroupKeyish = GroupKey | GroupKeyObject | ConstructorParameters - -// eslint-disable-next-line no-redeclare -class GroupKey { +class GroupKey implements GroupKeyObject { static InvalidGroupKeyError = InvalidGroupKeyError static validate(maybeGroupKey: GroupKey) { @@ -130,7 +125,7 @@ class GroupKey { this.hex = Buffer.from(this.data).toString('hex') } - // eslint-disable-next-line no-extra-semi + // eslint-disable-next-line @typescript-eslint/no-extra-semi ;(this.constructor as typeof GroupKey).validate(this) } @@ -243,7 +238,7 @@ class EncryptionUtilBase { // These overrides tell ts outputInHex returns string static encryptWithPublicKey(plaintextBuffer: Uint8Array, publicKey: crypto.KeyLike): string static encryptWithPublicKey(plaintextBuffer: Uint8Array, publicKey: crypto.KeyLike, outputInHex: false): Buffer - static encryptWithPublicKey(plaintextBuffer: Uint8Array, publicKey: crypto.KeyLike, outputInHex: boolean = false) { + static encryptWithPublicKey(plaintextBuffer: Uint8Array, publicKey: crypto.KeyLike, outputInHex = false) { this.validatePublicKey(publicKey) const ciphertextBuffer = crypto.publicEncrypt(publicKey, plaintextBuffer) if (outputInHex) { @@ -373,7 +368,7 @@ export default class EncryptionUtil extends EncryptionUtilBase { constructor(options: { privateKey: string, publicKey: string, - } | {} = {}) { + } | Record = {}) { super() if ('privateKey' in options && 'publicKey' in options) { EncryptionUtil.validatePrivateKey(options.privateKey) diff --git a/src/stream/encryption/KeyExchangeSubscriber.ts b/src/stream/encryption/KeyExchangeSubscriber.ts index 209b1ccbd..22d40a1bd 100644 --- a/src/stream/encryption/KeyExchangeSubscriber.ts +++ b/src/stream/encryption/KeyExchangeSubscriber.ts @@ -54,7 +54,6 @@ async function SubscriberKeyExhangeSubscription( getGroupKeyStore: (streamId: string) => Promise, encryptionUtil: EncryptionUtil ) { - let sub: Subscription async function onKeyExchangeMessage(_parsedContent: any, streamMessage: StreamMessage) { try { const { messageType } = streamMessage @@ -73,7 +72,7 @@ async function SubscriberKeyExhangeSubscription( } } - sub = await subscribeToKeyExchangeStream(client, onKeyExchangeMessage) + const sub = await subscribeToKeyExchangeStream(client, onKeyExchangeMessage) sub.on('error', () => {}) // errors should not shut down subscription return sub } diff --git a/src/stream/index.ts b/src/stream/index.ts index d48507947..821ab5fcb 100644 --- a/src/stream/index.ts +++ b/src/stream/index.ts @@ -281,7 +281,7 @@ export class Stream { return json.map((item: any) => new StorageNode(item.storageNodeAddress)) } - async publish(content: object, timestamp?: number|string|Date, partitionKey?: string) { + async publish(content: Record, timestamp?: number|string|Date, partitionKey?: string) { return this._client.publish(this.id, content, timestamp, partitionKey) } } diff --git a/src/stream/utils.ts b/src/stream/utils.ts index 5ba2f0cc4..dc9528e9e 100644 --- a/src/stream/utils.ts +++ b/src/stream/utils.ts @@ -110,7 +110,11 @@ export async function waitForMatchingMessage({ return false } } - let onDisconnected: Todo + const onDisconnected = () => { + cleanup() + // @ts-expect-error + resolve() // noop + } const onResponse = (res: Todo) => { if (!tryMatch(res)) { return } // clean up err handler @@ -143,12 +147,6 @@ export async function waitForMatchingMessage({ connection.on(ControlMessage.TYPES.ErrorResponse, onErrorResponse) - onDisconnected = () => { - cleanup() - // @ts-expect-error - resolve() // noop - } - connection.once('disconnected', onDisconnected) }) diff --git a/src/subscribe/index.ts b/src/subscribe/index.ts index 2e7fa5c5b..5d88673ce 100644 --- a/src/subscribe/index.ts +++ b/src/subscribe/index.ts @@ -657,6 +657,7 @@ export class Subscriber { } } + // eslint-disable-next-line prefer-const let resendSubscribeSub: Todo let lastResentMsgId: Todo diff --git a/src/utils/PushQueue.ts b/src/utils/PushQueue.ts index 22c0a90e3..772b26cff 100644 --- a/src/utils/PushQueue.ts +++ b/src/utils/PushQueue.ts @@ -81,7 +81,7 @@ export default class PushQueue { error?: Error// queued error nextQueue: (ReturnType)[] = [] // queued promises for next() finished = false - pending: number = 0 + pending = 0 ended = false _onEnd: PushQueueOptions['onEnd'] _onEndCalled = false @@ -196,7 +196,7 @@ export default class PushQueue { return this.throw(new AbortError()) } - async next(...args:[] | [unknown]) { + async next(...args: [] | [unknown]) { return this.iterator.next(...args) } diff --git a/src/utils/index.ts b/src/utils/index.ts index e8c879dd1..7015c2f9c 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -96,12 +96,11 @@ export function getVersionString() { export function waitFor(emitter: EventEmitter, event: Parameters[0]) { return new Promise((resolve, reject) => { - let onError: (error: Error) => void const onEvent = (value: any) => { emitter.off('error', onError) resolve(value) } - onError = (error) => { + const onError: (error: Error) => void = (error) => { emitter.off(event, onEvent) reject(error) } @@ -522,7 +521,7 @@ export async function allSettledValues(items: Parameters (v as PromiseFulfilledResult).value) } -export async function sleep(ms: number = 0) { +export async function sleep(ms = 0) { return new Promise((resolve) => { setTimeout(resolve, ms) }) diff --git a/test/benchmarks/publish.js b/test/benchmarks/publish.js index 131cca6b4..8fa8f751f 100644 --- a/test/benchmarks/publish.js +++ b/test/benchmarks/publish.js @@ -1,7 +1,6 @@ const { format } = require('util') const { Benchmark } = require('benchmark') -// eslint-disable-next-line import/no-unresolved const StreamrClient = require('../../dist') const config = require('../integration/config') diff --git a/test/benchmarks/subscribe.js b/test/benchmarks/subscribe.js index afbb911ef..72ec3aa6a 100644 --- a/test/benchmarks/subscribe.js +++ b/test/benchmarks/subscribe.js @@ -1,7 +1,6 @@ const { format } = require('util') const { Benchmark } = require('benchmark') -// eslint-disable-next-line import/no-unresolved const StreamrClient = require('../../dist') const config = require('../integration/config') diff --git a/test/integration/StreamrClientConnection.test.ts b/test/integration/StreamrClientConnection.test.ts index 5cbc061d9..9dd5d4501 100644 --- a/test/integration/StreamrClientConnection.test.ts +++ b/test/integration/StreamrClientConnection.test.ts @@ -10,6 +10,7 @@ import { StorageNode } from '../../src/stream/StorageNode' import config from './config' +// eslint-disable-next-line @typescript-eslint/no-var-requires const WebSocket = require('ws') const { SubscribeRequest, UnsubscribeRequest, ResendLastRequest } = ControlLayer diff --git a/test/utils.ts b/test/utils.ts index 3ed8a4d77..818ec4170 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -8,7 +8,9 @@ import type { StreamPartDefinitionOptions } from '../src/stream' import { StreamrClient } from '../src/StreamrClient' import { PublishRequest } from 'streamr-client-protocol/dist/src/protocol/control_layer' +// eslint-disable-next-line @typescript-eslint/no-var-requires const crypto = require('crypto') +// eslint-disable-next-line @typescript-eslint/no-var-requires const config = require('./integration/config') export const uid = (prefix?: string) => counterId(`p${process.pid}${prefix ? '-' + prefix : ''}`)