diff --git a/.prettierignore b/.prettierignore index 18e5ff71..efeeb712 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,15 +4,17 @@ dist/ config/ pnpm-lock.yaml cypress/config/settings.cypress.json +.github +.vscode # assets src/assets/ -public/ -!public/sw.js docs/ -!/public/ -/public/* -!/public/sw.js +public/* +!public/sw.js # helm charts **/charts + +# Prettier breaks GitHub alert syntax in markdown +*.md \ No newline at end of file diff --git a/.prettierrc.js b/.prettierrc.js index 25b39dd3..625c1665 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,5 +1,5 @@ module.exports = { - plugins: [require('./merged-prettier-plugin.js')], + plugins: ['prettier-plugin-organize-imports', 'prettier-plugin-tailwindcss'], singleQuote: true, trailingComma: 'es5', overrides: [ @@ -27,5 +27,11 @@ module.exports = { rangeEnd: 0, }, }, + { + files: 'public/offline.html', + options: { + rangeEnd: 0, + }, + }, ], }; diff --git a/gen-docs/src/css/custom.css b/gen-docs/src/css/custom.css index d95cd581..8564c0d3 100644 --- a/gen-docs/src/css/custom.css +++ b/gen-docs/src/css/custom.css @@ -60,12 +60,12 @@ .table-of-contents__link--active, a:not( - .card, - .menu__link, - .menu__link--sublist, - .menu__link--sublist-item, - .table-of-contents__link - ) { + .card, + .menu__link, + .menu__link--sublist, + .menu__link--sublist-item, + .table-of-contents__link +) { /* color: #793ae8; */ color: #6366f1; } diff --git a/merged-prettier-plugin.js b/merged-prettier-plugin.js deleted file mode 100644 index 6908488f..00000000 --- a/merged-prettier-plugin.js +++ /dev/null @@ -1,21 +0,0 @@ -/* eslint-disable */ -const tailwind = require('prettier-plugin-tailwindcss'); -const organizeImports = require('prettier-plugin-organize-imports'); - -const combinedFormatter = { - ...tailwind, - parsers: { - ...tailwind.parsers, - ...Object.keys(organizeImports.parsers).reduce((acc, key) => { - acc[key] = { - ...tailwind.parsers[key], - preprocess(code, options) { - return organizeImports.parsers[key].preprocess(code, options); - }, - }; - return acc; - }, {}), - }, -}; - -module.exports = combinedFormatter; diff --git a/package.json b/package.json index 9cbb2d15..f0570376 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "migration:generate": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:generate -d server/datasource.ts", "migration:create": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:create -d server/datasource.ts", "migration:run": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:run -d server/datasource.ts", - "format": "prettier --loglevel warn --write --cache .", + "format": "prettier --log-level warn --write --cache .", "format:check": "prettier --check --cache .", "typecheck": "pnpm typecheck:server && pnpm typecheck:client", "typecheck:server": "tsc --project server/tsconfig.json --noEmit", @@ -116,9 +116,9 @@ "devDependencies": { "@commitlint/cli": "17.4.4", "@commitlint/config-conventional": "17.4.4", - "@tailwindcss/aspect-ratio": "0.4.2", - "@tailwindcss/forms": "0.5.10", - "@tailwindcss/typography": "0.5.16", + "@tailwindcss/aspect-ratio": "^0.4.2", + "@tailwindcss/forms": "^0.5.10", + "@tailwindcss/typography": "^0.5.16", "@types/bcrypt": "6.0.0", "@types/cookie-parser": "1.4.10", "@types/country-flag-icons": "1.2.2", @@ -144,7 +144,7 @@ "@types/yup": "0.29.14", "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", - "autoprefixer": "10.4.23", + "autoprefixer": "^10.4.23", "baseline-browser-mapping": "^2.8.32", "commitizen": "4.3.1", "copyfiles": "2.4.1", @@ -152,7 +152,7 @@ "cypress": "14.5.4", "cz-conventional-changelog": "3.3.0", "eslint": "8.57.1", - "eslint-config-next": "^14.2.4", + "eslint-config-next": "^14.2.35", "eslint-config-prettier": "8.6.0", "eslint-plugin-formatjs": "4.9.0", "eslint-plugin-jsx-a11y": "6.10.2", @@ -163,11 +163,11 @@ "husky": "8.0.3", "lint-staged": "13.1.2", "nodemon": "3.1.11", - "postcss": "8.5.6", - "prettier": "2.8.4", - "prettier-plugin-organize-imports": "3.2.2", - "prettier-plugin-tailwindcss": "0.2.3", - "tailwindcss": "3.2.7", + "postcss": "^8.5.6", + "prettier": "3.8.1", + "prettier-plugin-organize-imports": "4.3.0", + "prettier-plugin-tailwindcss": "0.6.14", + "tailwindcss": "3.4.19", "ts-node": "10.9.2", "tsc-alias": "1.8.16", "tsconfig-paths": "4.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be63c153..903e132d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -260,14 +260,14 @@ importers: specifier: 17.4.4 version: 17.4.4 '@tailwindcss/aspect-ratio': - specifier: 0.4.2 - version: 0.4.2(tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5))) + specifier: ^0.4.2 + version: 0.4.2(tailwindcss@3.4.19(yaml@2.8.2)) '@tailwindcss/forms': - specifier: 0.5.10 - version: 0.5.10(tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5))) + specifier: ^0.5.10 + version: 0.5.10(tailwindcss@3.4.19(yaml@2.8.2)) '@tailwindcss/typography': - specifier: 0.5.16 - version: 0.5.16(tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5))) + specifier: ^0.5.16 + version: 0.5.16(tailwindcss@3.4.19(yaml@2.8.2)) '@types/bcrypt': specifier: 6.0.0 version: 6.0.0 @@ -344,7 +344,7 @@ importers: specifier: 7.18.0 version: 7.18.0(eslint@8.57.1)(typescript@5.4.5) autoprefixer: - specifier: 10.4.23 + specifier: ^10.4.23 version: 10.4.23(postcss@8.5.6) baseline-browser-mapping: specifier: ^2.8.32 @@ -368,8 +368,8 @@ importers: specifier: 8.57.1 version: 8.57.1 eslint-config-next: - specifier: ^14.2.4 - version: 14.2.4(eslint@8.57.1)(typescript@5.4.5) + specifier: ^14.2.35 + version: 14.2.35(eslint@8.57.1)(typescript@5.4.5) eslint-config-prettier: specifier: 8.6.0 version: 8.6.0(eslint@8.57.1) @@ -384,7 +384,7 @@ importers: version: 1.6.1 eslint-plugin-prettier: specifier: 4.2.1 - version: 4.2.1(eslint-config-prettier@8.6.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.4) + version: 4.2.1(eslint-config-prettier@8.6.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.8.1) eslint-plugin-react: specifier: 7.37.5 version: 7.37.5(eslint@8.57.1) @@ -401,20 +401,20 @@ importers: specifier: 3.1.11 version: 3.1.11 postcss: - specifier: 8.5.6 + specifier: ^8.5.6 version: 8.5.6 prettier: - specifier: 2.8.4 - version: 2.8.4 + specifier: 3.8.1 + version: 3.8.1 prettier-plugin-organize-imports: - specifier: 3.2.2 - version: 3.2.2(prettier@2.8.4)(typescript@5.4.5) + specifier: 4.3.0 + version: 4.3.0(prettier@3.8.1)(typescript@5.4.5) prettier-plugin-tailwindcss: - specifier: 0.2.3 - version: 0.2.3(prettier-plugin-organize-imports@3.2.2(prettier@2.8.4)(typescript@5.4.5))(prettier@2.8.4) + specifier: 0.6.14 + version: 0.6.14(prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.4.5))(prettier@3.8.1) tailwindcss: - specifier: 3.2.7 - version: 3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)) + specifier: 3.4.19 + version: 3.4.19(yaml@2.8.2) ts-node: specifier: 10.9.2 version: 10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5) @@ -430,6 +430,10 @@ importers: packages: + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@apidevtools/json-schema-ref-parser@9.0.9': resolution: {integrity: sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==} @@ -1860,8 +1864,8 @@ packages: '@next/env@14.2.35': resolution: {integrity: sha512-DuhvCtj4t9Gwrx80dmz2F4t/zKQ4ktN8WrMwOuVzkJfBilwAwGr6v16M5eI8yCuZ63H9TTuEU09Iu2HqkzFPVQ==} - '@next/eslint-plugin-next@14.2.4': - resolution: {integrity: sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==} + '@next/eslint-plugin-next@14.2.35': + resolution: {integrity: sha512-Jw9A3ICz2183qSsqwi7fgq4SBPiNfmOLmTPXKvlnzstUwyvBrtySiY+8RXJweNAs9KThb1+bYhZh9XWcNOr2zQ==} '@next/swc-darwin-arm64@14.2.33': resolution: {integrity: sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==} @@ -3147,6 +3151,14 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.54.0': + resolution: {integrity: sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.54.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/parser@7.18.0': resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3157,23 +3169,32 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.2.0': - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.54.0': + resolution: {integrity: sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.54.0': + resolution: {integrity: sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@7.2.0': - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.54.0': + resolution: {integrity: sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.54.0': + resolution: {integrity: sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/type-utils@7.18.0': resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} @@ -3185,6 +3206,13 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.54.0': + resolution: {integrity: sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/types@5.45.0': resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3193,9 +3221,9 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.2.0': - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.54.0': + resolution: {integrity: sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.45.0': resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} @@ -3215,14 +3243,11 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.2.0': - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.54.0': + resolution: {integrity: sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} @@ -3230,6 +3255,13 @@ packages: peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.54.0': + resolution: {integrity: sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@5.45.0': resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3238,9 +3270,9 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.2.0': - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.54.0': + resolution: {integrity: sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -3268,13 +3300,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-node@1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - acorn-walk@8.3.3: resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} @@ -3361,6 +3386,9 @@ packages: resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} engines: {node: '>=14'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -3930,6 +3958,10 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -4286,9 +4318,6 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - defined@1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -4327,11 +4356,6 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - detective@5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -4561,8 +4585,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-next@14.2.4: - resolution: {integrity: sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==} + eslint-config-next@14.2.35: + resolution: {integrity: sha512-BpLsv01UisH193WyT/1lpHqq5iJ/Orfz9h/NOOlAmTUq4GY349PextQ62K4XpnaM9supeiEn3TaOTeQO07gURg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -4662,6 +4686,10 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.1: resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4817,6 +4845,15 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} @@ -5284,6 +5321,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + image-size@1.2.1: resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} engines: {node: '>=16.x'} @@ -5631,6 +5672,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} @@ -5812,9 +5857,9 @@ packages: resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} line-height@0.3.1: resolution: {integrity: sha512-YExecgqPwnp5gplD2+Y8e8A5+jKpr25+DzMbFdI1/1UAr0FJrTFv4VkHLf8/6B590i1wUPJWMKKldkd/bdQ//w==} @@ -6268,14 +6313,14 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -6374,6 +6419,9 @@ packages: resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} engines: {node: '>=12.0.0'} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoclone@0.2.1: resolution: {integrity: sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==} @@ -6822,6 +6870,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -6851,9 +6903,9 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss-import@14.1.0: - resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} - engines: {node: '>=10.0.0'} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 @@ -6863,20 +6915,26 @@ packages: peerDependencies: postcss: ^8.4.21 - postcss-load-config@3.1.4: - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} peerDependencies: + jiti: '>=1.21.0' postcss: '>=8.0.9' - ts-node: '>=9.0.0' + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: + jiti: + optional: true postcss: optional: true - ts-node: + tsx: + optional: true + yaml: optional: true - postcss-nested@6.0.0: - resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 @@ -6929,52 +6987,54 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier-plugin-organize-imports@3.2.2: - resolution: {integrity: sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA==} + prettier-plugin-organize-imports@4.3.0: + resolution: {integrity: sha512-FxFz0qFhyBsGdIsb697f/EkvHzi5SZOhWAjxcx2dLt+Q532bAlhswcXGYB1yzjZ69kW8UoadFBw7TyNwlq96Iw==} peerDependencies: - '@volar/vue-language-plugin-pug': ^1.0.4 - '@volar/vue-typescript': ^1.0.4 prettier: '>=2.0' typescript: '>=2.9' + vue-tsc: ^2.1.0 || 3 peerDependenciesMeta: - '@volar/vue-language-plugin-pug': - optional: true - '@volar/vue-typescript': + vue-tsc: optional: true - prettier-plugin-tailwindcss@0.2.3: - resolution: {integrity: sha512-s2N5Dh7Ao5KTV1mao5ZBnn8EKtUcDPJEkGViZIjI0Ij9TTI5zgTz4IHOxW33jOdjHKa8CSjM88scelUiC5TNRQ==} - engines: {node: '>=12.17.0'} + prettier-plugin-tailwindcss@0.6.14: + resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==} + engines: {node: '>=14.21.3'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-php': '*' + '@prettier/plugin-hermes': '*' + '@prettier/plugin-oxc': '*' '@prettier/plugin-pug': '*' '@shopify/prettier-plugin-liquid': '*' - '@shufo/prettier-plugin-blade': '*' '@trivago/prettier-plugin-sort-imports': '*' - prettier: '>=2.2.0' + '@zackad/prettier-plugin-twig': '*' + prettier: ^3.0 prettier-plugin-astro: '*' prettier-plugin-css-order: '*' prettier-plugin-import-sort: '*' prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' prettier-plugin-organize-attributes: '*' prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' prettier-plugin-style-order: '*' prettier-plugin-svelte: '*' - prettier-plugin-twig-melody: '*' peerDependenciesMeta: '@ianvs/prettier-plugin-sort-imports': optional: true - '@prettier/plugin-php': + '@prettier/plugin-hermes': + optional: true + '@prettier/plugin-oxc': optional: true '@prettier/plugin-pug': optional: true '@shopify/prettier-plugin-liquid': optional: true - '@shufo/prettier-plugin-blade': - optional: true '@trivago/prettier-plugin-sort-imports': optional: true + '@zackad/prettier-plugin-twig': + optional: true prettier-plugin-astro: optional: true prettier-plugin-css-order: @@ -6983,20 +7043,24 @@ packages: optional: true prettier-plugin-jsdoc: optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-multiline-arrays: + optional: true prettier-plugin-organize-attributes: optional: true prettier-plugin-organize-imports: optional: true + prettier-plugin-sort-imports: + optional: true prettier-plugin-style-order: optional: true prettier-plugin-svelte: optional: true - prettier-plugin-twig-melody: - optional: true - prettier@2.8.4: - resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} - engines: {node: '>=10.13.0'} + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + engines: {node: '>=14'} hasBin: true pretty-bytes@5.6.0: @@ -7148,10 +7212,6 @@ packages: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - random-bytes@1.0.0: resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==} engines: {node: '>= 0.8'} @@ -7946,6 +8006,11 @@ packages: stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + sucrase@3.35.1: + resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -7996,12 +8061,10 @@ packages: tailwind-merge@2.6.0: resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} - tailwindcss@3.2.7: - resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} - engines: {node: '>=12.13.0'} + tailwindcss@3.4.19: + resolution: {integrity: sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==} + engines: {node: '>=14.0.0'} hasBin: true - peerDependencies: - postcss: ^8.0.9 tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} @@ -8042,6 +8105,13 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + three@0.165.0: resolution: {integrity: sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA==} @@ -8063,6 +8133,10 @@ packages: tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + titleize@2.1.0: resolution: {integrity: sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g==} engines: {node: '>=6'} @@ -8139,12 +8213,21 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' + ts-api-utils@2.4.0: + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -8735,6 +8818,8 @@ packages: snapshots: + '@alloc/quick-lru@5.2.0': {} + '@apidevtools/json-schema-ref-parser@9.0.9': dependencies: '@jsdevtools/ono': 7.1.3 @@ -10429,7 +10514,7 @@ snapshots: '@next/env@14.2.35': {} - '@next/eslint-plugin-next@14.2.4': + '@next/eslint-plugin-next@14.2.35': dependencies: glob: 10.3.10 @@ -12037,22 +12122,22 @@ snapshots: '@swc/counter': 0.1.3 optional: true - '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)))': + '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.19(yaml@2.8.2))': dependencies: - tailwindcss: 3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)) + tailwindcss: 3.4.19(yaml@2.8.2) - '@tailwindcss/forms@0.5.10(tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)))': + '@tailwindcss/forms@0.5.10(tailwindcss@3.4.19(yaml@2.8.2))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)) + tailwindcss: 3.4.19(yaml@2.8.2) - '@tailwindcss/typography@0.5.16(tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)))': + '@tailwindcss/typography@0.5.16(tailwindcss@3.4.19(yaml@2.8.2))': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)) + tailwindcss: 3.4.19(yaml@2.8.2) '@tanem/react-nprogress@5.0.56(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -12326,12 +12411,28 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.4.5) + ts-api-utils: 1.4.3(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint@8.57.1)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.54.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.54.0 + '@typescript-eslint/type-utils': 8.54.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 8.54.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.54.0 + eslint: 8.57.1 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 @@ -12345,15 +12446,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.4.5)': + '@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/scope-manager': 8.54.0 + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.54.0 debug: 4.4.3(supports-color@5.5.0) eslint: 8.57.1 - optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.54.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.4.5) + '@typescript-eslint/types': 8.54.0 + debug: 4.4.3(supports-color@5.5.0) typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -12363,10 +12472,14 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@7.2.0': + '@typescript-eslint/scope-manager@8.54.0': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/visitor-keys': 8.54.0 + + '@typescript-eslint/tsconfig-utils@8.54.0(typescript@5.4.5)': + dependencies: + typescript: 5.4.5 '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5)': dependencies: @@ -12374,17 +12487,29 @@ snapshots: '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) debug: 4.4.3(supports-color@5.5.0) eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.4.5) + ts-api-utils: 1.4.3(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.54.0(eslint@8.57.1)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + '@typescript-eslint/utils': 8.54.0(eslint@8.57.1)(typescript@5.4.5) + debug: 4.4.3(supports-color@5.5.0) + eslint: 8.57.1 + ts-api-utils: 2.4.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@5.45.0': {} '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@7.2.0': {} + '@typescript-eslint/types@8.54.0': {} '@typescript-eslint/typescript-estree@5.45.0(typescript@4.9.5)': dependencies: @@ -12407,25 +12532,25 @@ snapshots: debug: 4.4.3(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.4 + minimatch: 9.0.5 semver: 7.7.3 - ts-api-utils: 1.3.0(typescript@5.4.5) + ts-api-utils: 1.4.3(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@8.54.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/project-service': 8.54.0(typescript@5.4.5) + '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.4.5) + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/visitor-keys': 8.54.0 debug: 4.4.3(supports-color@5.5.0) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.5 semver: 7.7.3 - ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -12441,6 +12566,17 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.54.0(eslint@8.57.1)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.54.0 + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + eslint: 8.57.1 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@5.45.0': dependencies: '@typescript-eslint/types': 5.45.0 @@ -12451,10 +12587,10 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.2.0': + '@typescript-eslint/visitor-keys@8.54.0': dependencies: - '@typescript-eslint/types': 7.2.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.54.0 + eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} @@ -12480,14 +12616,6 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-node@1.8.2: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - - acorn-walk@7.2.0: {} - acorn-walk@8.3.3: dependencies: acorn: 8.15.0 @@ -12567,6 +12695,8 @@ snapshots: ansis@4.2.0: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -13219,6 +13349,8 @@ snapshots: commander@2.20.3: {} + commander@4.1.1: {} + commander@5.1.0: {} commander@6.2.1: {} @@ -13654,8 +13786,6 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - defined@1.0.1: {} - delayed-stream@1.0.0: {} delegates@1.0.0: {} @@ -13677,12 +13807,6 @@ snapshots: detect-newline@3.1.0: optional: true - detective@5.2.1: - dependencies: - acorn-node: 1.8.2 - defined: 1.0.1 - minimist: 1.2.8 - didyoumean@1.2.2: {} diff-match-patch@1.0.5: {} @@ -14024,14 +14148,15 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-next@14.2.4(eslint@8.57.1)(typescript@5.4.5): + eslint-config-next@14.2.35(eslint@8.57.1)(typescript@5.4.5): dependencies: - '@next/eslint-plugin-next': 14.2.4 + '@next/eslint-plugin-next': 14.2.35 '@rushstack/eslint-patch': 1.10.3 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 8.54.0(eslint@8.57.1)(typescript@5.4.5) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5))(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.5(eslint@8.57.1) @@ -14054,12 +14179,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1): dependencies: debug: 4.4.3(supports-color@5.5.0) enhanced-resolve: 5.17.0 eslint: 8.57.1 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5))(eslint@8.57.1) fast-glob: 3.3.3 get-tsconfig: 4.13.0 @@ -14081,14 +14206,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): + eslint-module-utils@2.8.1(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 8.54.0(eslint@8.57.1)(typescript@5.4.5) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@8.54.0(eslint@8.57.1)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1) transitivePeerDependencies: - supports-color @@ -14158,10 +14283,10 @@ snapshots: eslint-plugin-no-relative-import-paths@1.6.1: {} - eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.6.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.4): + eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.6.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.8.1): dependencies: eslint: 8.57.1 - prettier: 2.8.4 + prettier: 3.8.1 prettier-linter-helpers: 1.0.0 optionalDependencies: eslint-config-prettier: 8.6.0(eslint@8.57.1) @@ -14199,6 +14324,8 @@ snapshots: eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.2.1: {} + eslint@8.57.1: dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) @@ -14460,6 +14587,10 @@ snapshots: dependencies: pend: 1.2.0 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fecha@4.2.3: {} figures@3.2.0: @@ -15032,6 +15163,8 @@ snapshots: ignore@5.3.2: {} + ignore@7.0.5: {} + image-size@1.2.1: dependencies: queue: 6.0.2 @@ -15383,6 +15516,8 @@ snapshots: jiti@1.21.6: optional: true + jiti@1.21.7: {} + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 @@ -15590,7 +15725,7 @@ snapshots: lilconfig@2.0.6: {} - lilconfig@2.1.0: {} + lilconfig@3.1.3: {} line-height@0.3.1: dependencies: @@ -16277,11 +16412,11 @@ snapshots: dependencies: brace-expansion: 2.0.2 - minimatch@9.0.3: + minimatch@9.0.4: dependencies: brace-expansion: 2.0.2 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.2 @@ -16383,6 +16518,12 @@ snapshots: mylas@2.1.13: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoclone@0.2.1: {} nanoid@3.3.11: {} @@ -16849,6 +16990,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.3: {} + pidtree@0.6.0: {} pify@2.3.0: {} @@ -16867,7 +17010,7 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-import@14.1.0(postcss@8.5.6): + postcss-import@15.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -16879,15 +17022,15 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.2): dependencies: - lilconfig: 2.1.0 - yaml: 1.10.2 + lilconfig: 3.1.3 optionalDependencies: + jiti: 1.21.7 postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5) + yaml: 2.8.2 - postcss-nested@6.0.0(postcss@8.5.6): + postcss-nested@6.2.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-selector-parser: 6.1.2 @@ -16947,18 +17090,18 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-organize-imports@3.2.2(prettier@2.8.4)(typescript@5.4.5): + prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.4.5): dependencies: - prettier: 2.8.4 + prettier: 3.8.1 typescript: 5.4.5 - prettier-plugin-tailwindcss@0.2.3(prettier-plugin-organize-imports@3.2.2(prettier@2.8.4)(typescript@5.4.5))(prettier@2.8.4): + prettier-plugin-tailwindcss@0.6.14(prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.4.5))(prettier@3.8.1): dependencies: - prettier: 2.8.4 + prettier: 3.8.1 optionalDependencies: - prettier-plugin-organize-imports: 3.2.2(prettier@2.8.4)(typescript@5.4.5) + prettier-plugin-organize-imports: 4.3.0(prettier@3.8.1)(typescript@5.4.5) - prettier@2.8.4: {} + prettier@3.8.1: {} pretty-bytes@5.6.0: {} @@ -17134,8 +17277,6 @@ snapshots: quick-lru@4.0.1: {} - quick-lru@5.1.1: {} - random-bytes@1.0.0: {} range-parser@1.2.1: {} @@ -18198,6 +18339,16 @@ snapshots: stylis@4.2.0: {} + sucrase@3.35.1: + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + tinyglobby: 0.2.15 + ts-interface-checker: 0.1.13 + sudo-prompt@9.2.1: {} supports-color@5.5.0: @@ -18245,33 +18396,33 @@ snapshots: tailwind-merge@2.6.0: {} - tailwindcss@3.2.7(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)): + tailwindcss@3.4.19(yaml@2.8.2): dependencies: + '@alloc/quick-lru': 5.2.0 arg: 5.0.2 chokidar: 3.6.0 - color-name: 1.1.4 - detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.3 glob-parent: 6.0.2 is-glob: 4.0.3 - lilconfig: 2.1.0 + jiti: 1.21.7 + lilconfig: 3.1.3 micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.1 postcss: 8.5.6 - postcss-import: 14.1.0(postcss@8.5.6) + postcss-import: 15.1.0(postcss@8.5.6) postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@5.4.5)) - postcss-nested: 6.0.0(postcss@8.5.6) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.2) + postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - quick-lru: 5.1.1 resolve: 1.22.11 + sucrase: 3.35.1 transitivePeerDependencies: - - ts-node + - tsx + - yaml tapable@2.2.1: {} @@ -18318,6 +18469,14 @@ snapshots: text-table@0.2.0: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + three@0.165.0: {} throat@5.0.0: {} @@ -18337,6 +18496,11 @@ snapshots: tiny-warning@1.0.3: {} + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + titleize@2.1.0: {} tlds@1.255.0: {} @@ -18391,10 +18555,16 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.4.5): + ts-api-utils@1.4.3(typescript@5.4.5): dependencies: typescript: 5.4.5 + ts-api-utils@2.4.0(typescript@5.4.5): + dependencies: + typescript: 5.4.5 + + ts-interface-checker@0.1.13: {} + ts-node@10.9.2(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@20.5.1)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 diff --git a/server/api/github.ts b/server/api/github.ts index 009a82c1..5053fd8b 100644 --- a/server/api/github.ts +++ b/server/api/github.ts @@ -57,7 +57,7 @@ interface GithubCommit { sha: string; url: string; html_url: string; - } + }, ]; } diff --git a/server/api/jellyfin.ts b/server/api/jellyfin.ts index c5f79258..1507f00b 100644 --- a/server/api/jellyfin.ts +++ b/server/api/jellyfin.ts @@ -420,7 +420,7 @@ class JellyfinAPI extends ExternalAPI { } public async getEpisodes< - T extends { includeMediaInfo?: boolean } | undefined = undefined + T extends { includeMediaInfo?: boolean } | undefined = undefined, >( seriesID: string, seasonID: string, diff --git a/server/api/pushover.ts b/server/api/pushover.ts index 41754368..92b93130 100644 --- a/server/api/pushover.ts +++ b/server/api/pushover.ts @@ -21,7 +21,7 @@ export const mapSounds = (sounds: { ({ name, description, - } as PushoverSound) + }) as PushoverSound ); class PushoverAPI extends ExternalAPI { diff --git a/server/api/rating/rottentomatoes.ts b/server/api/rating/rottentomatoes.ts index 34614433..9b509e95 100644 --- a/server/api/rating/rottentomatoes.ts +++ b/server/api/rating/rottentomatoes.ts @@ -157,8 +157,8 @@ class RottenTomatoes extends ExternalAPI { criticsRating: movie.rottenTomatoes.certifiedFresh ? 'Certified Fresh' : movie.rottenTomatoes.criticsScore >= 60 - ? 'Fresh' - : 'Rotten', + ? 'Fresh' + : 'Rotten', criticsScore: movie.rottenTomatoes.criticsScore, audienceRating: movie.rottenTomatoes.audienceScore >= 60 ? 'Upright' : 'Spilled', diff --git a/server/api/tautulli.ts b/server/api/tautulli.ts index 608e2331..e9cb65ad 100644 --- a/server/api/tautulli.ts +++ b/server/api/tautulli.ts @@ -269,8 +269,8 @@ class TautulliAPI { recordA.grandparent_rating_key && recordB.grandparent_rating_key ? recordA.grandparent_rating_key === recordB.grandparent_rating_key : recordA.parent_rating_key && recordB.parent_rating_key - ? recordA.parent_rating_key === recordB.parent_rating_key - : recordA.rating_key === recordB.rating_key + ? recordA.parent_rating_key === recordB.parent_rating_key + : recordA.rating_key === recordB.rating_key ); start += take; diff --git a/server/api/themoviedb/index.ts b/server/api/themoviedb/index.ts index 74ec5841..e7621a4a 100644 --- a/server/api/themoviedb/index.ts +++ b/server/api/themoviedb/index.ts @@ -536,8 +536,8 @@ class TheMovieDb extends ExternalAPI implements TvShowProvider { originalLanguage && originalLanguage !== 'all' ? originalLanguage : originalLanguage === 'all' - ? undefined - : this.originalLanguage, + ? undefined + : this.originalLanguage, // Set our release date values, but check if one is set and not the other, // so we can force a past date or a future date. TMDB Requires both values if one is set! 'primary_release_date.gte': @@ -630,8 +630,8 @@ class TheMovieDb extends ExternalAPI implements TvShowProvider { originalLanguage && originalLanguage !== 'all' ? originalLanguage : originalLanguage === 'all' - ? undefined - : this.originalLanguage, + ? undefined + : this.originalLanguage, include_null_first_air_dates: includeEmptyReleaseDate, with_genres: genre, with_networks: network, diff --git a/server/api/themoviedb/interfaces.ts b/server/api/themoviedb/interfaces.ts index 65ba18f8..a4c49e9a 100644 --- a/server/api/themoviedb/interfaces.ts +++ b/server/api/themoviedb/interfaces.ts @@ -392,8 +392,10 @@ export interface TmdbPersonCombinedCredits { crew: TmdbPersonCreditCrew[]; } -export interface TmdbSeasonWithEpisodes - extends Omit { +export interface TmdbSeasonWithEpisodes extends Omit< + TmdbTvSeasonResult, + 'episode_count' +> { episodes: TmdbTvEpisodeResult[]; external_ids: TmdbExternalIds; } diff --git a/server/entity/User.ts b/server/entity/User.ts index a796e496..b15b6683 100644 --- a/server/entity/User.ts +++ b/server/entity/User.ts @@ -271,7 +271,7 @@ export class User { }); const movieQuotaLimit = !canBypass - ? this.movieQuotaLimit ?? defaultQuotas.movie.quotaLimit + ? (this.movieQuotaLimit ?? defaultQuotas.movie.quotaLimit) : 0; const movieQuotaDays = this.movieQuotaDays ?? defaultQuotas.movie.quotaDays; @@ -295,7 +295,7 @@ export class User { : 0; const tvQuotaLimit = !canBypass - ? this.tvQuotaLimit ?? defaultQuotas.tv.quotaLimit + ? (this.tvQuotaLimit ?? defaultQuotas.tv.quotaLimit) : 0; const tvQuotaDays = this.tvQuotaDays ?? defaultQuotas.tv.quotaDays; diff --git a/server/lib/availabilitySync.ts b/server/lib/availabilitySync.ts index d9b5244f..c6c09cb5 100644 --- a/server/lib/availabilitySync.ts +++ b/server/lib/availabilitySync.ts @@ -513,8 +513,8 @@ class AvailabilitySync { mediaServerType === MediaServerType.PLEX ? 'plex' : mediaServerType === MediaServerType.JELLYFIN - ? 'jellyfin' - : 'emby' + ? 'jellyfin' + : 'emby' } instance. Status will be changed to deleted.`, { label: 'AvailabilitySync' } ); @@ -588,8 +588,8 @@ class AvailabilitySync { mediaServerType === MediaServerType.PLEX ? 'plex' : mediaServerType === MediaServerType.JELLYFIN - ? 'jellyfin' - : 'emby' + ? 'jellyfin' + : 'emby' } instance. Status will be changed to deleted.`, { label: 'AvailabilitySync' } ); diff --git a/server/lib/notifications/agents/discord.ts b/server/lib/notifications/agents/discord.ts index 3f721538..2b7175ed 100644 --- a/server/lib/notifications/agents/discord.ts +++ b/server/lib/notifications/agents/discord.ts @@ -209,8 +209,8 @@ class DiscordAgent ? payload.issue ? `${applicationUrl}/issues/${payload.issue.id}` : payload.media - ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` - : undefined + ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` + : undefined : undefined; return { diff --git a/server/lib/notifications/agents/pushover.ts b/server/lib/notifications/agents/pushover.ts index 864d77f7..cd5511a0 100644 --- a/server/lib/notifications/agents/pushover.ts +++ b/server/lib/notifications/agents/pushover.ts @@ -158,8 +158,8 @@ class PushoverAgent ? payload.issue ? `${applicationUrl}/issues/${payload.issue.id}` : payload.media - ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` - : undefined + ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` + : undefined : undefined; const url_title = url ? `View ${payload.issue ? 'Issue' : 'Media'} in ${applicationTitle}` diff --git a/server/lib/notifications/agents/slack.ts b/server/lib/notifications/agents/slack.ts index 9c1ea5b3..71360d63 100644 --- a/server/lib/notifications/agents/slack.ts +++ b/server/lib/notifications/agents/slack.ts @@ -183,8 +183,8 @@ class SlackAgent ? payload.issue ? `${applicationUrl}/issues/${payload.issue.id}` : payload.media - ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` - : undefined + ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` + : undefined : undefined; if (url) { diff --git a/server/lib/notifications/agents/telegram.ts b/server/lib/notifications/agents/telegram.ts index bfd0729b..cd54a86d 100644 --- a/server/lib/notifications/agents/telegram.ts +++ b/server/lib/notifications/agents/telegram.ts @@ -133,8 +133,8 @@ class TelegramAgent ? payload.issue ? `${applicationUrl}/issues/${payload.issue.id}` : payload.media - ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` - : undefined + ? `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}` + : undefined : undefined; if (url) { diff --git a/server/lib/notifications/agents/webhook.ts b/server/lib/notifications/agents/webhook.ts index b03106d2..40b9d225 100644 --- a/server/lib/notifications/agents/webhook.ts +++ b/server/lib/notifications/agents/webhook.ts @@ -122,7 +122,7 @@ class WebhookAgent `{{${keymapKey}}}`, typeof keymapValue === 'function' ? keymapValue(payload, type) - : get(payload, keymapValue) ?? '' + : (get(payload, keymapValue) ?? '') ); }); } else if (finalPayload[key] && typeof finalPayload[key] === 'object') { @@ -186,8 +186,8 @@ class WebhookAgent type === Notification.TEST_NOTIFICATION ? 'test' : typeof keymapValue === 'function' - ? keymapValue(payload, type) - : get(payload, keymapValue) || 'test'; + ? keymapValue(payload, type) + : get(payload, keymapValue) || 'test'; webhookUrl = webhookUrl.replace( new RegExp(`{{${keymapKey}}}`, 'g'), encodeURIComponent(variableValue) diff --git a/server/lib/notifications/agents/webpush.ts b/server/lib/notifications/agents/webpush.ts index afb0d848..04adb242 100644 --- a/server/lib/notifications/agents/webpush.ts +++ b/server/lib/notifications/agents/webpush.ts @@ -128,8 +128,8 @@ class WebPushAgent const actionUrl = payload.issue ? `/issues/${payload.issue.id}` : payload.media - ? `/${payload.media.mediaType}/${payload.media.tmdbId}` - : undefined; + ? `/${payload.media.mediaType}/${payload.media.tmdbId}` + : undefined; const actionUrlTitle = actionUrl ? `View ${payload.issue ? 'Issue' : 'Media'}` diff --git a/server/lib/scanners/baseScanner.ts b/server/lib/scanners/baseScanner.ts index c38d61ac..4a5549f3 100644 --- a/server/lib/scanners/baseScanner.ts +++ b/server/lib/scanners/baseScanner.ts @@ -118,8 +118,8 @@ class BaseScanner { existing[is4k ? 'status4k' : 'status'] = !processing ? MediaStatus.AVAILABLE : existing[is4k ? 'status4k' : 'status'] === MediaStatus.DELETED - ? MediaStatus.DELETED - : MediaStatus.PROCESSING; + ? MediaStatus.DELETED + : MediaStatus.PROCESSING; if (mediaAddedAt) { existing.mediaAddedAt = mediaAddedAt; } @@ -200,14 +200,14 @@ class BaseScanner { !is4k && !processing ? MediaStatus.AVAILABLE : !is4k && processing - ? MediaStatus.PROCESSING - : MediaStatus.UNKNOWN; + ? MediaStatus.PROCESSING + : MediaStatus.UNKNOWN; newMedia.status4k = is4k && this.enable4kMovie && !processing ? MediaStatus.AVAILABLE : is4k && this.enable4kMovie && processing - ? MediaStatus.PROCESSING - : MediaStatus.UNKNOWN; + ? MediaStatus.PROCESSING + : MediaStatus.UNKNOWN; newMedia.mediaType = MediaType.MOVIE; newMedia.serviceId = !is4k ? serviceId : undefined; newMedia.serviceId4k = is4k ? serviceId : undefined; @@ -327,17 +327,17 @@ class BaseScanner { existingSeason.status === MediaStatus.AVAILABLE ? MediaStatus.AVAILABLE : season.episodes > 0 - ? MediaStatus.PARTIALLY_AVAILABLE - : !season.is4kOverride && - season.processing && - existingSeason.status !== MediaStatus.DELETED - ? MediaStatus.PROCESSING - : !season.is4kOverride && - !season.processing && - season.episodes === 0 && - existingSeason.status === MediaStatus.PROCESSING - ? MediaStatus.UNKNOWN - : existingSeason.status; + ? MediaStatus.PARTIALLY_AVAILABLE + : !season.is4kOverride && + season.processing && + existingSeason.status !== MediaStatus.DELETED + ? MediaStatus.PROCESSING + : !season.is4kOverride && + !season.processing && + season.episodes === 0 && + existingSeason.status === MediaStatus.PROCESSING + ? MediaStatus.UNKNOWN + : existingSeason.status; // Same thing here, except we only do updates if 4k is enabled existingSeason.status4k = @@ -347,17 +347,17 @@ class BaseScanner { existingSeason.status4k === MediaStatus.AVAILABLE ? MediaStatus.AVAILABLE : this.enable4kShow && season.episodes4k > 0 - ? MediaStatus.PARTIALLY_AVAILABLE - : season.is4kOverride && - season.processing && - existingSeason.status4k !== MediaStatus.DELETED - ? MediaStatus.PROCESSING - : season.is4kOverride && - !season.processing && - season.episodes4k === 0 && - existingSeason.status4k === MediaStatus.PROCESSING - ? MediaStatus.UNKNOWN - : existingSeason.status4k; + ? MediaStatus.PARTIALLY_AVAILABLE + : season.is4kOverride && + season.processing && + existingSeason.status4k !== MediaStatus.DELETED + ? MediaStatus.PROCESSING + : season.is4kOverride && + !season.processing && + season.episodes4k === 0 && + existingSeason.status4k === MediaStatus.PROCESSING + ? MediaStatus.UNKNOWN + : existingSeason.status4k; } else { newSeasons.push( new Season({ @@ -366,20 +366,20 @@ class BaseScanner { season.totalEpisodes === season.episodes && season.episodes > 0 ? MediaStatus.AVAILABLE : season.episodes > 0 - ? MediaStatus.PARTIALLY_AVAILABLE - : !season.is4kOverride && season.processing - ? MediaStatus.PROCESSING - : MediaStatus.UNKNOWN, + ? MediaStatus.PARTIALLY_AVAILABLE + : !season.is4kOverride && season.processing + ? MediaStatus.PROCESSING + : MediaStatus.UNKNOWN, status4k: this.enable4kShow && season.totalEpisodes === season.episodes4k && season.episodes4k > 0 ? MediaStatus.AVAILABLE : this.enable4kShow && season.episodes4k > 0 - ? MediaStatus.PARTIALLY_AVAILABLE - : season.is4kOverride && season.processing - ? MediaStatus.PROCESSING - : MediaStatus.UNKNOWN, + ? MediaStatus.PARTIALLY_AVAILABLE + : season.is4kOverride && season.processing + ? MediaStatus.PROCESSING + : MediaStatus.UNKNOWN, }) ); } @@ -486,37 +486,37 @@ class BaseScanner { isAllStandardSeasons || shouldStayAvailable ? MediaStatus.AVAILABLE : media.seasons.some( - (season) => - season.status === MediaStatus.PARTIALLY_AVAILABLE || - season.status === MediaStatus.AVAILABLE - ) - ? MediaStatus.PARTIALLY_AVAILABLE - : (!seasons.length && media.status !== MediaStatus.DELETED) || - media.seasons.some( - (season) => season.status === MediaStatus.PROCESSING - ) - ? MediaStatus.PROCESSING - : media.status === MediaStatus.DELETED - ? MediaStatus.DELETED - : MediaStatus.UNKNOWN; + (season) => + season.status === MediaStatus.PARTIALLY_AVAILABLE || + season.status === MediaStatus.AVAILABLE + ) + ? MediaStatus.PARTIALLY_AVAILABLE + : (!seasons.length && media.status !== MediaStatus.DELETED) || + media.seasons.some( + (season) => season.status === MediaStatus.PROCESSING + ) + ? MediaStatus.PROCESSING + : media.status === MediaStatus.DELETED + ? MediaStatus.DELETED + : MediaStatus.UNKNOWN; media.status4k = (isAll4kSeasons || shouldStayAvailable4k) && this.enable4kShow ? MediaStatus.AVAILABLE : this.enable4kShow && - media.seasons.some( - (season) => - season.status4k === MediaStatus.PARTIALLY_AVAILABLE || - season.status4k === MediaStatus.AVAILABLE - ) - ? MediaStatus.PARTIALLY_AVAILABLE - : (!seasons.length && media.status4k !== MediaStatus.DELETED) || - media.seasons.some( - (season) => season.status4k === MediaStatus.PROCESSING - ) - ? MediaStatus.PROCESSING - : media.status4k === MediaStatus.DELETED - ? MediaStatus.DELETED - : MediaStatus.UNKNOWN; + media.seasons.some( + (season) => + season.status4k === MediaStatus.PARTIALLY_AVAILABLE || + season.status4k === MediaStatus.AVAILABLE + ) + ? MediaStatus.PARTIALLY_AVAILABLE + : (!seasons.length && media.status4k !== MediaStatus.DELETED) || + media.seasons.some( + (season) => season.status4k === MediaStatus.PROCESSING + ) + ? MediaStatus.PROCESSING + : media.status4k === MediaStatus.DELETED + ? MediaStatus.DELETED + : MediaStatus.UNKNOWN; await mediaRepository.save(media); this.log(`Updating existing title: ${title}`); } else { @@ -567,31 +567,31 @@ class BaseScanner { status: isAllStandardSeasons ? MediaStatus.AVAILABLE : newSeasons.some( - (season) => - season.status === MediaStatus.PARTIALLY_AVAILABLE || - season.status === MediaStatus.AVAILABLE - ) - ? MediaStatus.PARTIALLY_AVAILABLE - : newSeasons.some( - (season) => season.status === MediaStatus.PROCESSING - ) - ? MediaStatus.PROCESSING - : MediaStatus.UNKNOWN, + (season) => + season.status === MediaStatus.PARTIALLY_AVAILABLE || + season.status === MediaStatus.AVAILABLE + ) + ? MediaStatus.PARTIALLY_AVAILABLE + : newSeasons.some( + (season) => season.status === MediaStatus.PROCESSING + ) + ? MediaStatus.PROCESSING + : MediaStatus.UNKNOWN, status4k: isAll4kSeasons && this.enable4kShow ? MediaStatus.AVAILABLE : this.enable4kShow && - newSeasons.some( - (season) => - season.status4k === MediaStatus.PARTIALLY_AVAILABLE || - season.status4k === MediaStatus.AVAILABLE - ) - ? MediaStatus.PARTIALLY_AVAILABLE - : newSeasons.some( - (season) => season.status4k === MediaStatus.PROCESSING - ) - ? MediaStatus.PROCESSING - : MediaStatus.UNKNOWN, + newSeasons.some( + (season) => + season.status4k === MediaStatus.PARTIALLY_AVAILABLE || + season.status4k === MediaStatus.AVAILABLE + ) + ? MediaStatus.PARTIALLY_AVAILABLE + : newSeasons.some( + (season) => season.status4k === MediaStatus.PROCESSING + ) + ? MediaStatus.PROCESSING + : MediaStatus.UNKNOWN, }); await mediaRepository.save(newMedia); this.log(`Saved ${title}`); diff --git a/server/lib/search.ts b/server/lib/search.ts index be9ee3ae..215c9b10 100644 --- a/server/lib/search.ts +++ b/server/lib/search.ts @@ -59,12 +59,11 @@ searchProviders.push({ const successfulResponses = responses.filter( (r) => r.status === 'fulfilled' - ) as - | ( - | PromiseFulfilledResult - | PromiseFulfilledResult - | PromiseFulfilledResult - )[]; + ) as ( + | PromiseFulfilledResult + | PromiseFulfilledResult + | PromiseFulfilledResult + )[]; const results: (TmdbMovieResult | TmdbTvResult | TmdbPersonResult)[] = []; @@ -185,11 +184,10 @@ searchProviders.push({ const successfulResponses = responses.filter( (r) => r.status === 'fulfilled' - ) as - | ( - | PromiseFulfilledResult - | PromiseFulfilledResult - )[]; + ) as ( + | PromiseFulfilledResult + | PromiseFulfilledResult + )[]; const results: (TmdbMovieResult | TmdbTvResult)[] = []; diff --git a/server/migration/postgres/1734786596045-AddTelegramMessageThreadId.ts b/server/migration/postgres/1734786596045-AddTelegramMessageThreadId.ts index a1b89b12..7ad8c62d 100644 --- a/server/migration/postgres/1734786596045-AddTelegramMessageThreadId.ts +++ b/server/migration/postgres/1734786596045-AddTelegramMessageThreadId.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddTelegramMessageThreadId1734786596045 - implements MigrationInterface -{ +export class AddTelegramMessageThreadId1734786596045 implements MigrationInterface { name = 'AddTelegramMessageThreadId1734786596045'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/postgres/1743107707465-AddUserAvatarCacheFields.ts b/server/migration/postgres/1743107707465-AddUserAvatarCacheFields.ts index 1e61e996..bee577ab 100644 --- a/server/migration/postgres/1743107707465-AddUserAvatarCacheFields.ts +++ b/server/migration/postgres/1743107707465-AddUserAvatarCacheFields.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUserAvatarCacheFields1743107707465 - implements MigrationInterface -{ +export class AddUserAvatarCacheFields1743107707465 implements MigrationInterface { name = 'AddUserAvatarCacheFields1743107707465'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/postgres/1765233385034-AddUniqueConstraintToPushSubscription.ts b/server/migration/postgres/1765233385034-AddUniqueConstraintToPushSubscription.ts index bcb79d45..19404182 100644 --- a/server/migration/postgres/1765233385034-AddUniqueConstraintToPushSubscription.ts +++ b/server/migration/postgres/1765233385034-AddUniqueConstraintToPushSubscription.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUniqueConstraintToPushSubscription1765233385034 - implements MigrationInterface -{ +export class AddUniqueConstraintToPushSubscription1765233385034 implements MigrationInterface { name = 'AddUniqueConstraintToPushSubscription1765233385034'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1608217312474-AddUserRequestDeleteCascades.ts b/server/migration/sqlite/1608217312474-AddUserRequestDeleteCascades.ts index 622a2c90..53a7bbc4 100644 --- a/server/migration/sqlite/1608217312474-AddUserRequestDeleteCascades.ts +++ b/server/migration/sqlite/1608217312474-AddUserRequestDeleteCascades.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUserRequestDeleteCascades1608219049304 - implements MigrationInterface -{ +export class AddUserRequestDeleteCascades1608219049304 implements MigrationInterface { name = 'AddUserRequestDeleteCascades1608219049304'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1608477467935-AddLastSeasonChangeMedia.ts b/server/migration/sqlite/1608477467935-AddLastSeasonChangeMedia.ts index e5ab0250..31c472ee 100644 --- a/server/migration/sqlite/1608477467935-AddLastSeasonChangeMedia.ts +++ b/server/migration/sqlite/1608477467935-AddLastSeasonChangeMedia.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddLastSeasonChangeMedia1608477467935 - implements MigrationInterface -{ +export class AddLastSeasonChangeMedia1608477467935 implements MigrationInterface { name = 'AddLastSeasonChangeMedia1608477467935'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1608477467936-ForceDropImdbUniqueConstraint.ts b/server/migration/sqlite/1608477467936-ForceDropImdbUniqueConstraint.ts index d54c450e..673785bc 100644 --- a/server/migration/sqlite/1608477467936-ForceDropImdbUniqueConstraint.ts +++ b/server/migration/sqlite/1608477467936-ForceDropImdbUniqueConstraint.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class ForceDropImdbUniqueConstraint1608477467935 - implements MigrationInterface -{ +export class ForceDropImdbUniqueConstraint1608477467935 implements MigrationInterface { name = 'ForceDropImdbUniqueConstraint1608477467936'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1609236552057-RemoveTmdbIdUniqueConstraint.ts b/server/migration/sqlite/1609236552057-RemoveTmdbIdUniqueConstraint.ts index 50056892..bed042b7 100644 --- a/server/migration/sqlite/1609236552057-RemoveTmdbIdUniqueConstraint.ts +++ b/server/migration/sqlite/1609236552057-RemoveTmdbIdUniqueConstraint.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class RemoveTmdbIdUniqueConstraint1609236552057 - implements MigrationInterface -{ +export class RemoveTmdbIdUniqueConstraint1609236552057 implements MigrationInterface { name = 'RemoveTmdbIdUniqueConstraint1609236552057'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1610522845513-AddMediaAddedFieldToMedia.ts b/server/migration/sqlite/1610522845513-AddMediaAddedFieldToMedia.ts index d6574d39..3477e204 100644 --- a/server/migration/sqlite/1610522845513-AddMediaAddedFieldToMedia.ts +++ b/server/migration/sqlite/1610522845513-AddMediaAddedFieldToMedia.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddMediaAddedFieldToMedia1610522845513 - implements MigrationInterface -{ +export class AddMediaAddedFieldToMedia1610522845513 implements MigrationInterface { name = 'AddMediaAddedFieldToMedia1610522845513'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1611757511674-SonarrRadarrSyncServiceFields.ts b/server/migration/sqlite/1611757511674-SonarrRadarrSyncServiceFields.ts index 5a5b6553..d54e9dc0 100644 --- a/server/migration/sqlite/1611757511674-SonarrRadarrSyncServiceFields.ts +++ b/server/migration/sqlite/1611757511674-SonarrRadarrSyncServiceFields.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class SonarrRadarrSyncServiceFields1611757511674 - implements MigrationInterface -{ +export class SonarrRadarrSyncServiceFields1611757511674 implements MigrationInterface { name = 'SonarrRadarrSyncServiceFields1611757511674'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1612482778137-AddResetPasswordGuidAndExpiryDate.ts b/server/migration/sqlite/1612482778137-AddResetPasswordGuidAndExpiryDate.ts index 55a20a39..6bafd93d 100644 --- a/server/migration/sqlite/1612482778137-AddResetPasswordGuidAndExpiryDate.ts +++ b/server/migration/sqlite/1612482778137-AddResetPasswordGuidAndExpiryDate.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddResetPasswordGuidAndExpiryDate1612482778137 - implements MigrationInterface -{ +export class AddResetPasswordGuidAndExpiryDate1612482778137 implements MigrationInterface { name = 'AddResetPasswordGuidAndExpiryDate1612482778137'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1613955393450-UpdateUserSettingsRegions.ts b/server/migration/sqlite/1613955393450-UpdateUserSettingsRegions.ts index 69060a0c..d0b79b73 100644 --- a/server/migration/sqlite/1613955393450-UpdateUserSettingsRegions.ts +++ b/server/migration/sqlite/1613955393450-UpdateUserSettingsRegions.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class UpdateUserSettingsRegions1613955393450 - implements MigrationInterface -{ +export class UpdateUserSettingsRegions1613955393450 implements MigrationInterface { name = 'UpdateUserSettingsRegions1613955393450'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1614334195680-AddTelegramSettingsToUserSettings.ts b/server/migration/sqlite/1614334195680-AddTelegramSettingsToUserSettings.ts index 6e2598ab..fbbc8cbd 100644 --- a/server/migration/sqlite/1614334195680-AddTelegramSettingsToUserSettings.ts +++ b/server/migration/sqlite/1614334195680-AddTelegramSettingsToUserSettings.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddTelegramSettingsToUserSettings1614334195680 - implements MigrationInterface -{ +export class AddTelegramSettingsToUserSettings1614334195680 implements MigrationInterface { name = 'AddTelegramSettingsToUserSettings1614334195680'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1617624225464-CreateTagsFieldonMediaRequest.ts b/server/migration/sqlite/1617624225464-CreateTagsFieldonMediaRequest.ts index 9e676182..b67dd0b4 100644 --- a/server/migration/sqlite/1617624225464-CreateTagsFieldonMediaRequest.ts +++ b/server/migration/sqlite/1617624225464-CreateTagsFieldonMediaRequest.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class CreateTagsFieldonMediaRequest1617624225464 - implements MigrationInterface -{ +export class CreateTagsFieldonMediaRequest1617624225464 implements MigrationInterface { name = 'CreateTagsFieldonMediaRequest1617624225464'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1617730837489-AddUserSettingsNotificationAgentsField.ts b/server/migration/sqlite/1617730837489-AddUserSettingsNotificationAgentsField.ts index 9dd9288e..b63a7275 100644 --- a/server/migration/sqlite/1617730837489-AddUserSettingsNotificationAgentsField.ts +++ b/server/migration/sqlite/1617730837489-AddUserSettingsNotificationAgentsField.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUserSettingsNotificationAgentsField1617730837489 - implements MigrationInterface -{ +export class AddUserSettingsNotificationAgentsField1617730837489 implements MigrationInterface { name = 'AddUserSettingsNotificationAgentsField1617730837489'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1618912653565-CreateUserPushSubscriptions.ts b/server/migration/sqlite/1618912653565-CreateUserPushSubscriptions.ts index 97070599..dcab032e 100644 --- a/server/migration/sqlite/1618912653565-CreateUserPushSubscriptions.ts +++ b/server/migration/sqlite/1618912653565-CreateUserPushSubscriptions.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class CreateUserPushSubscriptions1618912653565 - implements MigrationInterface -{ +export class CreateUserPushSubscriptions1618912653565 implements MigrationInterface { name = 'CreateUserPushSubscriptions1618912653565'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1619339817343-AddUserSettingsNotificationTypes.ts b/server/migration/sqlite/1619339817343-AddUserSettingsNotificationTypes.ts index 50de959b..ae2a5059 100644 --- a/server/migration/sqlite/1619339817343-AddUserSettingsNotificationTypes.ts +++ b/server/migration/sqlite/1619339817343-AddUserSettingsNotificationTypes.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUserSettingsNotificationTypes1619339817343 - implements MigrationInterface -{ +export class AddUserSettingsNotificationTypes1619339817343 implements MigrationInterface { name = 'AddUserSettingsNotificationTypes1619339817343'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1635079863457-AddPushbulletPushoverUserSettings.ts b/server/migration/sqlite/1635079863457-AddPushbulletPushoverUserSettings.ts index c29cef6d..fe4c505e 100644 --- a/server/migration/sqlite/1635079863457-AddPushbulletPushoverUserSettings.ts +++ b/server/migration/sqlite/1635079863457-AddPushbulletPushoverUserSettings.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddPushbulletPushoverUserSettings1635079863457 - implements MigrationInterface -{ +export class AddPushbulletPushoverUserSettings1635079863457 implements MigrationInterface { name = 'AddPushbulletPushoverUserSettings1635079863457'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1660632269368-AddWatchlistSyncUserSetting.ts b/server/migration/sqlite/1660632269368-AddWatchlistSyncUserSetting.ts index c0d0e947..a942c1a9 100644 --- a/server/migration/sqlite/1660632269368-AddWatchlistSyncUserSetting.ts +++ b/server/migration/sqlite/1660632269368-AddWatchlistSyncUserSetting.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddWatchlistSyncUserSetting1660632269368 - implements MigrationInterface -{ +export class AddWatchlistSyncUserSetting1660632269368 implements MigrationInterface { name = 'AddWatchlistSyncUserSetting1660632269368'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1660714479373-AddMediaRequestIsAutoRequestedField.ts b/server/migration/sqlite/1660714479373-AddMediaRequestIsAutoRequestedField.ts index 8580bb4e..55effd9c 100644 --- a/server/migration/sqlite/1660714479373-AddMediaRequestIsAutoRequestedField.ts +++ b/server/migration/sqlite/1660714479373-AddMediaRequestIsAutoRequestedField.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddMediaRequestIsAutoRequestedField1660714479373 - implements MigrationInterface -{ +export class AddMediaRequestIsAutoRequestedField1660714479373 implements MigrationInterface { name = 'AddMediaRequestIsAutoRequestedField1660714479373'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1727907530757-AddUserSettingsStreamingRegion.ts b/server/migration/sqlite/1727907530757-AddUserSettingsStreamingRegion.ts index bd7a183b..facf5615 100644 --- a/server/migration/sqlite/1727907530757-AddUserSettingsStreamingRegion.ts +++ b/server/migration/sqlite/1727907530757-AddUserSettingsStreamingRegion.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUserSettingsStreamingRegion1727907530757 - implements MigrationInterface -{ +export class AddUserSettingsStreamingRegion1727907530757 implements MigrationInterface { name = 'AddUserSettingsStreamingRegion1727907530757'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1734287582736-AddTelegramMessageThreadId.ts b/server/migration/sqlite/1734287582736-AddTelegramMessageThreadId.ts index 94a76b99..2cf74852 100644 --- a/server/migration/sqlite/1734287582736-AddTelegramMessageThreadId.ts +++ b/server/migration/sqlite/1734287582736-AddTelegramMessageThreadId.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddTelegramMessageThreadId1734287582736 - implements MigrationInterface -{ +export class AddTelegramMessageThreadId1734287582736 implements MigrationInterface { name = 'AddTelegramMessageThreadId1734287582736'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1743107645301-AddUserAvatarCacheFields.ts b/server/migration/sqlite/1743107645301-AddUserAvatarCacheFields.ts index aff3e357..b2316534 100644 --- a/server/migration/sqlite/1743107645301-AddUserAvatarCacheFields.ts +++ b/server/migration/sqlite/1743107645301-AddUserAvatarCacheFields.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUserAvatarCacheFields1743107645301 - implements MigrationInterface -{ +export class AddUserAvatarCacheFields1743107645301 implements MigrationInterface { name = 'AddUserAvatarCacheFields1743107645301'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/migration/sqlite/1765233385034-AddUniqueConstraintToPushSubscription.ts b/server/migration/sqlite/1765233385034-AddUniqueConstraintToPushSubscription.ts index c0ef0fc5..c1203fb5 100755 --- a/server/migration/sqlite/1765233385034-AddUniqueConstraintToPushSubscription.ts +++ b/server/migration/sqlite/1765233385034-AddUniqueConstraintToPushSubscription.ts @@ -1,8 +1,6 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddUniqueConstraintToPushSubscription1765233385034 - implements MigrationInterface -{ +export class AddUniqueConstraintToPushSubscription1765233385034 implements MigrationInterface { name = 'AddUniqueConstraintToPushSubscription1765233385034'; public async up(queryRunner: QueryRunner): Promise { diff --git a/server/models/common.ts b/server/models/common.ts index 30b40d98..7f184ddc 100644 --- a/server/models/common.ts +++ b/server/models/common.ts @@ -149,7 +149,7 @@ export const mapWatchProviders = (watchProvidersResult: { link: provider.link, buy: mapWatchProviderDetails(provider.buy ?? []), flatrate: mapWatchProviderDetails(provider.flatrate ?? []), - } as WatchProviders) + }) as WatchProviders ); export const mapWatchProviderDetails = ( @@ -162,10 +162,10 @@ export const mapWatchProviderDetails = ( logoPath: provider.logo_path, id: provider.provider_id, name: provider.provider_name, - } as WatchProviderDetails) + }) as WatchProviderDetails ); const siteUrlCreator = (site: Video['site'], key: string): string => ({ YouTube: `https://www.youtube.com/watch?v=${key}`, - }[site]); + })[site]; diff --git a/server/routes/discover.ts b/server/routes/discover.ts index c6dab52a..b40ba996 100644 --- a/server/routes/discover.ts +++ b/server/routes/discover.ts @@ -33,15 +33,15 @@ export const createTmdbWithRegionLanguage = (user?: User): TheMovieDb => { user?.settings?.streamingRegion === 'all' ? '' : user?.settings?.streamingRegion - ? user?.settings?.streamingRegion - : settings.main.discoverRegion; + ? user?.settings?.streamingRegion + : settings.main.discoverRegion; const originalLanguage = user?.settings?.originalLanguage === 'all' ? '' : user?.settings?.originalLanguage - ? user?.settings?.originalLanguage - : settings.main.originalLanguage; + ? user?.settings?.originalLanguage + : settings.main.originalLanguage; return new TheMovieDb({ discoverRegion, @@ -697,16 +697,16 @@ discoverRoutes.get('/trending', async (req, res, next) => { ) ) : isPerson(result) - ? mapPersonResult(result) - : isCollection(result) - ? mapCollectionResult(result) - : mapTvResult( - result, - media.find( - (med) => - med.tmdbId === result.id && med.mediaType === MediaType.TV - ) - ) + ? mapPersonResult(result) + : isCollection(result) + ? mapCollectionResult(result) + : mapTvResult( + result, + media.find( + (med) => + med.tmdbId === result.id && med.mediaType === MediaType.TV + ) + ) ), }); } catch (e) { diff --git a/server/subscriber/IssueCommentSubscriber.ts b/server/subscriber/IssueCommentSubscriber.ts index 71db981d..3a7a37eb 100644 --- a/server/subscriber/IssueCommentSubscriber.ts +++ b/server/subscriber/IssueCommentSubscriber.ts @@ -13,9 +13,7 @@ import type { EntitySubscriberInterface, InsertEvent } from 'typeorm'; import { EventSubscriber } from 'typeorm'; @EventSubscriber() -export class IssueCommentSubscriber - implements EntitySubscriberInterface -{ +export class IssueCommentSubscriber implements EntitySubscriberInterface { public listenTo(): typeof IssueComment { return IssueComment; } diff --git a/server/subscriber/IssueSubscriber.ts b/server/subscriber/IssueSubscriber.ts index d54523cf..e600cd14 100644 --- a/server/subscriber/IssueSubscriber.ts +++ b/server/subscriber/IssueSubscriber.ts @@ -67,16 +67,16 @@ export class IssueSubscriber implements EntitySubscriberInterface { : '' }Issue Reported` : type === Notification.ISSUE_RESOLVED - ? `${ - entity.issueType !== IssueType.OTHER - ? `${IssueTypeName[entity.issueType]} ` - : '' - }Issue Resolved` - : `${ - entity.issueType !== IssueType.OTHER - ? `${IssueTypeName[entity.issueType]} ` - : '' - }Issue Reopened`, + ? `${ + entity.issueType !== IssueType.OTHER + ? `${IssueTypeName[entity.issueType]} ` + : '' + }Issue Resolved` + : `${ + entity.issueType !== IssueType.OTHER + ? `${IssueTypeName[entity.issueType]} ` + : '' + }Issue Reopened`, subject: title, message: firstComment.message, issue: entity, diff --git a/server/subscriber/MediaRequestSubscriber.ts b/server/subscriber/MediaRequestSubscriber.ts index 251ee47e..f9bfeabe 100644 --- a/server/subscriber/MediaRequestSubscriber.ts +++ b/server/subscriber/MediaRequestSubscriber.ts @@ -40,9 +40,7 @@ const sanitizeDisplayName = (displayName: string): string => { }; @EventSubscriber() -export class MediaRequestSubscriber - implements EntitySubscriberInterface -{ +export class MediaRequestSubscriber implements EntitySubscriberInterface { private async notifyAvailableMovie( entity: MediaRequest, event?: UpdateEvent @@ -573,8 +571,8 @@ export class MediaRequestSubscriber ? [...sonarrSettings.animeTags] : [] : sonarrSettings.tags - ? [...sonarrSettings.tags] - : []; + ? [...sonarrSettings.tags] + : []; if ( entity.rootFolder && diff --git a/server/types/error.ts b/server/types/error.ts index 4985b5c5..6b87bc86 100644 --- a/server/types/error.ts +++ b/server/types/error.ts @@ -1,7 +1,10 @@ import type { ApiErrorCode } from '@server/constants/error'; export class ApiError extends Error { - constructor(public statusCode: number, public errorCode: ApiErrorCode) { + constructor( + public statusCode: number, + public errorCode: ApiErrorCode + ) { super(); this.name = 'apiError'; diff --git a/src/components/Blacklist/index.tsx b/src/components/Blacklist/index.tsx index 32bea3b9..02a5f449 100644 --- a/src/components/Blacklist/index.tsx +++ b/src/components/Blacklist/index.tsx @@ -385,7 +385,7 @@ const BlacklistedItem = ({ item, revalidateList }: BlacklistedItemProps) => { -
+
Status diff --git a/src/components/BlacklistedTagsSelector/index.tsx b/src/components/BlacklistedTagsSelector/index.tsx index 42139b59..21ca6f3c 100644 --- a/src/components/BlacklistedTagsSelector/index.tsx +++ b/src/components/BlacklistedTagsSelector/index.tsx @@ -329,7 +329,7 @@ const BlacklistedTagImportForm = forwardRef< const VerifyClearIndicator = < Option, IsMuti extends boolean, - Group extends GroupBase
( ref={modalRef} > {backdrop && ( -
+
{ const value = Number(e.target.value); diff --git a/src/components/Common/SensitiveInput/index.tsx b/src/components/Common/SensitiveInput/index.tsx index f21dc35b..9b19e4d0 100644 --- a/src/components/Common/SensitiveInput/index.tsx +++ b/src/components/Common/SensitiveInput/index.tsx @@ -35,8 +35,8 @@ const SensitiveInput = ({ as = 'input', ...props }: SensitiveInputProps) => { isHidden ? 'password' : props.type !== 'password' - ? props.type ?? 'text' - : 'text' + ? (props.type ?? 'text') + : 'text' } /> )} -
+
-
+
{ return ( <> -
+
{firstResultData?.studio.logoPath ? (
diff --git a/src/components/Discover/DiscoverTvGenre/index.tsx b/src/components/Discover/DiscoverTvGenre/index.tsx index 633a4ad6..bc056a19 100644 --- a/src/components/Discover/DiscoverTvGenre/index.tsx +++ b/src/components/Discover/DiscoverTvGenre/index.tsx @@ -43,7 +43,7 @@ const DiscoverTvGenre = () => { return ( <> -
+
{title}
{ return ( <> -
+
{title}
{ return ( <> -
+
{title}
{ return ( <> -
+
{intl.formatMessage(messages.upcomingtv)}
{ router.pathname.startsWith('/profile') ? `user/${currentUser?.id}` : router.query.userId - ? `user/${router.query.userId}` - : 'discover' + ? `user/${router.query.userId}` + : 'discover' }/watchlist` ); @@ -55,7 +55,7 @@ const DiscoverWatchlist = () => { -
+
{ return ( <> -
+
{intl.formatMessage(messages.moviegenres)}