diff --git a/.gitbook/assets/JIMOV_logo (1).png b/.gitbook/assets/JIMOV_logo (1).png deleted file mode 100644 index e0e7378..0000000 Binary files a/.gitbook/assets/JIMOV_logo (1).png and /dev/null differ diff --git a/.gitbook/assets/JIMOV_logo.png b/.gitbook/assets/JIMOV_logo.png deleted file mode 100644 index e0e7378..0000000 Binary files a/.gitbook/assets/JIMOV_logo.png and /dev/null differ diff --git a/.gitbook/assets/da05569b25d4ff0464c0dfe27cb46d76 (1) (1).jpg b/.gitbook/assets/da05569b25d4ff0464c0dfe27cb46d76 (1) (1).jpg deleted file mode 100644 index b67572b..0000000 Binary files a/.gitbook/assets/da05569b25d4ff0464c0dfe27cb46d76 (1) (1).jpg and /dev/null differ diff --git a/.gitbook/assets/da05569b25d4ff0464c0dfe27cb46d76 (1).jpg b/.gitbook/assets/da05569b25d4ff0464c0dfe27cb46d76 (1).jpg deleted file mode 100644 index b67572b..0000000 Binary files a/.gitbook/assets/da05569b25d4ff0464c0dfe27cb46d76 (1).jpg and /dev/null differ diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png deleted file mode 100644 index d21954f..0000000 Binary files a/.gitbook/assets/image.png and /dev/null differ diff --git a/package-lock.json b/package-lock.json index 9d5a63b..7cb775a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,8 +16,9 @@ "express": "^4.18.2", "helmet": "^6.0.1", "morgan": "^1.10.0", - "puppeteer": "^19.4.1", + "ts-alias": "^0.0.7", "ts-node": "^10.9.1", + "tsc-alias": "^1.8.8", "underscore": "^1.13.6", "unpacker": "^1.0.1" }, @@ -107,9 +108,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -209,22 +210,19 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { @@ -286,52 +284,52 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "dependencies": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -367,9 +365,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -499,12 +497,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -601,12 +599,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2283,7 +2281,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2296,7 +2293,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -2305,7 +2301,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3479,7 +3474,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3532,7 +3526,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, "engines": { "node": ">=8" } @@ -3767,7 +3760,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -3873,7 +3865,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -3882,9 +3873,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", "dev": true, "funding": [ { @@ -3894,13 +3885,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -4075,12 +4070,17 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4142,9 +4142,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001474", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001474.tgz", - "integrity": "sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==", + "version": "1.0.30001584", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001584.tgz", + "integrity": "sha512-LOz7CCQ9M1G7OjJOF9/mzmqmj3jE/7VOmrfw6Mgs0E8cjOsbRXQJHsPBfmBOXDskXKrHLyyW3n7kpDW/4BsfpQ==", "dev": true, "funding": [ { @@ -4222,7 +4222,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -4885,6 +4884,20 @@ "node": ">=10" } }, + "node_modules/define-data-property": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", + "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -4951,7 +4964,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -5095,9 +5107,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.356", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.356.tgz", - "integrity": "sha512-nEftV1dRX3omlxAj42FwqRZT0i4xd2dIg39sog/CnCJeCcL1TRd2Uh0i9Oebgv8Ou0vzTPw++xc+Z20jzS2B6A==", + "version": "1.4.659", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.659.tgz", + "integrity": "sha512-sRJ3nV3HowrYpBtPF9bASQV7OW49IgZC01Xiq43WfSE3RTCkK0/JidoCmR73Hyc1mN+l/H4Yqx0eNiomvExFZg==", "dev": true }, "node_modules/emittery": { @@ -5189,6 +5201,14 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -5751,7 +5771,6 @@ "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -5785,7 +5804,6 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -5823,7 +5841,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6023,9 +6040,12 @@ "dev": true }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gauge": { "version": "4.0.4", @@ -6065,13 +6085,18 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6153,7 +6178,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -6222,7 +6246,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6238,6 +6261,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/got": { "version": "12.6.0", "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", @@ -6300,6 +6334,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -6315,6 +6350,28 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -6344,6 +6401,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/helmet": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/helmet/-/helmet-6.0.1.tgz", @@ -6559,7 +6627,6 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -6720,7 +6787,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -6771,7 +6837,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6798,7 +6863,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -6844,7 +6908,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -8815,7 +8878,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -9472,7 +9534,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -9489,7 +9550,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -9836,6 +9896,18 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/mylas": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mylas/-/mylas-2.1.13.tgz", + "integrity": "sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==", + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/raouldeheer" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9977,9 +10049,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/nodemon": { @@ -10125,7 +10197,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10235,6 +10306,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm-check-updates/node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "dev": true, + "dependencies": { + "glob": "^9.2.0" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/npm-check-updates/node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -10514,9 +10603,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10825,13 +10914,13 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.3.tgz", - "integrity": "sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, "dependencies": { - "lru-cache": "^7.14.1", - "minipass": "^4.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -10840,6 +10929,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -10868,7 +10975,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -10877,9 +10983,9 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" @@ -10949,6 +11055,17 @@ "node": ">=8" } }, + "node_modules/plimit-lit": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz", + "integrity": "sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==", + "dependencies": { + "queue-lit": "^1.5.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -11254,11 +11371,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-lit": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.2.tgz", + "integrity": "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==", + "engines": { + "node": ">=12" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -11548,7 +11672,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -11742,35 +11865,15 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", - "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", - "dev": true, - "dependencies": { - "glob": "^9.2.0" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -11918,6 +12021,22 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -12078,7 +12197,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -12529,7 +12647,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -12586,6 +12703,14 @@ "node": ">=8" } }, + "node_modules/ts-alias": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ts-alias/-/ts-alias-0.0.7.tgz", + "integrity": "sha512-N4lWQLgmb873yQWqWIdHM+CMRIq+bfqFyme+CZ324RSL7hKOfVrg7GtUgkBSJyIEw8w+byN+ZI0mkB7PRp6XwA==", + "dependencies": { + "json5": "^2.2.0" + } + }, "node_modules/ts-api-utils": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", @@ -12710,6 +12835,30 @@ } } }, + "node_modules/tsc-alias": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.8.tgz", + "integrity": "sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==", + "dependencies": { + "chokidar": "^3.5.3", + "commander": "^9.0.0", + "globby": "^11.0.4", + "mylas": "^2.1.9", + "normalize-path": "^3.0.0", + "plimit-lit": "^1.2.6" + }, + "bin": { + "tsc-alias": "dist/bin/index.js" + } + }, + "node_modules/tsc-alias/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", @@ -12929,9 +13078,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "funding": [ { @@ -12941,6 +13090,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -12948,7 +13101,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" diff --git a/package.json b/package.json index 83d2253..33c2f57 100644 --- a/package.json +++ b/package.json @@ -4,18 +4,21 @@ "description": "API for scraping multimedia content such as anime, movies, series, and manga", "main": "src/index.ts", "scripts": { - "start": "ts-node src/index.ts", + "start": "node ./build/src/index.js", "server": "nodemon src/index.ts", "start:vercel": "node build/index.js", "format": "prettier --ignore-path .gitignore --write \"**/*.+(js|ts|json)\"", "linter": "npx eslint src/scraper/* src/routes/*", "linter:win": "npx eslint src/scraper/** src/routes/**", "build": "tsc", - "zoro": "ts-node src/scraper/sites/anime/zoro/Zoro.ts", - "heroku-postbuild": "npm run build", "start:dev": "nodemon src/index.ts", "test": "jest --coverage" }, + "pre-commit": [ + "ts.check", + "build", + "add-build" + ], "keywords": [ "scraper", "api", @@ -47,8 +50,9 @@ "express": "^4.18.2", "helmet": "^6.0.1", "morgan": "^1.10.0", - "puppeteer": "^19.4.1", + "ts-alias": "^0.0.7", "ts-node": "^10.9.1", + "tsc-alias": "^1.8.8", "underscore": "^1.13.6", "unpacker": "^1.0.1" }, diff --git a/src/index.ts b/src/index.ts index 4c6ac51..689fdd5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,22 +1,28 @@ import express from "express"; import morgan from "morgan"; -import index from "./routes/app"; -import providersList from "./routes/providers"; -import flv from "./routes/v1/anime/animeflv/AnimeflvRoutes"; -import latinhd from "./routes/v1/anime/animelatinohd/AnimeLatinoHDRoutes"; -import gogoanime from "./routes/v1/anime/gogoanime/GogoAnimeRoute"; -import zoro from "./routes/v1/anime/zoro/ZoroRoutes"; -import monoschinos from "./routes/v1/anime/monoschinos/MonosChinosRoute"; -import tioanime from './routes/v1/anime/tioanime/TioAnimeRoute' -import comick from "./routes/v1/manga/comick/ComickRoutes"; - -import inmanga from "./routes/v1/manga/inmanga/InmangaRoutes"; -import nhentai from "./routes/v1/manga/nhentai/NhentaiRoutes" -import mangareader from "./routes/v1/manga/mangareader/MangaReaderRoutes"; -import manganelo from "./routes/v1/manga/manganelo/ManganeloRoutes"; +import index from "../src/routes/app"; +import providersList from "../src/routes/providers"; import helmet from "helmet"; import cors from 'cors' -import WcoStream from "./routes/v1/anime/wcostream/wcostreamRoutes"; + +/* Anime */ +import flv from "../src/routes/v1/anime/animeflv/AnimeflvRoutes"; +import latinhd from "../src/routes/v1/anime/animelatinohd/AnimeLatinoHDRoutes"; +import gogoanime from "../src/routes/v1/anime/gogoanime/GogoAnimeRoute"; +import zoro from "../src/routes/v1/anime/zoro/ZoroRoutes"; +import monoschinos from "../src/routes/v1/anime/monoschinos/MonosChinosRoute"; +import tioanime from '../src/routes/v1/anime/tioanime/TioAnimeRoute' +import WcoStream from "../src/routes/v1/anime/wcostream/wcostreamRoutes"; +//import AnimeBlix from "../src/routes/v1/anime/animeblix/AnimeBlixRoutes"; +import Animevostfr from "../src/routes/v1/anime/animevostfr/AnimevostfrRoutes"; + +/* Manga */ +import comick from "../src/routes/v1/manga/comick/ComickRoutes"; +import inmanga from "../src/routes/v1/manga/inmanga/InmangaRoutes"; +import nhentai from "../src/routes/v1/manga/nhentai/NhentaiRoutes" +import mangareader from "../src/routes/v1/manga/mangareader/MangaReaderRoutes"; +import manganelo from "../src/routes/v1/manga/manganelo/ManganeloRoutes"; + const app = express(); const port = process.env.PORT || 3000; @@ -39,7 +45,11 @@ app.use(monoschinos); app.use(zoro); app.use(tioanime) app.use(WcoStream); -/*anime*/ +//app.use(AnimeBlix); +app.use(Animevostfr); + +/* anime */ + /*Manga*/ app.use(comick); diff --git a/src/routes/v1/anime/animeblix/AnimeBlixRoutes.ts b/src/routes/v1/anime/animeblix/AnimeBlixRoutes.ts new file mode 100644 index 0000000..e07a7be --- /dev/null +++ b/src/routes/v1/anime/animeblix/AnimeBlixRoutes.ts @@ -0,0 +1,32 @@ +import { Router } from "express"; +import { AnimeBlix } from "../../../../scraper/sites/anime/AnimeBlix/AnimeBlix"; + +const Anime = new AnimeBlix(); +const router = Router(); + +// Filter +router.get("/anime/animeblix/filter", async (req, res) => { + const { search, type, page, year, genre } = req.query + + const data = await Anime.GetAnimeByFilter(search as string, type as unknown as number, page as unknown as number, year as string, genre as string) + res.send(data) +}); + +// Anime Info +(Episodes list) +router.get("/anime/animeblix/name/:name", async (req, res) => { + + const { name } = req.params + const data = await Anime.GetAnimeInfo(name.includes("ver-")? name.replace("ver-","") : name) + res.send(data) + +}); + +// Episode Info +(Video Servers) +router.get("/anime/animeblix/episode/:episode", async (req, res) => { + const { episode } = req.params + const data = await Anime.GetEpisodeServers(episode) + res.send(data) + +}); + +export default router \ No newline at end of file diff --git a/src/routes/v1/anime/animevostfr/AnimevostfrRoutes.ts b/src/routes/v1/anime/animevostfr/AnimevostfrRoutes.ts new file mode 100644 index 0000000..3bdd76f --- /dev/null +++ b/src/routes/v1/anime/animevostfr/AnimevostfrRoutes.ts @@ -0,0 +1,31 @@ +import { Router } from "express"; +import { Animevostfr } from "../../../../scraper/sites/anime/animevostfr/Animevostfr"; +const Anime = new Animevostfr(); +const router = Router(); + +// Filter +router.get("/anime/animevostfr/filter", async (req, res) => { + const { search, type, page, year, genre } = req.query + + const data = await Anime.GetAnimeByFilter(search as string, type as unknown as number, page as unknown as number, year as string, genre as string) + res.send(data) +}); + +// Anime Info +(Episodes list) +router.get("/anime/animevostfr/name/:name", async (req, res) => { + + const { name } = req.params + const data = await Anime.GetAnimeInfo(name) + res.send(data) + +}); + +// Episode Info +(Video Servers) +router.get("/anime/animevostfr/episode/:episode", async (req, res) => { + const { episode } = req.params + const data = await Anime.GetEpisodeServers(episode) + res.send(data) + +}); + +export default router \ No newline at end of file diff --git a/src/routes/v1/anime/wcostream/wcostreamRoutes.ts b/src/routes/v1/anime/wcostream/wcostreamRoutes.ts index c77b860..63a8bf4 100644 --- a/src/routes/v1/anime/wcostream/wcostreamRoutes.ts +++ b/src/routes/v1/anime/wcostream/wcostreamRoutes.ts @@ -1,5 +1,6 @@ import { Router } from "express"; import { WcoStream } from "../../../../scraper/sites/anime/wcostream/WcoStream"; +//import { RuntimeUnpacked } from "@animetypes/utils"; const Anime = new WcoStream(); const router = Router(); diff --git a/src/routes/v1/doramas/dramanice/DramaniceRoutes.ts b/src/routes/v1/doramas/dramanice/DramaniceRoutes.ts index 5629834..f4df7f5 100644 --- a/src/routes/v1/doramas/dramanice/DramaniceRoutes.ts +++ b/src/routes/v1/doramas/dramanice/DramaniceRoutes.ts @@ -1,5 +1,5 @@ import { Router } from "express"; -import { Dramanice } from "@providers/dramanice/Dramanice"; +import { Dramanice } from "../../../../scraper/sites/doramas/dramanice/Dramanice"; const Dorama = new Dramanice(); const router = Router(); diff --git a/src/scraper/sites/anime/AnimeBlix/AnimeBlix.ts b/src/scraper/sites/anime/AnimeBlix/AnimeBlix.ts new file mode 100644 index 0000000..ac0d4ba --- /dev/null +++ b/src/scraper/sites/anime/AnimeBlix/AnimeBlix.ts @@ -0,0 +1,163 @@ +import * as cheerio from "cheerio"; +import axios from "axios"; +import { Anime } from "../../../../types/anime"; +import { Episode, EpisodeServer } from "../../../../types/episode"; +import { AnimeSearch, ResultSearch, IResultSearch, IAnimeSearch } from "../../../../types/search"; +//import { Calendar } from "@animetypes/date"; + +/** List of Domains + * https://vwv.animeblix.org + * + * https://animeblix.xyz + * + * https://animeblix.com + * +*/ + +export class AnimeBlix { + readonly url = "https://vwv.animeblix.org"; + readonly api = "https://api.animelatinohd.com"; + + async GetAnimeInfo(anime: string): Promise { + try { + const { data } = await axios.get(`${this.url}/animes/${anime.includes("ver-") ? anime : "ver-"+anime}`); + const $ = cheerio.load(data); + + const AnimeTypes = $(".cn .info .r .u li span:contains('Tipo:')").next() + const AnimeStatus = $(".cn .info .r .u li span[class='em']").length ? $(".cn .info .r .u li span[class='em']").text() : $(".cn .info .r .u li span[class='fi']").length ? $(".cn .info .r .u li span[class='fi']").text() : $(".cn .info .r .u li span[class='es']").text() + const AnimeDate = $(".cn .info .r .u li span:contains('Fecha de emisión:')").next().text().trim().replace(" -", "").split(" ") + + const Dates = AnimeDate[0] ? new Date(String(AnimeDate[0])) : null + const DateFormat = new Intl.DateTimeFormat("en", { day: "numeric", month: "numeric", year: "numeric" }).format(Dates).split("/") + + + const AcceptAlts = $(".cn .info .r .u").next().find("li").text().replace("Nombre original: ", "").replace("Nombre en inglés: ", "---").replace("Nombre en japones: ", "---") + + let AltsSlice: number = 0 + + if (AcceptAlts.includes("Támbien conocido como:")) { + AltsSlice = AcceptAlts.indexOf("Támbien conocido como:") + } else if (AcceptAlts.includes("Estudio(s):")) { + AltsSlice = AcceptAlts.indexOf("Estudio(s):") + } else if (AcceptAlts.includes("Producido por:")) { + AltsSlice = AcceptAlts.indexOf("Producido por:") + } else if (AcceptAlts.includes("Licenciada por:")) { + AltsSlice = AcceptAlts.indexOf("Licenciada por:") + } + + const AltNames = AcceptAlts.slice(0, AltsSlice) + const AnimeInfo: Anime = { + name: $(".cn .ti h1 strong").text(), + url: `/anime/animeblix/name/${anime}`, + synopsis: $(".cn .info .r .tx .content p").first().text(), + alt_name: [...AltNames.split("---")], + image: { + url: $(".cn .info .l .i img").attr("data-src") + }, + genres: [...$(".cn .info .r .gn li").text().split(",")], + type: AnimeTypes.length ? AnimeTypes.text() == "TV" ? "Anime" : AnimeTypes.text() == "Pelicula" ? "Movie" : AnimeTypes.text() == "Ova" ? "OVA" : "Null" : "Null", //tv,pelicula,especial,ova + status: AnimeStatus, + date: AnimeDate[0] ? { year: DateFormat[2], month: DateFormat[1], day: DateFormat[0] } : null, + episodes: [] + } + + const ListEpisodeIndex = $(".sc .cn #l").html() + const RemoveSymbols: RegExp = /[^0-9,]+/g; + const ReplaceSymbols: RegExp = /(,)+/g; + const ListEpisode = ListEpisodeIndex.slice(ListEpisodeIndex.indexOf("var eps = "), ListEpisodeIndex.indexOf("; { + const AnimeEpisode: Episode = { + name: "Episode " +e, + number: e, + image: "", + url: `/anime/animeblix/episode/${anime+"-"+e}` + } + + AnimeInfo.episodes.push(AnimeEpisode); + }) + + return AnimeInfo; + + } catch (error) { + console.log(error) + } + } + async GetEpisodeServers(episode: string): Promise { + try { + + const number = episode.substring(episode.lastIndexOf("-") + 1) + const anime = episode.substring(0, episode.lastIndexOf("-")) + + const { data } = await axios.get(`${this.url}/${anime.replace("ver-","")}-${number}`); + const $ = cheerio.load(data); + + const AnimeEpisodeInfo: Episode = { + name: number, + url: `/anime/animeblix/episode/${episode}`, + number: number, + image: "", + servers: [] + } + + + $("").map((e) => { + + const Server: EpisodeServer = { + name: "e.server.title", + url: "", + } + + Server.url = "https://api.animelatinohd.com/stream/" + Server.name = String(e) + + AnimeEpisodeInfo.servers.push(Server) + }) + + return AnimeEpisodeInfo; + } catch (error) { + console.log(error) + } + } + + async GetAnimeByFilter(search?: string, type?: number, page?: number, year?: string, genre?: string): Promise> { + try { + const { data } = await axios.get(`${this.api}/api/anime/list`, { + params: { + search: search, + type: type, + year: year, + genre: genre, + page: page + } + }); + + const animeSearchParseObj = data + + const animeSearch: ResultSearch = { + nav: { + count: animeSearchParseObj.data.length, + current: animeSearchParseObj.current_page, + next: animeSearchParseObj.data.length < 28 ? 0 : animeSearchParseObj.current_page + 1, + hasNext: animeSearchParseObj.data.length < 28 ? false : true + }, + results: [] + } + animeSearchParseObj.data.map(e => { + const animeSearchData: AnimeSearch = { + name: e.name, + image: "https://www.themoviedb.org/t/p/original" + e.poster + "?&w=53&q=95", + url: `/anime/animelatinohd/name/${e.slug}`, + type: "" + } + animeSearch.results.push(animeSearchData) + }) + return animeSearch; + } catch (error) { + console.log(error) + } + } + +} + + diff --git a/src/scraper/sites/anime/animelatinohd/AnimeLatinoHD.ts b/src/scraper/sites/anime/animelatinohd/AnimeLatinoHD.ts index 4903aeb..eee60bd 100644 --- a/src/scraper/sites/anime/animelatinohd/AnimeLatinoHD.ts +++ b/src/scraper/sites/anime/animelatinohd/AnimeLatinoHD.ts @@ -1,8 +1,8 @@ import * as cheerio from "cheerio"; import axios from "axios"; -import { Anime } from "@animetypes/anime"; -import { Episode, EpisodeServer } from "@animetypes/episode"; -import { AnimeSearch, ResultSearch, IResultSearch, IAnimeSearch } from "@animetypes/search"; +import { Anime } from "../../../../types/anime"; +import { Episode, EpisodeServer } from "../../../../types/episode"; +import { AnimeSearch, ResultSearch, IResultSearch, IAnimeSearch } from "../../../../types/search"; export class AnimeLatinoHD { readonly url = "https://www.animelatinohd.com"; diff --git a/src/scraper/sites/anime/animevostfr/Animevostfr.ts b/src/scraper/sites/anime/animevostfr/Animevostfr.ts new file mode 100644 index 0000000..68c899d --- /dev/null +++ b/src/scraper/sites/anime/animevostfr/Animevostfr.ts @@ -0,0 +1,166 @@ +import * as cheerio from "cheerio"; +import axios from "axios"; +import { Anime } from "../../../../types/anime"; +import { Episode, EpisodeServer } from "../../../../types/episode"; +import { AnimeSearch, ResultSearch, IResultSearch, IAnimeSearch } from "../../../../types/search"; +//import { Calendar } from "@animetypes/date"; + +/** List of Domains + * + * https://animevostfr.tv + * +*/ + +export class Animevostfr { + readonly url = "https://animevostfr.tv"; + readonly api = "https://api.animelatinohd.com"; + + async GetAnimeInfo(anime: string): Promise { + try { + const { data } = await axios.get(`${this.url}/${anime}`); + const $ = cheerio.load(data); + + + const AnimeTypes = $(".mvic-info .mvici-right p strong:contains(' Type:')").nextAll().text() + const AnimeStatus = $(".mvic-info .mvici-right p a[rel='tag']").first().text() + const AnimeDate = $(".mvic-info .mvici-right p strong:contains(' An:')").nextAll().text() + const AnimeDescription = $(".mvi-content .mvic-desc .desc p").html() + + + + + const AnimeInfo: Anime = { + name: $(".mvi-content .mvic-desc h1").text(), + url: `/anime/animevostfr/name/${anime}`, + synopsis: AnimeDescription.slice(AnimeDescription.indexOf("Synopsis:") + "Synopsis:".length, -1).trim(), + alt_name: [...AnimeDescription.slice(AnimeDescription.indexOf("Titre alternatif:") + "Titre alternatif:".length, AnimeDescription.indexOf("Synopsis:")).replace("
\n", "").split("/").map((n) => n.replace(/^\s+|\s+$|\s+(?=\s)/g, ""))], + image: { + url: $(".mvi-content .mvic-thumb img").attr("data-lazy-src") + }, + genres: [...$(".mvic-info .mvici-left p").first().text().replace("\n Genres:\n ", "").split(",").map((n) => n.replace(/^\s+|\s+$|\s+(?=\s)/g, ""))], + type: AnimeTypes == "Anime" ? "Anime" : AnimeTypes == "MOVIE" ? "Movie" : "Null", //tv,pelicula,especial,ova + status: AnimeStatus == "En cours" ? true : false, + date: AnimeDate ? { year: AnimeDate } : null, + episodes: [] + } + + $("#seasonss .les-title").each((_i, e) => { + + const number = $(e).find("a").attr("href").substring($(e).find("a").attr("href").lastIndexOf("-") + 1).replace("/", "") + const AnimeEpisode: Episode = { + name: "Episode " + number, + number: number, + image: "", + url: `/anime/animevostfr/episode/${anime + "-" + number}` + } + + AnimeInfo.episodes.push(AnimeEpisode); + }) + + return AnimeInfo; + + } catch (error) { + console.log(error) + } + } + async GetEpisodeServers(episode: string): Promise { + try { + + const number = episode.substring(episode.lastIndexOf("-") + 1) + const anime = episode.substring(0, episode.lastIndexOf("-")) + + const { data } = await axios.get(`${this.url}/episode/${anime}-episode-${number}`); + const $ = cheerio.load(data); + const s = $('.form-group.list-server select option') + const e = $('.list-episodes select option') + const ListFilmId = [] + const ListServer = [] + + s.map((_i, e) => ListServer.push($(e).val())) + e.map((_i, e) => ListFilmId.push($(e).attr("episodeid"))) + + /* + "SERVER_VIP" + "SERVER_HYDRAX" + "SERVER_PHOTOSS" + "SERVER_DOWNLOAD" + "SERVER_PHOTOS" + "SERVER_OPEN_LOAD" + "SERVER_OPEN_LOADS" + "SERVER_OPEN_CDN" + "SERVER_OPEN_CDNO" + "SERVER_PHOTO" + "SERVER_STREAM_MANGO" + "SERVER_RAPID_VIDEO" + */ + + const AnimeEpisodeInfo: Episode = { + name: "Episode " + number, + url: `/anime/animevostfr/episode/${episode}`, + number: number, + image: "", + servers: [] + } + + await Promise.all(ListServer.map(async (n) => { + const servers = await axios.get(`${this.url}/ajax-get-link-stream/?server=${n}&filmId=${ListFilmId[0]}`) + let currentData = servers.data + if (n == "opencdn" || n == "photo") { + currentData = currentData.replace("?logo=https://animevostfr.tv/1234.png", "").replace("short.ink/", "abysscdn.com/?v=") + } + const Servers: EpisodeServer = { + name: n, + url: currentData, + } + AnimeEpisodeInfo.servers.push(Servers) + })) + + + + AnimeEpisodeInfo.servers.sort((a: EpisodeServer, b: EpisodeServer) => a.name.length - b.name.length) + return AnimeEpisodeInfo; + } catch (error) { + console.log(error) + } + } + + async GetAnimeByFilter(search?: string, type?: number, page?: number, year?: string, genre?: string): Promise> { + try { + const { data } = await axios.get(`${this.api}/api/anime/list`, { + params: { + search: search, + type: type, + year: year, + genre: genre, + page: page + } + }); + + const animeSearchParseObj = data + + const animeSearch: ResultSearch = { + nav: { + count: animeSearchParseObj.data.length, + current: animeSearchParseObj.current_page, + next: animeSearchParseObj.data.length < 28 ? 0 : animeSearchParseObj.current_page + 1, + hasNext: animeSearchParseObj.data.length < 28 ? false : true + }, + results: [] + } + animeSearchParseObj.data.map(e => { + const animeSearchData: AnimeSearch = { + name: e.name, + image: "https://www.themoviedb.org/t/p/original" + e.poster + "?&w=53&q=95", + url: `/anime/animelatinohd/name/${e.slug}`, + type: "" + } + animeSearch.results.push(animeSearchData) + }) + return animeSearch; + } catch (error) { + console.log(error) + } + } + +} + diff --git a/src/scraper/sites/anime/wcostream/WcoStream.ts b/src/scraper/sites/anime/wcostream/WcoStream.ts index c08bc28..babe58c 100644 --- a/src/scraper/sites/anime/wcostream/WcoStream.ts +++ b/src/scraper/sites/anime/wcostream/WcoStream.ts @@ -1,9 +1,9 @@ import * as cheerio from "cheerio"; import axios from "axios"; -import { Anime } from "@animetypes/anime"; -import { Episode, EpisodeServer } from "@animetypes/episode"; -import { IResultSearch, IAnimeSearch, ResultSearch, AnimeSearch } from "@animetypes/search"; -import { UnPacked } from "../../../../types/utils"; +import { Anime } from "../../../../types/anime"; +import { Episode, EpisodeServer } from "../../../../types/episode"; +import { IResultSearch, IAnimeSearch, ResultSearch, AnimeSearch } from "../../../../types/search"; +import { UnPacked } from"../../../../types/utils"; /** List of Domains * https://wcostream.tv diff --git a/src/scraper/sites/doramas/dramanice/Dramanice.ts b/src/scraper/sites/doramas/dramanice/Dramanice.ts index 374a9ef..35fef89 100644 --- a/src/scraper/sites/doramas/dramanice/Dramanice.ts +++ b/src/scraper/sites/doramas/dramanice/Dramanice.ts @@ -1,8 +1,8 @@ import * as cheerio from "cheerio"; import axios from "axios"; -import { Anime } from "@animetypes/anime"; -import { Episode, EpisodeServer } from "@animetypes/episode"; -import { AnimeSearch, ResultSearch, IResultSearch, IAnimeSearch } from "@animetypes/search"; +import { Anime } from "../../../../types/anime"; +import { Episode, EpisodeServer } from "../../../../types/episode"; +import { AnimeSearch, ResultSearch, IResultSearch, IAnimeSearch } from "../../../../types/search"; export class Dramanice { readonly url = "https://www.animelatinohd.com"; diff --git a/src/scraper/sites/manga/comick/Comick.ts b/src/scraper/sites/manga/comick/Comick.ts index 06815ee..0eb8154 100644 --- a/src/scraper/sites/manga/comick/Comick.ts +++ b/src/scraper/sites/manga/comick/Comick.ts @@ -1,7 +1,7 @@ import * as cheerio from "cheerio"; import axios from "axios"; -import { Manga, MangaChapter, IMangaResult } from "@animetypes/manga"; -import { IResultSearch } from "@animetypes/search"; +import { Manga, MangaChapter, IMangaResult } from "../../../../types/manga"; +import { IResultSearch } from "../../../../types/search"; //Default Set Axios Cookie axios.defaults.withCredentials = true diff --git a/src/scraper/sites/manga/inmanga/Inmanga.ts b/src/scraper/sites/manga/inmanga/Inmanga.ts index cbd766b..a0b2a21 100644 --- a/src/scraper/sites/manga/inmanga/Inmanga.ts +++ b/src/scraper/sites/manga/inmanga/Inmanga.ts @@ -1,7 +1,7 @@ import * as cheerio from "cheerio"; import axios from "axios"; import { Manga, MangaChapter, IMangaResult } from "../../../../types/manga" -import { IResultSearch } from "@animetypes/search"; +import { IResultSearch } from "../../../../types/search"; //Default Set Axios Cookie axios.defaults.withCredentials = true diff --git a/tsconfig.json b/tsconfig.json index 00c5115..aee5900 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/recommended/tsconfig.json", "compilerOptions": { - "target": "es5", + "target": "es6", "module": "commonjs", "moduleResolution": "node", "esModuleInterop": true, @@ -22,21 +22,25 @@ "outDir": "./build", "paths": { "@animetypes/*": [ - "./src/types/*" + "./src/types/*", ], "@providers/*":[ "./src/scraper/sites/anime/*", "./src/scraper/sites/manga/*", "./src/scraper/sites/doramas/*" + ], - "@routesAnime/*": [ + "@routes/manga/*": [ + "./src/routes/v1/manga/*" + ], + "@routes/anime/*": [ "./src/routes/v1/anime/*" - ] + ], + "@routes/doramas/*": [ + "./src/routes/v1/doramas/*" + ], } }, - "include": [ - "src/**/*.ts" - ], "exclude": [ "node_modules", "build", diff --git a/vercel.json b/vercel.json index 5426504..d7de4ab 100644 --- a/vercel.json +++ b/vercel.json @@ -9,7 +9,7 @@ "routes": [ { "src": "/.*", - "dest": "/src/index.ts" + "dest": "src/index.ts" } ] -} +} \ No newline at end of file