diff --git a/package-lock.json b/package-lock.json index 0ed9b16f..37d7f4d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,20 +29,18 @@ "@semantic-release/github": "^8.0.6", "@semantic-release/npm": "^9.0.2", "@semantic-release/release-notes-generator": "^10.0.3", - "@tada5hi/eslint-config-typescript": "^1.1.1", - "@types/glob": "^8.0.1", + "@tada5hi/eslint-config-typescript": "^1.1.2", + "@tada5hi/tsconfig": "^0.4.0", "@types/jest": "^27.5.0", "@types/node": "^18.11.18", "@types/yargs": "^17.0.22", "better-sqlite3": "^8.0.1", - "coveralls": "^3.1.0", "cross-env": "^7.0.3", - "eslint": "^8.33.0", + "eslint": "^8.34.0", "husky": "^8.0.3", "jest": "^27.5.1", "semantic-release": "^19.0.5", "ts-jest": "^27.1.4", - "ts-node": "^10.9.1", "typeorm": "^0.3.11", "typescript": "^4.9.5", "vitepress": "^1.0.0-alpha.46", @@ -2595,9 +2593,9 @@ "dev": true }, "node_modules/@tada5hi/eslint-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config/-/eslint-config-1.1.1.tgz", - "integrity": "sha512-lyBSGfRtSK9TgJu0llTNSmARCmnVB4YaCjkosD1BlvN2ec4XdYNucjmWI/gtN5k27fsIPjTsuBhaWPqEwZpL8g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config/-/eslint-config-1.1.2.tgz", + "integrity": "sha512-kk933IJXnQHnQpbb1QfDJ7SpqGg5p3UIhwiluATXoeGO9ihV4Ar4yDIYfh5PqiVAOwibrKkCsK6uzdXRIJunzQ==", "dev": true, "dependencies": { "eslint-config-airbnb-base": "^15.0.0", @@ -2610,18 +2608,24 @@ } }, "node_modules/@tada5hi/eslint-config-typescript": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config-typescript/-/eslint-config-typescript-1.1.1.tgz", - "integrity": "sha512-5555AKAeg233Y/MCe1u1zpG/qjpVsnPrmrLdKelaCZQ/+5FYhv8QyPsJok+oG7h52pvSgbsLaUR3riesBBfStQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config-typescript/-/eslint-config-typescript-1.1.2.tgz", + "integrity": "sha512-LEzAKC3idBoufHw512YJwD7gto7Ch3IaIvDZBdHjOTV0vzVIJVpLpVk4+PlGvj03nBRcVA2tubB/4BvSIedEeA==", "dev": true, "dependencies": { - "@tada5hi/eslint-config": "^1.1.1", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", + "@tada5hi/eslint-config": "^1.1.2", + "@typescript-eslint/eslint-plugin": "^5.51.0", + "@typescript-eslint/parser": "^5.51.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.3" } }, + "node_modules/@tada5hi/tsconfig": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@tada5hi/tsconfig/-/tsconfig-0.4.0.tgz", + "integrity": "sha512-9aLpJp5z43p3aCpPc+7J+RA5qfhWNx+JD6RXrQnPD3fz1SkL+LxRPZENiQfkX/ZlWIiHLMZzkowDqadAjikQpQ==", + "dev": true + }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -2696,16 +2700,6 @@ "@babel/types": "^7.3.0" } }, - "node_modules/@types/glob": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.1.tgz", - "integrity": "sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==", - "dev": true, - "dependencies": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" - } - }, "node_modules/@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -2761,12 +2755,6 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, "node_modules/@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -2837,15 +2825,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", - "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz", + "integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/type-utils": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/scope-manager": "5.52.0", + "@typescript-eslint/type-utils": "5.52.0", + "@typescript-eslint/utils": "5.52.0", "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", @@ -2885,14 +2874,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", - "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz", + "integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.52.0", + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/typescript-estree": "5.52.0", "debug": "^4.3.4" }, "engines": { @@ -2912,13 +2901,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", - "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz", + "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0" + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/visitor-keys": "5.52.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2929,13 +2918,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", - "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz", + "integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/typescript-estree": "5.52.0", + "@typescript-eslint/utils": "5.52.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2956,9 +2945,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", - "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz", + "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2969,13 +2958,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", - "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz", + "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/visitor-keys": "5.52.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3011,16 +3000,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", - "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz", + "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.52.0", + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/typescript-estree": "5.52.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -3052,12 +3041,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", - "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz", + "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/types": "5.52.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3610,24 +3599,6 @@ "node": ">=0.10.0" } }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3656,21 +3627,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "node_modules/babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -3788,15 +3744,6 @@ } ] }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/before-after-hook": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", @@ -4067,12 +4014,6 @@ "cdl": "bin/cdl.js" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4597,25 +4538,6 @@ "typescript": ">=3" } }, - "node_modules/coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", - "dev": true, - "dependencies": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - }, - "bin": { - "coveralls": "bin/coveralls.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -4801,18 +4723,6 @@ "node": ">=8" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -5130,16 +5040,6 @@ "resolved": "https://registry.npmjs.org/smob/-/smob-0.1.0.tgz", "integrity": "sha512-u6ezVF7hN3AxA1onkbMsl46XZr1HYrtMksmckSVpkLI8bYJ5I34kHMvDZk8qNCfA0y54VnhWqCoU6DQMMStzpw==" }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/electron-to-chromium": { "version": "1.3.878", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.878.tgz", @@ -5375,9 +5275,9 @@ } }, "node_modules/eslint": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", - "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", + "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.4.1", @@ -6114,12 +6014,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -6135,15 +6029,6 @@ "node": ">=4" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6340,15 +6225,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -6614,15 +6490,6 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -6876,29 +6743,6 @@ "uglify-js": "^3.1.4" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -7058,21 +6902,6 @@ "node": ">= 6" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", @@ -7728,12 +7557,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "node_modules/issue-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", @@ -8556,12 +8379,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "node_modules/jsdom": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", @@ -8632,12 +8449,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -8723,21 +8534,6 @@ "node": "*" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -8756,15 +8552,6 @@ "node": ">=6" } }, - "node_modules/lcov-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", - "dev": true, - "bin": { - "lcov-parse": "bin/cli.js" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -8961,15 +8748,6 @@ "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", "dev": true }, - "node_modules/log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true, - "engines": { - "node": ">=0.8.6" - } - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -12126,15 +11904,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -12514,12 +12283,6 @@ "node": ">=8" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -12804,15 +12567,6 @@ "teleport": ">=0.2.0" } }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -13060,65 +12814,6 @@ "node": ">=14" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/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, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -13877,31 +13572,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stack-utils": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", @@ -14590,12 +14260,6 @@ "node": "*" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -14921,16 +14585,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -14970,20 +14624,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/vite": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz", @@ -17283,9 +16923,9 @@ "dev": true }, "@tada5hi/eslint-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config/-/eslint-config-1.1.1.tgz", - "integrity": "sha512-lyBSGfRtSK9TgJu0llTNSmARCmnVB4YaCjkosD1BlvN2ec4XdYNucjmWI/gtN5k27fsIPjTsuBhaWPqEwZpL8g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config/-/eslint-config-1.1.2.tgz", + "integrity": "sha512-kk933IJXnQHnQpbb1QfDJ7SpqGg5p3UIhwiluATXoeGO9ihV4Ar4yDIYfh5PqiVAOwibrKkCsK6uzdXRIJunzQ==", "dev": true, "requires": { "eslint-config-airbnb-base": "^15.0.0", @@ -17295,18 +16935,24 @@ } }, "@tada5hi/eslint-config-typescript": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config-typescript/-/eslint-config-typescript-1.1.1.tgz", - "integrity": "sha512-5555AKAeg233Y/MCe1u1zpG/qjpVsnPrmrLdKelaCZQ/+5FYhv8QyPsJok+oG7h52pvSgbsLaUR3riesBBfStQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tada5hi/eslint-config-typescript/-/eslint-config-typescript-1.1.2.tgz", + "integrity": "sha512-LEzAKC3idBoufHw512YJwD7gto7Ch3IaIvDZBdHjOTV0vzVIJVpLpVk4+PlGvj03nBRcVA2tubB/4BvSIedEeA==", "dev": true, "requires": { - "@tada5hi/eslint-config": "^1.1.1", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", + "@tada5hi/eslint-config": "^1.1.2", + "@typescript-eslint/eslint-plugin": "^5.51.0", + "@typescript-eslint/parser": "^5.51.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.3" } }, + "@tada5hi/tsconfig": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@tada5hi/tsconfig/-/tsconfig-0.4.0.tgz", + "integrity": "sha512-9aLpJp5z43p3aCpPc+7J+RA5qfhWNx+JD6RXrQnPD3fz1SkL+LxRPZENiQfkX/ZlWIiHLMZzkowDqadAjikQpQ==", + "dev": true + }, "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -17378,16 +17024,6 @@ "@babel/types": "^7.3.0" } }, - "@types/glob": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.1.tgz", - "integrity": "sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==", - "dev": true, - "requires": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" - } - }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -17443,12 +17079,6 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, "@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -17519,15 +17149,16 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", - "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz", + "integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/type-utils": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/scope-manager": "5.52.0", + "@typescript-eslint/type-utils": "5.52.0", + "@typescript-eslint/utils": "5.52.0", "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", @@ -17547,53 +17178,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", - "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz", + "integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.52.0", + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/typescript-estree": "5.52.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", - "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz", + "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0" + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/visitor-keys": "5.52.0" } }, "@typescript-eslint/type-utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", - "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz", + "integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/typescript-estree": "5.52.0", + "@typescript-eslint/utils": "5.52.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", - "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz", + "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", - "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz", + "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/visitor-keys": "5.52.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -17613,16 +17244,16 @@ } }, "@typescript-eslint/utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", - "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz", + "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.52.0", + "@typescript-eslint/types": "5.52.0", + "@typescript-eslint/typescript-estree": "5.52.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -17640,12 +17271,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", - "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz", + "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/types": "5.52.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -18068,21 +17699,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -18102,18 +17718,6 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -18196,15 +17800,6 @@ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "before-after-hook": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", @@ -18404,12 +17999,6 @@ "redeyed": "~2.1.0" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -18819,19 +18408,6 @@ "dev": true, "requires": {} }, - "coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", - "dev": true, - "requires": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - } - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -18980,15 +18556,6 @@ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -19232,16 +18799,6 @@ } } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "electron-to-chromium": { "version": "1.3.878", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.878.tgz", @@ -19425,9 +18982,9 @@ } }, "eslint": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", - "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", + "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", "dev": true, "requires": { "@eslint/eslintrc": "^1.4.1", @@ -19956,12 +19513,6 @@ "jest-message-util": "^27.5.1" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -19974,12 +19525,6 @@ "tmp": "^0.0.33" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -20145,12 +19690,6 @@ "is-callable": "^1.1.3" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -20342,15 +19881,6 @@ "integrity": "sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -20557,22 +20087,6 @@ "wordwrap": "^1.0.0" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -20684,17 +20198,6 @@ "debug": "4" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, "https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", @@ -21145,12 +20648,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "issue-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", @@ -21793,12 +21290,6 @@ "esprima": "^4.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "jsdom": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", @@ -21852,12 +21343,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -21925,18 +21410,6 @@ "through": ">=2.2.7 <3" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -21949,12 +21422,6 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "lcov-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", - "dev": true - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -22135,12 +21602,6 @@ "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", "dev": true }, - "log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true - }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -24377,12 +23838,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -24653,12 +24108,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -24866,12 +24315,6 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -25065,57 +24508,6 @@ "@pnpm/npm-conf": "^1.0.4" } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "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": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -25685,23 +25077,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "stack-utils": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", @@ -26218,12 +25593,6 @@ "safe-buffer": "^5.0.1" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -26406,12 +25775,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, "v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -26447,17 +25810,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "vite": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz", diff --git a/package.json b/package.json index 06580bd3..1ebe5e0d 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,9 @@ "files": [ "dist/" ], + "engines": { + "node": ">=14.0.0" + }, "scripts": { "build": "rm -rf ./dist && tsc", "build:watch": "npm run build -- --watch", @@ -67,20 +70,18 @@ "@semantic-release/github": "^8.0.6", "@semantic-release/npm": "^9.0.2", "@semantic-release/release-notes-generator": "^10.0.3", - "@tada5hi/eslint-config-typescript": "^1.1.1", - "@types/glob": "^8.0.1", + "@tada5hi/eslint-config-typescript": "^1.1.2", + "@tada5hi/tsconfig": "^0.4.0", "@types/jest": "^27.5.0", "@types/node": "^18.11.18", "@types/yargs": "^17.0.22", "better-sqlite3": "^8.0.1", - "coveralls": "^3.1.0", "cross-env": "^7.0.3", - "eslint": "^8.33.0", + "eslint": "^8.34.0", "husky": "^8.0.3", "jest": "^27.5.1", "semantic-release": "^19.0.5", "ts-jest": "^27.1.4", - "ts-node": "^10.9.1", "typeorm": "^0.3.11", "typescript": "^4.9.5", "vitepress": "^1.0.0-alpha.46", diff --git a/src/data-source/options/singleton.ts b/src/data-source/options/singleton.ts index f1d41f45..a501d1c5 100644 --- a/src/data-source/options/singleton.ts +++ b/src/data-source/options/singleton.ts @@ -8,14 +8,11 @@ export function setDataSourceOptions( options: DataSourceOptions, alias?: string, ) { - alias = alias || 'default'; - instances[alias] = options; + instances[alias || 'default'] = options; } export function hasDataSourceOptions(alias?: string) : boolean { - alias = alias || 'default'; - - return Object.prototype.hasOwnProperty.call(instances, alias); + return Object.prototype.hasOwnProperty.call(instances, alias || 'default'); } export async function useDataSourceOptions(alias?: string) : Promise { @@ -29,7 +26,9 @@ export async function useDataSourceOptions(alias?: string) : Promise { - delete instancePromises[alias]; + if (alias) { + delete instancePromises[alias]; + } throw e; }); diff --git a/src/data-source/singleton.ts b/src/data-source/singleton.ts index 1f0689cd..368cc1dc 100644 --- a/src/data-source/singleton.ts +++ b/src/data-source/singleton.ts @@ -48,7 +48,9 @@ export async function useDataSource(alias?: string) : Promise { if (!Object.prototype.hasOwnProperty.call(initializePromises, alias)) { initializePromises[alias] = instances[alias].initialize() .catch((e) => { - delete initializePromises[alias]; + if (alias) { + delete initializePromises[alias]; + } throw e; }); @@ -64,7 +66,9 @@ export async function useDataSource(alias?: string) : Promise { if (!Object.prototype.hasOwnProperty.call(optionsPromises, alias)) { optionsPromises[alias] = useDataSourceOptions(alias) .catch((e) => { - delete optionsPromises[alias]; + if (alias) { + delete optionsPromises[alias]; + } throw e; }); @@ -78,7 +82,9 @@ export async function useDataSource(alias?: string) : Promise { if (!Object.prototype.hasOwnProperty.call(initializePromises, alias)) { initializePromises[alias] = dataSource.initialize() .catch((e) => { - delete initializePromises[alias]; + if (alias) { + delete initializePromises[alias]; + } throw e; }); diff --git a/src/database/create.ts b/src/database/create.ts index 562209bc..4410f5c2 100644 --- a/src/database/create.ts +++ b/src/database/create.ts @@ -1,3 +1,4 @@ +import { DriverError, OptionsError } from '../errors'; import { DatabaseCreateContext, } from './type'; @@ -9,21 +10,25 @@ import { createPostgresDatabase, createSQLiteDatabase, } from './driver'; -import { NotSupportedDriver } from './error'; import { buildDatabaseCreateContext } from './utils'; /** * Create database for specified driver in ConnectionOptions. * - * @throws NotSupportedDriver + * @throws DriverError + * @throws OptionsError * * @param context */ export async function createDatabase(context?: DatabaseCreateContext) { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } + if (!context.options.type) { - throw new NotSupportedDriver(context.options.type); + throw DriverError.undeterminable(); } switch (context.options.type) { @@ -43,5 +48,5 @@ export async function createDatabase(context?: DatabaseCreateContext) { return createMsSQLDatabase(context); } - throw new NotSupportedDriver(context.options.type); + throw DriverError.notSupported(context.options.type); } diff --git a/src/database/driver/cockroachdb.ts b/src/database/driver/cockroachdb.ts index 28691810..9652e950 100644 --- a/src/database/driver/cockroachdb.ts +++ b/src/database/driver/cockroachdb.ts @@ -1,4 +1,5 @@ import { CockroachDriver } from 'typeorm/driver/cockroachdb/CockroachDriver'; +import { OptionsError } from '../../errors'; import { DatabaseCreateContext, DatabaseDropContext } from '../type'; import { createSimplePostgresConnection } from './postgres'; import { buildDriverOptions, createDriver } from './utils'; @@ -24,6 +25,9 @@ export async function createCockroachDBDatabase( context?: DatabaseCreateContext, ) { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as CockroachDriver; @@ -51,6 +55,9 @@ export async function dropCockroachDBDatabase( context?: DatabaseDropContext, ) { context = await buildDatabaseDropContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as CockroachDriver; diff --git a/src/database/driver/mssql.ts b/src/database/driver/mssql.ts index ffbf7b19..62266df5 100644 --- a/src/database/driver/mssql.ts +++ b/src/database/driver/mssql.ts @@ -1,4 +1,5 @@ import { SqlServerDriver } from 'typeorm/driver/sqlserver/SqlServerDriver'; +import { OptionsError } from '../../errors'; import { DatabaseCreateContext, DatabaseDropContext } from '../type'; import { DriverOptions } from './type'; import { buildDriverOptions, createDriver } from './utils'; @@ -26,6 +27,9 @@ export async function createMsSQLDatabase( context?: DatabaseCreateContext, ) { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as SqlServerDriver; @@ -55,6 +59,9 @@ export async function dropMsSQLDatabase( context?: DatabaseDropContext, ) { context = await buildDatabaseDropContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as SqlServerDriver; diff --git a/src/database/driver/mysql.ts b/src/database/driver/mysql.ts index 403f8c08..419a7f55 100644 --- a/src/database/driver/mysql.ts +++ b/src/database/driver/mysql.ts @@ -1,4 +1,5 @@ import { MysqlDriver } from 'typeorm/driver/mysql/MysqlDriver'; +import { OptionsError } from '../../errors'; import { DatabaseCreateContext, DatabaseDropContext } from '../type'; import { DriverOptions } from './type'; import { buildDriverOptions, createDriver } from './utils'; @@ -43,6 +44,9 @@ export async function createMySQLDatabase( context?: DatabaseCreateContext, ) { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as MysqlDriver; @@ -85,6 +89,9 @@ export async function dropMySQLDatabase( context?: DatabaseDropContext, ) { context = await buildDatabaseDropContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as MysqlDriver; diff --git a/src/database/driver/oracle.ts b/src/database/driver/oracle.ts index ca22f6ee..bc9f5c2f 100644 --- a/src/database/driver/oracle.ts +++ b/src/database/driver/oracle.ts @@ -1,4 +1,5 @@ import { OracleDriver } from 'typeorm/driver/oracle/OracleDriver'; +import { OptionsError } from '../../errors'; import { DatabaseCreateContext, DatabaseDropContext } from '../type'; import { DriverOptions } from './type'; import { buildDriverOptions, createDriver } from './utils'; @@ -46,6 +47,9 @@ export async function createOracleDatabase( context?: DatabaseCreateContext, ) { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as OracleDriver; @@ -66,7 +70,7 @@ export async function createOracleDatabase( } export async function dropOracleDatabase( - context?: DatabaseDropContext, + _context?: DatabaseDropContext, ) { /** * @link https://github.com/typeorm/typeorm/blob/master/src/driver/oracle/OracleQueryRunner.ts#L295 diff --git a/src/database/driver/postgres.ts b/src/database/driver/postgres.ts index 980de6c4..78199bba 100644 --- a/src/database/driver/postgres.ts +++ b/src/database/driver/postgres.ts @@ -1,5 +1,7 @@ +import { isObject } from 'locter'; import { PostgresDriver } from 'typeorm/driver/postgres/PostgresDriver'; import { CockroachDriver } from 'typeorm/driver/cockroachdb/CockroachDriver'; +import { OptionsError } from '../../errors'; import { DatabaseBaseContext, DatabaseCreateContext, DatabaseDropContext } from '../type'; import { hasOwnProperty } from '../../utils'; import { DriverOptions } from './type'; @@ -56,6 +58,9 @@ export async function createPostgresDatabase( context?: DatabaseCreateContext, ) { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as PostgresDriver; @@ -67,7 +72,7 @@ export async function createPostgresDatabase( const existResult = await executeSimplePostgresQuery(connection, existQuery, false); if ( - typeof existResult === 'object' && + isObject(existResult) && hasOwnProperty(existResult, 'rows') && Array.isArray(existResult.rows) && existResult.rows.length > 0 @@ -99,6 +104,9 @@ export async function dropPostgresDatabase( context?: DatabaseDropContext, ) { context = await buildDatabaseDropContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } const options = buildDriverOptions(context.options); const driver = createDriver(context.options) as PostgresDriver; diff --git a/src/database/driver/sqlite.ts b/src/database/driver/sqlite.ts index b4d30b27..b78c9c92 100644 --- a/src/database/driver/sqlite.ts +++ b/src/database/driver/sqlite.ts @@ -1,5 +1,6 @@ import path from 'path'; import fs from 'fs'; +import { OptionsError } from '../../errors'; import { DatabaseCreateContext, DatabaseDropContext } from '../type'; import { buildDriverOptions } from './utils'; import { buildDatabaseCreateContext, buildDatabaseDropContext, setupDatabaseSchema } from '../utils'; @@ -9,7 +10,14 @@ export async function createSQLiteDatabase( ) : Promise { context = await buildDatabaseCreateContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } + const options = buildDriverOptions(context.options); + if (!options.database) { + throw OptionsError.databaseNotDefined(); + } const filePath : string = path.isAbsolute(options.database) ? options.database : @@ -29,7 +37,14 @@ export async function dropSQLiteDatabase( ) { context = await buildDatabaseDropContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } + const options = buildDriverOptions(context.options); + if (!options.database) { + throw OptionsError.databaseNotDefined(); + } const filePath : string = path.isAbsolute(options.database) ? options.database : diff --git a/src/database/drop.ts b/src/database/drop.ts index 6a9bf13e..087124a8 100644 --- a/src/database/drop.ts +++ b/src/database/drop.ts @@ -1,3 +1,4 @@ +import { DriverError, OptionsError } from '../errors'; import { DatabaseDropContext, } from './type'; @@ -9,21 +10,25 @@ import { dropPostgresDatabase, dropSQLiteDatabase, } from './driver'; -import { NotSupportedDriver } from './error'; import { buildDatabaseDropContext } from './utils'; /** * Drop database for specified driver in ConnectionOptions. * - * @throws NotSupportedDriver + * @throws DriverError + * @throws OptionsError * * @param context */ export async function dropDatabase(context?: DatabaseDropContext) { context = await buildDatabaseDropContext(context); + if (!context.options) { + throw OptionsError.undeterminable(); + } + if (!context.options.type) { - throw new NotSupportedDriver(context.options.type); + throw DriverError.undeterminable(); } switch (context.options.type) { @@ -43,5 +48,5 @@ export async function dropDatabase(context?: DatabaseDropContext) { return dropMsSQLDatabase(context); } - throw new NotSupportedDriver(context.options.type); + throw DriverError.notSupported(context.options.type); } diff --git a/src/database/error.ts b/src/database/error.ts deleted file mode 100644 index e6db2ea2..00000000 --- a/src/database/error.ts +++ /dev/null @@ -1,5 +0,0 @@ -export class NotSupportedDriver extends Error { - constructor(driverName: string) { - super(`The driver ${driverName} is not supported yet.`); - } -} diff --git a/src/database/index.ts b/src/database/index.ts index a80174b6..2c54558c 100644 --- a/src/database/index.ts +++ b/src/database/index.ts @@ -1,4 +1,3 @@ -export * from './error'; export * from './check'; export * from './create'; export * from './driver'; diff --git a/src/database/utils/context.ts b/src/database/utils/context.ts index f6371300..f82b6a7c 100644 --- a/src/database/utils/context.ts +++ b/src/database/utils/context.ts @@ -19,10 +19,7 @@ async function setDatabaseContextOptions(context: synchronize: false, migrationsRun: false, dropSchema: false, - logging: [ - ...(process.env.NODE_ENV !== 'test' ? ['query', 'error', 'schema'] : []), - ], - } as DataSourceOptions); + } satisfies Partial); return context; } diff --git a/src/database/utils/query.ts b/src/database/utils/query.ts index 040f67ca..9555c526 100644 --- a/src/database/utils/query.ts +++ b/src/database/utils/query.ts @@ -1,6 +1,7 @@ /* istanbul ignore next */ +import { ObjectLiteral } from 'rapiq'; import { SelectQueryBuilder } from 'typeorm'; -export function existsQuery(builder: SelectQueryBuilder, inverse = false) { +export function existsQuery(builder: SelectQueryBuilder, inverse = false) { return `${inverse ? 'not ' : ''}exists (${builder.getQuery()})`; } diff --git a/src/errors/base.ts b/src/errors/base.ts new file mode 100644 index 00000000..6f186f5b --- /dev/null +++ b/src/errors/base.ts @@ -0,0 +1,3 @@ +export class TypeormExtensionError extends Error { + +} diff --git a/src/errors/driver.ts b/src/errors/driver.ts new file mode 100644 index 00000000..5c3b156c --- /dev/null +++ b/src/errors/driver.ts @@ -0,0 +1,15 @@ +import { TypeormExtensionError } from './base'; + +export class DriverError extends TypeormExtensionError { + constructor(message?: string) { + super(message || 'A database driver related error has occurred.'); + } + + static undeterminable() { + return new DriverError('The driver could not be determined.'); + } + + static notSupported(driverName: string) { + return new DriverError(`The driver ${driverName} is not supported yet.`); + } +} diff --git a/src/errors/index.ts b/src/errors/index.ts new file mode 100644 index 00000000..1ae89236 --- /dev/null +++ b/src/errors/index.ts @@ -0,0 +1,3 @@ +export * from './base'; +export * from './driver'; +export * from './options'; diff --git a/src/errors/options.ts b/src/errors/options.ts new file mode 100644 index 00000000..141442e6 --- /dev/null +++ b/src/errors/options.ts @@ -0,0 +1,15 @@ +import { TypeormExtensionError } from './base'; + +export class OptionsError extends TypeormExtensionError { + constructor(message?: string) { + super(message || 'A database options related error has occurred'); + } + + static undeterminable() { + return new OptionsError('The database options could not be determined.'); + } + + static databaseNotDefined() { + return new OptionsError('The database name to connect to is not defined.'); + } +} diff --git a/src/index.ts b/src/index.ts index c47a3121..9509b48b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +export * from './errors'; export * from './query'; export * from './cli/commands'; export * from './data-source'; diff --git a/src/query/module.ts b/src/query/module.ts index 3d68df06..66db9c92 100644 --- a/src/query/module.ts +++ b/src/query/module.ts @@ -1,4 +1,4 @@ -import { ParseOutput, parseQuery } from 'rapiq'; +import { ParseInput, ParseOutput, parseQuery } from 'rapiq'; import { ObjectLiteral, SelectQueryBuilder } from 'typeorm'; import { applyQueryFieldsParseOutput, @@ -47,7 +47,7 @@ export function applyQueryParseOutput( export function applyQuery( query: SelectQueryBuilder, - input: unknown, + input: ParseInput, options?: QueryApplyOptions, ) : QueryApplyOutput { options = options || {}; diff --git a/src/query/parameter/fields/module.ts b/src/query/parameter/fields/module.ts index 1ffb9419..851fad0f 100644 --- a/src/query/parameter/fields/module.ts +++ b/src/query/parameter/fields/module.ts @@ -16,10 +16,8 @@ import { QueryFieldsApplyOptions, QueryFieldsApplyOutput } from './type'; export function applyQueryFieldsParseOutput( query: SelectQueryBuilder, data: QueryFieldsApplyOutput, - options?: QueryFieldsApplyOptions, + options: QueryFieldsApplyOptions = {}, ) { - options = options || {}; - if (data.length === 0) { return data; } diff --git a/src/query/parameter/filters/module.ts b/src/query/parameter/filters/module.ts index 9490bd8b..191805b5 100644 --- a/src/query/parameter/filters/module.ts +++ b/src/query/parameter/filters/module.ts @@ -12,7 +12,7 @@ import { export function transformParsedFilters( data: FiltersParseOutput, - options: QueryFiltersApplyOptions, + options: QueryFiltersApplyOptions = {}, ) : QueryFiltersOutput { options = options || {}; @@ -199,7 +199,7 @@ export function applyQueryFiltersParseOutput( - query: SelectQueryBuilder | undefined, + query: SelectQueryBuilder, data: unknown, options?: QueryFiltersApplyOptions, ) : QueryFiltersApplyOutput { @@ -223,7 +223,7 @@ export function applyQueryFilters( * @param options */ export function applyFilters( - query: SelectQueryBuilder | undefined, + query: SelectQueryBuilder, data: unknown, options?: QueryFiltersApplyOptions, ) : QueryFiltersApplyOutput { diff --git a/src/query/parameter/pagination/module.ts b/src/query/parameter/pagination/module.ts index 459c07b3..f55dfab0 100644 --- a/src/query/parameter/pagination/module.ts +++ b/src/query/parameter/pagination/module.ts @@ -1,4 +1,4 @@ -import { parseQueryPagination } from 'rapiq'; +import { ObjectLiteral, parseQueryPagination } from 'rapiq'; import { SelectQueryBuilder } from 'typeorm'; import { QueryPaginationApplyOptions, QueryPaginationApplyOutput } from './type'; @@ -8,7 +8,7 @@ import { QueryPaginationApplyOptions, QueryPaginationApplyOutput } from './type' * @param query * @param data */ -export function applyQueryPaginationParseOutput( +export function applyQueryPaginationParseOutput( query: SelectQueryBuilder, data: QueryPaginationApplyOutput, ) { @@ -36,7 +36,7 @@ export function applyQueryPaginationParseOutput( * @param data * @param options */ -export function applyQueryPagination( +export function applyQueryPagination( query: SelectQueryBuilder, data: unknown, options?: QueryPaginationApplyOptions, @@ -51,7 +51,7 @@ export function applyQueryPagination( * @param data * @param options */ -export function applyPagination( +export function applyPagination( query: SelectQueryBuilder, data: unknown, options?: QueryPaginationApplyOptions, diff --git a/src/query/parameter/sort/type.ts b/src/query/parameter/sort/type.ts index bcf5e25c..483b0b1f 100644 --- a/src/query/parameter/sort/type.ts +++ b/src/query/parameter/sort/type.ts @@ -1,7 +1,7 @@ import { SortParseOptions, SortParseOutput } from 'rapiq'; import { ObjectLiteral } from 'typeorm'; -export type QuerySortApplyOptions = SortParseOptions & { +export type QuerySortApplyOptions = SortParseOptions & { defaultAlias?: string }; export type QuerySortApplyOutput = SortParseOutput; diff --git a/src/seeder/factory/module.ts b/src/seeder/factory/module.ts index f465973b..81b22c2a 100644 --- a/src/seeder/factory/module.ts +++ b/src/seeder/factory/module.ts @@ -8,7 +8,7 @@ import { isPromise } from '../utils'; export class SeederFactory, Meta = unknown> { public readonly context: SeederFactoryContext; - public meta: Meta; + public meta: Meta | undefined; // -------------------------------------------------------------- @@ -38,7 +38,7 @@ export class SeederFactory, Meta = unknown> { if (params) { const keys : (keyof O)[] = Object.keys(params); for (let i = 0; i < keys.length; i++) { - entity[keys[i]] = params[keys[i]]; + entity[keys[i]] = (params as O)[keys[i]]; } } @@ -93,9 +93,9 @@ export class SeederFactory, Meta = unknown> { value instanceof SeederFactory ) { if (save) { - entity[key] = await value.save(); + entity[key] = await (value as SeederFactory).save(); } else { - entity[key] = await value.make(); + entity[key] = await (value as SeederFactory).make(); } } diff --git a/src/seeder/factory/type.ts b/src/seeder/factory/type.ts index 3be5c77b..ac2443d0 100644 --- a/src/seeder/factory/type.ts +++ b/src/seeder/factory/type.ts @@ -11,5 +11,5 @@ export type SeederFactoryConfig = { export type SeederFactoryContext = { name: string, entity: ObjectType | EntitySchema, - factoryFn: FactoryCallback + factoryFn: FactoryCallback }; diff --git a/src/seeder/utils/file-path.ts b/src/seeder/utils/file-path.ts index d7304081..76288b3c 100644 --- a/src/seeder/utils/file-path.ts +++ b/src/seeder/utils/file-path.ts @@ -19,11 +19,9 @@ export function resolveFilePaths( filePaths: string[], root?: string, ) { - root = root || process.cwd(); - return filePaths.map((filePath) => ( path.isAbsolute(filePath) ? filePath : - path.resolve(root, filePath) + path.resolve(root || process.cwd(), filePath) )); } diff --git a/test/data/seed/user.ts b/test/data/seed/user.ts index e063f1cb..631d7d9f 100644 --- a/test/data/seed/user.ts +++ b/test/data/seed/user.ts @@ -5,7 +5,7 @@ import { User } from '../entity/user'; export default class UserSeeder implements Seeder { public async run( dataSource: DataSource, - factoryManager?: SeederFactoryManager + factoryManager: SeederFactoryManager ) : Promise { const repository = dataSource.getRepository(User); diff --git a/test/data/typeorm/FakeSelectQueryBuilder.ts b/test/data/typeorm/FakeSelectQueryBuilder.ts index 63f8b986..ca0df4aa 100644 --- a/test/data/typeorm/FakeSelectQueryBuilder.ts +++ b/test/data/typeorm/FakeSelectQueryBuilder.ts @@ -7,19 +7,27 @@ export class FakeSelectQueryBuilder ext } as DataSource); } - addSelect(selection: string|string[]|((qb: SelectQueryBuilder) => SelectQueryBuilder), selectionAliasName?: string): this { + override addSelect( + _selection: string|string[]|((qb: SelectQueryBuilder) => SelectQueryBuilder), + _selectionAliasName?: string + ): this { return this; } - leftJoinAndSelect(entityOrProperty: Function|string|((qb: SelectQueryBuilder) => SelectQueryBuilder), alias: string, condition: string = "", parameters?: ObjectLiteral): this { + override leftJoinAndSelect( + _entityOrProperty: Function|string|((qb: SelectQueryBuilder) => SelectQueryBuilder), + _alias: string, + _condition: string = "", + _parameters?: ObjectLiteral + ): this { return this; } - take(take?: number): this { + override take(_take?: number): this { return this; } - skip(skip?: number): this { + override skip(_skip?: number): this { return this; } } diff --git a/test/unit/data-source/find.spec.ts b/test/unit/data-source/find.spec.ts index 210a120b..0fde57e2 100644 --- a/test/unit/data-source/find.spec.ts +++ b/test/unit/data-source/find.spec.ts @@ -8,7 +8,9 @@ describe('src/data-source/utils/find.ts', () => { }); expect(dataSource).toBeDefined(); - expect(dataSource.options).toBeDefined(); + if(dataSource) { + expect(dataSource.options).toBeDefined(); + } }) it('should find data-source with default export', async () => { @@ -18,6 +20,8 @@ describe('src/data-source/utils/find.ts', () => { }); expect(dataSource).toBeDefined(); - expect(dataSource.options).toBeDefined(); + if(dataSource) { + expect(dataSource.options).toBeDefined(); + } }) }) diff --git a/test/unit/database/index.spec.ts b/test/unit/database/index.spec.ts index 02b38d75..2376c273 100644 --- a/test/unit/database/index.spec.ts +++ b/test/unit/database/index.spec.ts @@ -24,7 +24,9 @@ describe('src/database/module.ts', () => { expect(driverOptions.password).toEqual('admin'); expect(driverOptions.database).toEqual('test'); expect(driverOptions.extra).toBeDefined(); - expect(driverOptions.extra.socketPath).toEqual('/var/mysqld/mysqld.sock'); + if(driverOptions.extra) { + expect(driverOptions.extra.socketPath).toEqual('/var/mysqld/mysqld.sock'); + } expect(driverOptions.port).toEqual(3306); expect(driverOptions.charset).toEqual('UTF8_GENERAL_CI'); }); diff --git a/test/unit/utils/tsconfig.spec.ts b/test/unit/utils/tsconfig.spec.ts index dd7ddbb0..c53362a5 100644 --- a/test/unit/utils/tsconfig.spec.ts +++ b/test/unit/utils/tsconfig.spec.ts @@ -7,7 +7,9 @@ describe('src/utils/tsconfig.ts', () => { const tsConfig = await readTsConfig(rootPath); expect(tsConfig.compilerOptions).toBeDefined(); - expect(tsConfig.compilerOptions.outDir).toEqual('output'); + if(tsConfig.compilerOptions) { + expect(tsConfig.compilerOptions.outDir).toEqual('output'); + } }); it('should read empty tsconfig', async () => { diff --git a/tsconfig.json b/tsconfig.json index 8a982ce3..1799f421 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,15 @@ { + "extends": "@tada5hi/tsconfig", "compilerOptions": { - "strict": true, - "skipLibCheck": true, - "esModuleInterop": true, - "declaration": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, "lib": [ "ESNext" ], "module": "commonjs", - "newLine": "LF", - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": false, - "noUnusedParameters": false, - "noUnusedLocals": true, "outDir": "dist", - "sourceMap": true, - "strictNullChecks": false, - "target": "es6" + "target": "ES2020", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "strictPropertyInitialization": false }, "include": [ "src/**/*.ts"