From 5cc78ea51b4c01ca8ff50d421520b4b0b158e7d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:41:45 +0200 Subject: [PATCH 01/10] Bump typescript-eslint from 8.3.0 to 8.4.0 (#155) Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.3.0 to 8.4.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.4.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 112 +++++++++++++++++++++------------------------- package.json | 2 +- 2 files changed, 51 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index f799512..5bd73ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.5.4", - "typescript-eslint": "^8.3.0" + "typescript-eslint": "^8.4.0" } }, "node_modules/@babel/generator": { @@ -596,17 +596,16 @@ "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.3.0.tgz", - "integrity": "sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz", + "integrity": "sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.3.0", - "@typescript-eslint/type-utils": "8.3.0", - "@typescript-eslint/utils": "8.3.0", - "@typescript-eslint/visitor-keys": "8.3.0", + "@typescript-eslint/scope-manager": "8.4.0", + "@typescript-eslint/type-utils": "8.4.0", + "@typescript-eslint/utils": "8.4.0", + "@typescript-eslint/visitor-keys": "8.4.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -630,16 +629,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.3.0.tgz", - "integrity": "sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.4.0.tgz", + "integrity": "sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.3.0", - "@typescript-eslint/types": "8.3.0", - "@typescript-eslint/typescript-estree": "8.3.0", - "@typescript-eslint/visitor-keys": "8.3.0", + "@typescript-eslint/scope-manager": "8.4.0", + "@typescript-eslint/types": "8.4.0", + "@typescript-eslint/typescript-estree": "8.4.0", + "@typescript-eslint/visitor-keys": "8.4.0", "debug": "^4.3.4" }, "engines": { @@ -659,14 +657,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.3.0.tgz", - "integrity": "sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz", + "integrity": "sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.3.0", - "@typescript-eslint/visitor-keys": "8.3.0" + "@typescript-eslint/types": "8.4.0", + "@typescript-eslint/visitor-keys": "8.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -677,14 +674,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.3.0.tgz", - "integrity": "sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz", + "integrity": "sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.3.0", - "@typescript-eslint/utils": "8.3.0", + "@typescript-eslint/typescript-estree": "8.4.0", + "@typescript-eslint/utils": "8.4.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -702,11 +698,10 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.3.0.tgz", - "integrity": "sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.4.0.tgz", + "integrity": "sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -716,14 +711,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.3.0.tgz", - "integrity": "sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz", + "integrity": "sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.3.0", - "@typescript-eslint/visitor-keys": "8.3.0", + "@typescript-eslint/types": "8.4.0", + "@typescript-eslint/visitor-keys": "8.4.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -745,16 +739,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz", - "integrity": "sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.4.0.tgz", + "integrity": "sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.3.0", - "@typescript-eslint/types": "8.3.0", - "@typescript-eslint/typescript-estree": "8.3.0" + "@typescript-eslint/scope-manager": "8.4.0", + "@typescript-eslint/types": "8.4.0", + "@typescript-eslint/typescript-estree": "8.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -768,13 +761,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.3.0.tgz", - "integrity": "sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz", + "integrity": "sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/types": "8.4.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -2083,8 +2075,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/has": { "version": "1.0.4", @@ -2641,7 +2632,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3938,7 +3928,6 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" }, @@ -4043,15 +4032,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.3.0.tgz", - "integrity": "sha512-EvWjwWLwwKDIJuBjk2I6UkV8KEQcwZ0VM10nR1rIunRDIP67QJTZAHBXTX0HW/oI1H10YESF8yWie8fRQxjvFA==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.4.0.tgz", + "integrity": "sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.3.0", - "@typescript-eslint/parser": "8.3.0", - "@typescript-eslint/utils": "8.3.0" + "@typescript-eslint/eslint-plugin": "8.4.0", + "@typescript-eslint/parser": "8.4.0", + "@typescript-eslint/utils": "8.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index e567176..193ccf8 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.5.4", - "typescript-eslint": "^8.3.0" + "typescript-eslint": "^8.4.0" }, "dependencies": { "axios": "^1.7.7", From 48509dc8d7ce894bdde18d3b2eda50d28e5b6390 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:46:27 +0200 Subject: [PATCH 02/10] Bump @types/config from 3.3.4 to 3.3.5 (#156) Bumps [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) from 3.3.4 to 3.3.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/config) --- updated-dependencies: - dependency-name: "@types/config" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5bd73ee..49b335d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ }, "devDependencies": { "@eslint/js": "^9.9.1", - "@types/config": "^3.3.4", + "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", "@types/node": "^22.5.2", @@ -476,9 +476,9 @@ } }, "node_modules/@types/config": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@types/config/-/config-3.3.4.tgz", - "integrity": "sha512-qFiTLnWy+TdPSMIXFHP+87lFXFRM4SXjRS+CSB66+56TrpLNw003y1sh7DGaaC1NGesxgKoT5FDy6dyA1Xju/g==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/config/-/config-3.3.5.tgz", + "integrity": "sha512-itq2HtXQBrNUKwMNZnb9mBRE3T99VYCdl1gjST9rq+9kFaB1iMMGuDeZnP88qid73DnpAMKH9ZolqDpS1Lz7+w==", "dev": true }, "node_modules/@types/eslint": { diff --git a/package.json b/package.json index 193ccf8..bdd94a2 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "license": "GPL-3.0", "devDependencies": { "@eslint/js": "^9.9.1", - "@types/config": "^3.3.4", + "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", "@types/node": "^22.5.2", From a9c7e2c304376f1077d88996c5b76f7b58a63262 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:49:54 +0200 Subject: [PATCH 03/10] Bump @types/node from 22.5.2 to 22.5.4 (#158) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.2 to 22.5.4. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 49b335d..5b31799 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@vercel/ncc": "^0.38.1", "eslint": "^9.9.1", "nodemon": "^3.1.4", @@ -560,9 +560,9 @@ } }, "node_modules/@types/node": { - "version": "22.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.2.tgz", - "integrity": "sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==", + "version": "22.5.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", + "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", "dependencies": { "undici-types": "~6.19.2" } diff --git a/package.json b/package.json index bdd94a2..7d3be24 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@vercel/ncc": "^0.38.1", "eslint": "^9.9.1", "nodemon": "^3.1.4", From 75727da52346f7c27f671e96dfeeaa92bcee8ba0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:53:08 +0200 Subject: [PATCH 04/10] Bump @eslint/js from 9.9.1 to 9.10.0 (#157) Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.9.1 to 9.10.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.10.0/packages/js) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 18 +++++++++++++----- package.json | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b31799..9a76102 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "winston": "^3.14.2" }, "devDependencies": { - "@eslint/js": "^9.9.1", + "@eslint/js": "^9.10.0", "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", @@ -237,11 +237,10 @@ } }, "node_modules/@eslint/js": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", - "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", + "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -1579,6 +1578,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@eslint/js": { + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/package.json b/package.json index 7d3be24..bac5241 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "author": "Navino16", "license": "GPL-3.0", "devDependencies": { - "@eslint/js": "^9.9.1", + "@eslint/js": "^9.10.0", "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", From dda05224ba18defe703b2e15a6034a7acecfe203 Mon Sep 17 00:00:00 2001 From: Jaunet Nathan Date: Thu, 19 Sep 2024 16:04:27 +0200 Subject: [PATCH 05/10] [FEATURE]: Support most watched Movies and TV Shows (#154) * Config for most watched * Allow array of mostWatched and add year parameter --- README.md | 59 ++++++++----- src/Flixpatrol/FlixPatrol.ts | 74 +++++++++++----- src/Utils/GetAndValidateConfigs.ts | 136 +++++++++++++++++++++++++++++ src/Utils/Utils.ts | 6 ++ src/app.ts | 36 +++++++- 5 files changed, 268 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index b341cf9..9a0f79b 100644 --- a/README.md +++ b/README.md @@ -107,26 +107,39 @@ At first run a default configuration file will be generated with some top10 prec If there is any configuration error, the tool will exit whit information about the error. -| Name | Descriptions | Values | Default | -|------------------------|------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| FlixPatrolTop10 | An array containing as much as you want top10Config | | | -| top10Config.platform | Which platform to get from Flixpatrol | Any Flixpatrol platform ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L48)) | | -| top10Config.location | Which location to get from Flixpatrol | Any Flixpatrol location ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L22)) | | -| top10Config.fallback | If there is no show/movie found, should we fallback to another location? | False or any Flixpatrol location ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L22)) | false | -| top10Config.privacy | The privacy of the generated Trakt list | private, public | private | -| top10Config.limit | How many movie/show we should get from Flixpatrol | Number between 1 and 10 (included) | 10 | -| top10Config.type | Do you want movies, shows or both ? | movies, shows, both | both | -| top10Config.name | Optional name of the list | Any valid string | A generated name based on the top10 config | -| FlixPatrolPopular | An array containing as much as you want popularConfig | | | -| popularConfig.platform | Which popular platform to get from Flixpatrol | Any Flixpatrol popular platform ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L53)) | | -| popularConfig.privacy | The privacy of the generated Trakt list | private, public | private | -| popularConfig.limit | How many movie/show we should get from Flixpatrol | Number between 1 and 100 (included) | 100 | -| Trakt.saveFile | Where to save the Trakt session file | Any valid path | ./config/.trakt | -| Trakt.clientId | You clientId from Trakt ([here](https://trakt.tv/oauth/applications/new) to get a new one) | A valid traktId | | -| Trakt.clientSecret | You clientSecret from Trakt ([here](https://trakt.tv/oauth/applications/new) to get a new one) | A valid clientSecret | | -| Cache.enabled | Do you want to use cache? (You should) | true, false | true | -| Cache.savePath | Where to save the caches files | Any valid path | ./config/.cache | -| Cache.ttl | How long the cache will be valid in seconds | Any number greater than 0 | 604800 | +| Name | Descriptions | Mandatory | Values | Default | +|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------| +| FlixPatrolTop10 | An array containing as much as you want top10Config | Yes | | | +| top10Config.platform | Which platform to get from Flixpatrol | Yes | Any Flixpatrol platform ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L48)) | | +| top10Config.location | Which location to get from Flixpatrol | Yes | Any Flixpatrol location ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L22)) | | +| top10Config.fallback | If there is no show/movie found, should we fallback to another location? | Yes | False or any Flixpatrol location ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L22)) | false | +| top10Config.privacy | The privacy of the generated Trakt list | Yes | private, public | private | +| top10Config.limit | How many movie/show we should get from Flixpatrol | Yes | Number between 1 and 10 (included) | 10 | +| top10Config.type | Do you want movies, shows or both ? | Yes | movies, shows, both | both | +| top10Config.name | Optional name of the list | No | Any valid string | A generated name based on the top10 config | +| FlixPatrolPopular | An array containing as much as you want popularConfig | Yes | | | +| popularConfig.platform | Which popular platform to get from Flixpatrol | Yes | Any Flixpatrol popular platform ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L53)) | | +| popularConfig.privacy | The privacy of the generated Trakt list | Yes | private, public | private | +| popularConfig.limit | How many movie/show we should get from Flixpatrol | Yes | Number between 1 and 100 (included) | 100 | +| popularConfig.type | Do you want movies, shows or both ? | Yes | movies, shows, both | both | +| popularConfig.name | Optional name of the list | No | Any valid string | A generated name based on the popular config | +| FlixPatrolMostWatched | An array containing as much as you want flixPatrolMostWatched | Yes | | | +| flixPatrolMostWatched.enabled | Do you want to get a most watched list ? | Yes | true, false | true | +| flixPatrolMostWatched.privacy | The privacy of the generated Trakt list | Yes | private, public | private | +| flixPatrolMostWatched.type | Do you want movies, shows or both ? | Yes | movies, shows, both | both | +| flixPatrolMostWatched.limit | How many movie/show we should get from Flixpatrol | Yes | Number between 1 and 50 (included) | 50 | +| flixPatrolMostWatched.year | Year of the most watched list | Yes | Number between 2023 current year (included) | 50 | +| flixPatrolMostWatched.name | Optional name of the list | No | Any valid string | most-watched | +| flixPatrolMostWatched.premiere | Year of movie/show release. It will only return most watched movies/shows of this year. If omitted, all movie/shows are returned | No | Year between 1980 and current year (included) | All | +| flixPatrolMostWatched.country | Release country of movie/show. It will only return most watched movies/shows of this country. If omitted, all movie/shows are returned | No | Any Flixpatrol location ([see this](https://github.com/Navino16/flixpatrol-top10-on-trakt/blob/main/src/Flixpatrol/FlixPatrol.ts#L22)) | All | +| flixPatrolMostWatched.original | Return only movie/show created by Netflix. If omitted, all movie/shows are returned | No | true, false | false | +| flixPatrolMostWatched.orderByViews | Order list by views. By default ordered by hours | No | true, false | false | +| Trakt.saveFile | Where to save the Trakt session file | Yes | Any valid path | ./config/.trakt | +| Trakt.clientId | You clientId from Trakt ([here](https://trakt.tv/oauth/applications/new) to get a new one) | Yes | A valid traktId | | +| Trakt.clientSecret | You clientSecret from Trakt ([here](https://trakt.tv/oauth/applications/new) to get a new one) | Yes | A valid clientSecret | | +| Cache.enabled | Do you want to use cache? (You should) | Yes | true, false | true | +| Cache.savePath | Where to save the caches files | Yes | Any valid path | ./config/.cache | +| Cache.ttl | How long the cache will be valid in seconds | Yes | Any number greater than 0 | 604800 | #### Example file ````json @@ -183,6 +196,12 @@ If there is any configuration error, the tool will exit whit information about t "limit": 100 } ], + "FlixPatrolMostWatched": { + "enabled": true, + "privacy": "public", + "limit": 50, + "type": "both" + }, "Trakt": { "saveFile": "./config/.trakt", "clientId": "You need to replace this client ID", diff --git a/src/Flixpatrol/FlixPatrol.ts b/src/Flixpatrol/FlixPatrol.ts index eff7db4..5f31acd 100644 --- a/src/Flixpatrol/FlixPatrol.ts +++ b/src/Flixpatrol/FlixPatrol.ts @@ -6,7 +6,7 @@ import Cache, { FileSystemCache } from 'file-system-cache'; import { logger } from '../Utils'; import type { TraktTVId, TraktTVIds } from '../Trakt'; import { TraktAPI } from '../Trakt'; -import type { FlixPatrolPopular, FlixPatrolTop10 } from '../Utils/GetAndValidateConfigs'; +import type {FlixPatrolMostWatched, FlixPatrolPopular, FlixPatrolTop10} from '../Utils/GetAndValidateConfigs'; export interface FlixPatrolOptions { url?: string; @@ -103,7 +103,7 @@ export class FlixPatrol { * @param path */ public async getFlixPatrolHTMLPage(path: string): Promise { - const url = `${this.options.url}/${path}`; + const url = `${this.options.url}${path}`; logger.silly(`Accessing URL: ${url}`); const axiosConfig: AxiosRequestConfig = { headers: { @@ -125,7 +125,6 @@ export class FlixPatrol { platform: FlixPatrolTop10Platform, html: string, ): FlixPatrolMatchResult[] { - const dom = new JSDOM(html); let expression; if (location !== 'world') { expression = `//h3[text() = "TOP 10 ${type}"]/following-sibling::div//a[@class="hover:underline"]/@href`; @@ -134,31 +133,32 @@ export class FlixPatrol { expression = `//div[@id="${platform}-${id}"]//a[contains(@class, "hover:underline")]/@href`; } - logger.silly(`Xpath expression for top10 page: ${expression}`) - const match = dom.window.document.evaluate( - expression, - dom.window.document, - null, - dom.window.XPathResult.UNORDERED_NODE_ITERATOR_TYPE, - null, - ); - const results: string[] = []; - - let p = match.iterateNext(); - while (p !== null) { - results.push(p.textContent as string); - p = match.iterateNext(); - } - logger.silly(`Xpath matches: ${results}`) - return results; + return FlixPatrol.parsePage(expression, html, 'top10'); } private static parsePopularPage( html: string, ): FlixPatrolMatchResult[] { - const dom = new JSDOM(html); const expression = '//table[@class="card-table"]//a[@class="flex gap-2 group items-center"]/@href'; - logger.silly(`Xpath expression for popular page: ${expression}`) + + return FlixPatrol.parsePage(expression, html, 'popular'); + } + + private static parseMostWatchedPage( + html: string, + config: FlixPatrolMostWatched + ): FlixPatrolMatchResult[] { + let expression = '//table[@class="card-table"]//a[@class="flex gap-2 group items-center"]/@href'; + if (config.original !== undefined && config.original) { + expression = '//table[@class="card-table"]//a[@class="flex gap-2 group items-center"][.//svg]/@href' + } + + return FlixPatrol.parsePage(expression, html, 'most-watched'); + } + + private static parsePage(expression: string, html: string, pageName: string): FlixPatrolMatchResult[] { + const dom = new JSDOM(html); + logger.silly(`Xpath expression for ${pageName} page: ${expression}`) const match = dom.window.document.evaluate( expression, dom.window.document, @@ -290,4 +290,34 @@ export class FlixPatrol { results = results.slice(0, config.limit); return this.convertResultsToIds(results, type, trakt); } + + public async getMostWatched( + type: FlixPatrolType, + config: FlixPatrolMostWatched, + trakt: TraktAPI, + ): Promise { + const urlType = type === 'Movies' ? 'movies' : 'tv-shows'; + let url = `/most-watched/${config.year}/${urlType}`; + if (config.country !== undefined) { + url += `-from-${config.country}`; + } + if (config.premiere !== undefined && config.premiere) { + url += `-${config.premiere}`; + } + if (type !== 'Movies') { + url += '-grouped'; + } + if (config.orderByViews !== undefined && config.orderByViews) { + url += '/by-views'; + } + + const html = await this.getFlixPatrolHTMLPage(url); + if (html === null) { + logger.error('FlixPatrol Error: unable to get FlixPatrol most-watched page'); + process.exit(1); + } + let results = FlixPatrol.parseMostWatchedPage(html, config); + results = results.slice(0, config.limit); + return this.convertResultsToIds(results, type, trakt); + } } diff --git a/src/Utils/GetAndValidateConfigs.ts b/src/Utils/GetAndValidateConfigs.ts index 61cc0d5..66bfe1d 100644 --- a/src/Utils/GetAndValidateConfigs.ts +++ b/src/Utils/GetAndValidateConfigs.ts @@ -23,6 +23,19 @@ export interface FlixPatrolPopular { name?: string; } +export interface FlixPatrolMostWatched { + enabled: boolean; + privacy: TraktPrivacy; + type: string; + limit: number; + year: number; + name?: string; + premiere?: number; + country?: FlixPatrolTop10Location; + original?: boolean; + orderByViews?: boolean; +} + export class GetAndValidateConfigs { private static traktPrivacy: string[] = ['private', 'link', 'friends', 'public']; @@ -203,6 +216,129 @@ export class GetAndValidateConfigs { return flixPatrolPopularConfigs as FlixPatrolPopular[]; } + public static getFlixPatrolMostWatched(): FlixPatrolMostWatched[] { + let flixPatrolMostWatchedConfigs: Partial[]; + + const currentYear = new Date().getFullYear(); + + try { + flixPatrolMostWatchedConfigs = config.get('FlixPatrolMostWatched'); + + flixPatrolMostWatchedConfigs.forEach((flixPatrolMostWatchedConfig, index) => { + // Check if enabled property is valid + if (!Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'enabled')) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].enabled" -> property not found`); + process.exit(1); + } + if (typeof flixPatrolMostWatchedConfig.enabled !== 'boolean') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].enabled" -> not a valid boolean`); + process.exit(1); + } + + // Check if privacy property is valid + if (!Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'privacy')) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].privacy" -> property not found`); + process.exit(1); + } + if (typeof flixPatrolMostWatchedConfig.privacy !== 'string') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].privacy" -> not a valid string`); + process.exit(1); + } + if (!GetAndValidateConfigs.traktPrivacy.includes(flixPatrolMostWatchedConfig.privacy)) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].privacy" -> ${flixPatrolMostWatchedConfig.privacy} is not a valid privacy`); + process.exit(1); + } + + // Check if limit property is valid + if (!Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'limit')) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].limit" -> property not found`); + process.exit(1); + } + if (typeof flixPatrolMostWatchedConfig.limit !== 'number') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].limit" -> not a valid number`); + process.exit(1); + } + if (flixPatrolMostWatchedConfig.limit < 1 || flixPatrolMostWatchedConfig.limit > 50) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].limit" -> limit should be a value between 1 and 50`); + process.exit(1); + } + + // Check if year property is valid + if (!Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'year')) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].year" -> property not found`); + process.exit(1); + } + if (typeof flixPatrolMostWatchedConfig.year !== 'number') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].year" -> not a valid number`); + process.exit(1); + } + if (flixPatrolMostWatchedConfig.year < 2023 || flixPatrolMostWatchedConfig.year > currentYear) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].year" -> year should be a value between 2023 and ${currentYear}`); + process.exit(1); + } + + // Check if type property is valid + if (!Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'type')) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].type" -> type not found`); + process.exit(1); + } + if (typeof flixPatrolMostWatchedConfig.type !== 'string') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].type" -> not a valid string`); + process.exit(1); + } + if (!FlixPatrol.isFlixPatrolType(flixPatrolMostWatchedConfig.type)) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].type" -> ${flixPatrolMostWatchedConfig.type} is not a valid type. Must be 'movies', 'shows' or 'both'`); + process.exit(1); + } + + // Check if optional premiere property is valid + if (Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'premiere') && typeof flixPatrolMostWatchedConfig.premiere !== 'number') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].premiere" -> not a valid number`); + process.exit(1); + } + if (flixPatrolMostWatchedConfig.premiere !== undefined + && (flixPatrolMostWatchedConfig.premiere < 1980 || flixPatrolMostWatchedConfig.premiere > currentYear)) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].premiere" -> limit should be a value between 1980 and ${currentYear}`); + process.exit(1); + } + + // Check if optional country property is valid + if (Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'country') && typeof flixPatrolMostWatchedConfig.country !== 'string') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].country" -> not a valid string`); + process.exit(1); + } + if (flixPatrolMostWatchedConfig.country !== undefined + && !FlixPatrol.isFlixPatrolTop10Location(flixPatrolMostWatchedConfig.country)) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].country" -> ${flixPatrolMostWatchedConfig.country} is not a valid location`); + process.exit(1); + } + + // Check if optional original property is valid + if (Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'original') && typeof flixPatrolMostWatchedConfig.original !== 'boolean') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].original" -> not a valid boolean`); + process.exit(1); + } + + // Check if optional original property is valid + if (Object.prototype.hasOwnProperty.call(flixPatrolMostWatchedConfig, 'orderByViews') && typeof flixPatrolMostWatchedConfig.orderByViews !== 'boolean') { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].orderByViews" -> not a valid boolean`); + process.exit(1); + } + + // Check if optional name property is valid + if (typeof flixPatrolMostWatchedConfig.name !== 'string' && flixPatrolMostWatchedConfig.name !== undefined) { + logger.error(`Configuration Error: Property "FlixPatrolMostWatched[${index}].name" -> not a valid string`); + process.exit(1); + } + }); + } catch (err) { + logger.error(`Configuration Error: ${err}`); + process.exit(1); + } + + return flixPatrolMostWatchedConfigs as FlixPatrolMostWatched[]; + } + public static getTraktOptions(): TraktAPIOptions { let traktConfig: Partial; try { diff --git a/src/Utils/Utils.ts b/src/Utils/Utils.ts index 8db4835..2079741 100644 --- a/src/Utils/Utils.ts +++ b/src/Utils/Utils.ts @@ -73,6 +73,12 @@ export class Utils { + ' "type": "both",\n' + ' }\n' + ' ],\n' + + ' "FlixPatrolMostWatched": {\n' + + ' "enabled": true,\n' + + ' "privacy": "public",\n' + + ' "limit": 100,\n' + + ' "type": "both"\n' + + ' },\n' + ' "Trakt": {\n' + ' "saveFile": "./config/.trakt",\n' + ' "clientId": "You need to replace this client ID",\n' diff --git a/src/app.ts b/src/app.ts index df8f046..0470af0 100644 --- a/src/app.ts +++ b/src/app.ts @@ -2,7 +2,7 @@ import type { CacheOptions } from './Flixpatrol'; import { FlixPatrol } from './Flixpatrol'; import { logger, Utils } from './Utils'; -import type { FlixPatrolPopular, FlixPatrolTop10 } from './Utils/GetAndValidateConfigs'; +import type {FlixPatrolMostWatched, FlixPatrolPopular, FlixPatrolTop10} from './Utils/GetAndValidateConfigs'; import { GetAndValidateConfigs } from './Utils/GetAndValidateConfigs'; import type { TraktAPIOptions } from './Trakt'; import { TraktAPI } from './Trakt'; @@ -14,11 +14,13 @@ const cacheOptions: CacheOptions = GetAndValidateConfigs.getCacheOptions(); const traktOptions: TraktAPIOptions = GetAndValidateConfigs.getTraktOptions(); const flixPatrolTop10: FlixPatrolTop10[] = GetAndValidateConfigs.getFlixPatrolTop10(); const flixPatrolPopulars: FlixPatrolPopular[] = GetAndValidateConfigs.getFlixPatrolPopular(); +const flixPatrolMostWatched: FlixPatrolMostWatched[] = GetAndValidateConfigs.getFlixPatrolMostWatched(); logger.silly(`cacheOptions: ${JSON.stringify(cacheOptions)}`); logger.silly(`traktOptions: ${JSON.stringify({...traktOptions, clientId: 'REDACTED', clientSecret: 'REDACTED'})}`); logger.silly(`flixPatrolTop10: ${JSON.stringify(flixPatrolTop10)}`); logger.silly(`flixPatrolPopulars: ${JSON.stringify(flixPatrolPopulars)}`); +logger.silly(`flixPatrolMostWatched: ${JSON.stringify(flixPatrolMostWatched)}`); const flixpatrol = new FlixPatrol(cacheOptions); const trakt = new TraktAPI(traktOptions); @@ -80,6 +82,38 @@ trakt.connect().then(async () => { logger.info(`List ${listName} updated with ${popularShows.length} new shows`); } } + + for (const mostWatched of flixPatrolMostWatched) { + if (mostWatched.enabled) { + let listName: string; + if (mostWatched.name) { + listName = mostWatched.name.toLowerCase().replace(/\s+/g, '-'); + } else { + listName = 'most-watched-netflix'; + listName = mostWatched.original !== undefined ? `${listName}-original` : listName; + listName = mostWatched.premiere !== undefined ? `${listName}-${mostWatched.premiere}` : listName; + listName = mostWatched.country !== undefined ? `${listName}-${mostWatched.country}` : listName; + } + + if (mostWatched.type === 'movies' || mostWatched.type === 'both') { + logger.info('=============================='); + logger.info(`Getting movies for ${listName}`); + const mostWatchedMovies = await flixpatrol.getMostWatched('Movies', mostWatched, trakt); + logger.debug(`most-watched movies: ${mostWatchedMovies}`); + await trakt.pushToList(mostWatchedMovies, listName, 'movie', mostWatched.privacy); + logger.info(`List ${listName} updated with ${mostWatchedMovies.length} new movies`); + } + + if (mostWatched.type === 'shows' || mostWatched.type === 'both') { + logger.info('=============================='); + logger.info(`Getting shows for ${listName}`); + const mostWatchedShows = await flixpatrol.getMostWatched('TV Shows', mostWatched, trakt); + logger.debug(`most-watched shows: ${mostWatchedShows}`); + await trakt.pushToList(mostWatchedShows, listName, 'show', mostWatched.privacy); + logger.info(`List ${listName} updated with ${mostWatchedShows.length} new shows`); + } + } + } }); process.on('SIGINT', () => { From 5f599e9fe40dbd72130329bb4e4c667e2b40a9eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:09:27 +0200 Subject: [PATCH 06/10] Bump eslint from 9.9.1 to 9.10.0 (#160) Bumps [eslint](https://github.com/eslint/eslint) from 9.9.1 to 9.10.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.9.1...v9.10.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 34 ++++++++++++++++++---------------- package.json | 2 +- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9a76102..b8a7586 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "@types/jsdom": "^21.1.7", "@types/node": "^22.5.4", "@vercel/ncc": "^0.38.1", - "eslint": "^9.9.1", + "eslint": "^9.10.0", "nodemon": "^3.1.4", "pkg": "^5.8.1", "rimraf": "^6.0.1", @@ -254,6 +254,18 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/plugin-kit": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", + "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "dev": true, + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1491,17 +1503,17 @@ } }, "node_modules/eslint": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz", - "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", + "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "@eslint/config-array": "^0.18.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.9.1", + "@eslint/js": "9.10.0", + "@eslint/plugin-kit": "^0.1.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -1524,7 +1536,6 @@ "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", @@ -1578,15 +1589,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/@eslint/js": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", - "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/package.json b/package.json index bac5241..1c3a8f4 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@types/jsdom": "^21.1.7", "@types/node": "^22.5.4", "@vercel/ncc": "^0.38.1", - "eslint": "^9.9.1", + "eslint": "^9.10.0", "nodemon": "^3.1.4", "pkg": "^5.8.1", "rimraf": "^6.0.1", From 8052933d7155121b6532148f3e17f63ae7fcd32d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:13:13 +0200 Subject: [PATCH 07/10] Bump typescript from 5.5.4 to 5.6.2 (#161) Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.6.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8a7586..761e346 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "pkg": "^5.8.1", "rimraf": "^6.0.1", "ts-node": "^10.9.2", - "typescript": "^5.5.4", + "typescript": "^5.6.2", "typescript-eslint": "^8.4.0" } }, @@ -4028,11 +4028,10 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 1c3a8f4..c025527 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "pkg": "^5.8.1", "rimraf": "^6.0.1", "ts-node": "^10.9.2", - "typescript": "^5.5.4", + "typescript": "^5.6.2", "typescript-eslint": "^8.4.0" }, "dependencies": { From e7e9151e562ada0a7c6e416464970b11013232ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:17:39 +0200 Subject: [PATCH 08/10] Bump @types/node from 22.5.4 to 22.5.5 (#162) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.4 to 22.5.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 761e346..8aa77ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", - "@types/node": "^22.5.4", + "@types/node": "^22.5.5", "@vercel/ncc": "^0.38.1", "eslint": "^9.10.0", "nodemon": "^3.1.4", @@ -571,9 +571,9 @@ } }, "node_modules/@types/node": { - "version": "22.5.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", - "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", + "version": "22.5.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", + "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", "dependencies": { "undici-types": "~6.19.2" } diff --git a/package.json b/package.json index c025527..be2fb8e 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@types/config": "^3.3.5", "@types/eslint__js": "^8.42.3", "@types/jsdom": "^21.1.7", - "@types/node": "^22.5.4", + "@types/node": "^22.5.5", "@vercel/ncc": "^0.38.1", "eslint": "^9.10.0", "nodemon": "^3.1.4", From b2c964a0b6e91f49334344732666cc0cfdffbafc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:20:50 +0200 Subject: [PATCH 09/10] Bump typescript-eslint from 8.4.0 to 8.6.0 (#164) Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.4.0 to 8.6.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8aa77ba..91a21da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.6.2", - "typescript-eslint": "^8.4.0" + "typescript-eslint": "^8.6.0" } }, "node_modules/@babel/generator": { @@ -607,16 +607,16 @@ "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz", - "integrity": "sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.6.0.tgz", + "integrity": "sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.4.0", - "@typescript-eslint/type-utils": "8.4.0", - "@typescript-eslint/utils": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0", + "@typescript-eslint/scope-manager": "8.6.0", + "@typescript-eslint/type-utils": "8.6.0", + "@typescript-eslint/utils": "8.6.0", + "@typescript-eslint/visitor-keys": "8.6.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -640,15 +640,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.4.0.tgz", - "integrity": "sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.6.0.tgz", + "integrity": "sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.4.0", - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/typescript-estree": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0", + "@typescript-eslint/scope-manager": "8.6.0", + "@typescript-eslint/types": "8.6.0", + "@typescript-eslint/typescript-estree": "8.6.0", + "@typescript-eslint/visitor-keys": "8.6.0", "debug": "^4.3.4" }, "engines": { @@ -668,13 +668,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz", - "integrity": "sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.6.0.tgz", + "integrity": "sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0" + "@typescript-eslint/types": "8.6.0", + "@typescript-eslint/visitor-keys": "8.6.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -685,13 +685,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz", - "integrity": "sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.6.0.tgz", + "integrity": "sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "8.4.0", - "@typescript-eslint/utils": "8.4.0", + "@typescript-eslint/typescript-estree": "8.6.0", + "@typescript-eslint/utils": "8.6.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -709,9 +709,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.4.0.tgz", - "integrity": "sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.6.0.tgz", + "integrity": "sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -722,13 +722,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz", - "integrity": "sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.6.0.tgz", + "integrity": "sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/visitor-keys": "8.4.0", + "@typescript-eslint/types": "8.6.0", + "@typescript-eslint/visitor-keys": "8.6.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -750,15 +750,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.4.0.tgz", - "integrity": "sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.6.0.tgz", + "integrity": "sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.4.0", - "@typescript-eslint/types": "8.4.0", - "@typescript-eslint/typescript-estree": "8.4.0" + "@typescript-eslint/scope-manager": "8.6.0", + "@typescript-eslint/types": "8.6.0", + "@typescript-eslint/typescript-estree": "8.6.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -772,12 +772,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz", - "integrity": "sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.6.0.tgz", + "integrity": "sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.4.0", + "@typescript-eslint/types": "8.6.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -4041,14 +4041,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.4.0.tgz", - "integrity": "sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.6.0.tgz", + "integrity": "sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "8.4.0", - "@typescript-eslint/parser": "8.4.0", - "@typescript-eslint/utils": "8.4.0" + "@typescript-eslint/eslint-plugin": "8.6.0", + "@typescript-eslint/parser": "8.6.0", + "@typescript-eslint/utils": "8.6.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index be2fb8e..69e230f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.6.2", - "typescript-eslint": "^8.4.0" + "typescript-eslint": "^8.6.0" }, "dependencies": { "axios": "^1.7.7", From 1b52293bb03850486dd4d4c01c562e20b94310f6 Mon Sep 17 00:00:00 2001 From: Nathan JAUNET Date: Thu, 19 Sep 2024 16:23:09 +0200 Subject: [PATCH 10/10] Bump version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 91a21da..a60aeed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "flixpatrol-top10", - "version": "2.4.1", + "version": "2.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "flixpatrol-top10", - "version": "2.4.1", + "version": "2.5.0", "license": "GPL-3.0", "dependencies": { "axios": "^1.7.7", diff --git a/package.json b/package.json index 69e230f..5a63d11 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flixpatrol-top10", - "version": "2.4.1", + "version": "2.5.0", "description": "Get top10 list from flixpatrol and upload them to trakt", "main": "app.js", "scripts": {