diff --git a/.dockerignore b/.dockerignore index ed77387..f05b4c3 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,3 +11,4 @@ mongodata fly.toml .git node_modules/ +prisma/client/ diff --git a/.gitignore b/.gitignore index ca028b2..fd89284 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +prisma/client/ + node_modules dist data/ diff --git a/Dockerfile b/Dockerfile index 7a09f23..4a7cef0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* COPY . . RUN deno install -r --allow-scripts=npm:@prisma/client,npm:prisma,npm:@prisma/engines -RUN deno run -A --unstable npm:prisma generate --no-engine +RUN deno task prisma:generate ENV TZ="America/Chicago" ENTRYPOINT ["sh", "entrypoint.sh"] diff --git a/deno.jsonc b/deno.jsonc index fe67e1b..2f68599 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -1,29 +1,45 @@ { + "$schema": "https://raw.githubusercontent.com/denoland/deno/refs/heads/main/cli/schemas/config-file.v1.json", "tasks": { "dev": "deno --watch --no-clear-screen -A --unstable-cron --allow-scripts=npm:prisma,npm:@prisma/client,npm:@prisma/engines ./src/app.ts", "build": "deno compile --unstable-cron -o ./dist/tvbot ./src/app.ts", + "prisma": "deno run -A npm:prisma", + "prisma:generate": "deno task prisma generate --schema=./prisma/schema.prisma", "db:migrate": "deno run -A npm:prisma migrate dev", "db:studio": "deno run -A npm:prisma studio" }, "compilerOptions": { "strict": true, "noImplicitAny": true, - "strictNullChecks": true, + "strictNullChecks": true }, "nodeModules": true, "nodeModulesDir": "auto", "importMap": "import_map.json", "lint": { - "include": ["src/"], - "exclude": ["src/testdata/", "src/fixtures/**/*.ts"], + "include": [ + "src/" + ], + "exclude": [ + "src/testdata/", + "src/fixtures/**/*.ts" + ], "rules": { - "tags": ["recommended"], - "include": ["ban-untagged-todo"], - "exclude": ["no-unused-vars"] - }, + "tags": [ + "recommended" + ], + "include": [ + "ban-untagged-todo" + ], + "exclude": [ + "no-unused-vars" + ] + } }, "fmt": { "semiColons": false }, - "exclude": ["dist/"] + "exclude": [ + "dist/" + ] } diff --git a/deno.lock b/deno.lock index f2ca861..e4cc02b 100644 --- a/deno.lock +++ b/deno.lock @@ -2,7 +2,8 @@ "version": "4", "specifiers": { "jsr:@std/dotenv@*": "0.225.2", - "npm:@prisma/client@5.0.0": "5.0.0_prisma@5.21.1", + "npm:@prisma/client@*": "6.6.0_prisma@6.6.0", + "npm:@prisma/client@6.6.0": "6.6.0_prisma@6.6.0", "npm:@types/node@*": "22.5.4", "npm:axios@^1.4.0": "1.7.7", "npm:city-timezones@^1.2.1": "1.3.0", @@ -11,7 +12,9 @@ "npm:moment-timezone@~0.5.43": "0.5.46", "npm:node-schedule@^2.1.1": "2.1.1", "npm:parse-url@^8.1.0": "8.1.0", - "npm:prisma@5": "5.21.1", + "npm:prisma@*": "6.6.0", + "npm:prisma@^6.6.0": "6.6.0", + "npm:prisma@latest": "6.6.0", "npm:semantic-release@*": "24.2.3_marked@12.0.2", "npm:sqlite@^4.2.1": "4.2.1" }, @@ -144,6 +147,81 @@ "ws" ] }, + "@esbuild/aix-ppc64@0.25.2": { + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==" + }, + "@esbuild/android-arm64@0.25.2": { + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==" + }, + "@esbuild/android-arm@0.25.2": { + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==" + }, + "@esbuild/android-x64@0.25.2": { + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==" + }, + "@esbuild/darwin-arm64@0.25.2": { + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==" + }, + "@esbuild/darwin-x64@0.25.2": { + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==" + }, + "@esbuild/freebsd-arm64@0.25.2": { + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==" + }, + "@esbuild/freebsd-x64@0.25.2": { + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==" + }, + "@esbuild/linux-arm64@0.25.2": { + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==" + }, + "@esbuild/linux-arm@0.25.2": { + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==" + }, + "@esbuild/linux-ia32@0.25.2": { + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==" + }, + "@esbuild/linux-loong64@0.25.2": { + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==" + }, + "@esbuild/linux-mips64el@0.25.2": { + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==" + }, + "@esbuild/linux-ppc64@0.25.2": { + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==" + }, + "@esbuild/linux-riscv64@0.25.2": { + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==" + }, + "@esbuild/linux-s390x@0.25.2": { + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==" + }, + "@esbuild/linux-x64@0.25.2": { + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==" + }, + "@esbuild/netbsd-arm64@0.25.2": { + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==" + }, + "@esbuild/netbsd-x64@0.25.2": { + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==" + }, + "@esbuild/openbsd-arm64@0.25.2": { + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==" + }, + "@esbuild/openbsd-x64@0.25.2": { + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==" + }, + "@esbuild/sunos-x64@0.25.2": { + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==" + }, + "@esbuild/win32-arm64@0.25.2": { + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==" + }, + "@esbuild/win32-ia32@0.25.2": { + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==" + }, + "@esbuild/win32-x64@0.25.2": { + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==" + }, "@fastify/busboy@2.1.1": { "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==" }, @@ -444,41 +522,44 @@ "config-chain" ] }, - "@prisma/client@5.0.0_prisma@5.21.1": { - "integrity": "sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ==", + "@prisma/client@6.6.0_prisma@6.6.0": { + "integrity": "sha512-vfp73YT/BHsWWOAuthKQ/1lBgESSqYqAWZEYyTdGXyFAHpmewwWL2Iz6ErIzkj4aHbuc6/cGSsE6ZY+pBO04Cg==", "dependencies": [ - "@prisma/engines-version@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584", "prisma" ] }, - "@prisma/debug@5.21.1": { - "integrity": "sha512-uY8SAhcnORhvgtOrNdvWS98Aq/nkQ9QDUxrWAgW8XrCZaI3j2X7zb7Xe6GQSh6xSesKffFbFlkw0c2luHQviZA==" + "@prisma/config@6.6.0_esbuild@0.25.2": { + "integrity": "sha512-d8FlXRHsx72RbN8nA2QCRORNv5AcUnPXgtPvwhXmYkQSMF/j9cKaJg+9VcUzBRXGy9QBckNzEQDEJZdEOZ+ubA==", + "dependencies": [ + "esbuild", + "esbuild-register" + ] }, - "@prisma/engines-version@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584": { - "integrity": "sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ==" + "@prisma/debug@6.6.0": { + "integrity": "sha512-DL6n4IKlW5k2LEXzpN60SQ1kP/F6fqaCgU/McgaYsxSf43GZ8lwtmXLke9efS+L1uGmrhtBUP4npV/QKF8s2ZQ==" }, - "@prisma/engines-version@5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36": { - "integrity": "sha512-qvnEflL0//lh44S/T9NcvTMxfyowNeUxTunPcDfKPjyJNrCNf2F1zQLcUv5UHAruECpX+zz21CzsC7V2xAeM7Q==" + "@prisma/engines-version@6.6.0-53.f676762280b54cd07c770017ed3711ddde35f37a": { + "integrity": "sha512-JzRaQ5Em1fuEcbR3nUsMNYaIYrOT1iMheenjCvzZblJcjv/3JIuxXN7RCNT5i6lRkLodW5ojCGhR7n5yvnNKrw==" }, - "@prisma/engines@5.21.1": { - "integrity": "sha512-hGVTldUkIkTwoV8//hmnAAiAchi4oMEKD3aW5H2RrnI50tTdwza7VQbTTAyN3OIHWlK5DVg6xV7X8N/9dtOydA==", + "@prisma/engines@6.6.0": { + "integrity": "sha512-nC0IV4NHh7500cozD1fBoTwTD1ydJERndreIjpZr/S3mno3P6tm8qnXmIND5SwUkibNeSJMpgl4gAnlqJ/gVlg==", "dependencies": [ "@prisma/debug", - "@prisma/engines-version@5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36", + "@prisma/engines-version", "@prisma/fetch-engine", "@prisma/get-platform" ] }, - "@prisma/fetch-engine@5.21.1": { - "integrity": "sha512-70S31vgpCGcp9J+mh/wHtLCkVezLUqe/fGWk3J3JWZIN7prdYSlr1C0niaWUyNK2VflLXYi8kMjAmSxUVq6WGQ==", + "@prisma/fetch-engine@6.6.0": { + "integrity": "sha512-Ohfo8gKp05LFLZaBlPUApM0M7k43a0jmo86YY35u1/4t+vuQH9mRGU7jGwVzGFY3v+9edeb/cowb1oG4buM1yw==", "dependencies": [ "@prisma/debug", - "@prisma/engines-version@5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36", + "@prisma/engines-version", "@prisma/get-platform" ] }, - "@prisma/get-platform@5.21.1": { - "integrity": "sha512-sRxjL3Igst3ct+e8ya/x//cDXmpLbZQ5vfps2N4tWl4VGKQAmym77C/IG/psSMsQKszc8uFC/q1dgmKFLUgXZQ==", + "@prisma/get-platform@6.6.0": { + "integrity": "sha512-3qCwmnT4Jh5WCGUrkWcc6VZaw0JY7eWN175/pcb5Z6FiLZZ3ygY93UX0WuV41bG51a6JN/oBH0uywJ90Y+V5eA==", "dependencies": [ "@prisma/debug" ] @@ -1149,6 +1230,43 @@ "is-arrayish" ] }, + "esbuild-register@3.6.0_esbuild@0.25.2": { + "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", + "dependencies": [ + "debug", + "esbuild" + ] + }, + "esbuild@0.25.2": { + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dependencies": [ + "@esbuild/aix-ppc64", + "@esbuild/android-arm", + "@esbuild/android-arm64", + "@esbuild/android-x64", + "@esbuild/darwin-arm64", + "@esbuild/darwin-x64", + "@esbuild/freebsd-arm64", + "@esbuild/freebsd-x64", + "@esbuild/linux-arm", + "@esbuild/linux-arm64", + "@esbuild/linux-ia32", + "@esbuild/linux-loong64", + "@esbuild/linux-mips64el", + "@esbuild/linux-ppc64", + "@esbuild/linux-riscv64", + "@esbuild/linux-s390x", + "@esbuild/linux-x64", + "@esbuild/netbsd-arm64", + "@esbuild/netbsd-x64", + "@esbuild/openbsd-arm64", + "@esbuild/openbsd-x64", + "@esbuild/sunos-x64", + "@esbuild/win32-arm64", + "@esbuild/win32-ia32", + "@esbuild/win32-x64" + ] + }, "escalade@3.2.0": { "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" }, @@ -2414,9 +2532,10 @@ "parse-ms" ] }, - "prisma@5.21.1": { - "integrity": "sha512-PB+Iqzld/uQBPaaw2UVIk84kb0ITsLajzsxzsadxxl54eaU5Gyl2/L02ysivHxK89t7YrfQJm+Ggk37uvM70oQ==", + "prisma@6.6.0": { + "integrity": "sha512-SYCUykz+1cnl6Ugd8VUvtTQq5+j1Q7C0CtzKPjQ8JyA2ALh0EEJkMCS+KgdnvKW1lrxjtjCyJSHOOT236mENYg==", "dependencies": [ + "@prisma/config", "@prisma/engines", "fsevents" ] @@ -3124,13 +3243,14 @@ }, "workspace": { "dependencies": [ - "npm:@prisma/client@5.0.0", + "npm:@prisma/client@*", + "npm:@prisma/client@6.6.0", "npm:axios@^1.4.0", "npm:city-timezones@^1.2.1", "npm:discord.js@^14.18.0", "npm:moment-timezone@~0.5.43", "npm:parse-url@^8.1.0", - "npm:prisma@5", + "npm:prisma@^6.6.0", "npm:sqlite@^4.2.1" ] } diff --git a/entrypoint.sh b/entrypoint.sh index 77ca719..1738925 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -2,7 +2,7 @@ set -e # migrate the database -deno run -A --allow-scripts=npm:prisma,npm:@prisma/engines npm:prisma@latest db push +deno run -A --allow-scripts=npm:prisma,npm:@prisma/engines npm:prisma db push --skip-generate set +e deno -A --unstable-cron ./src/app.ts diff --git a/import_map.json b/import_map.json index 02e6a53..7c71f6c 100644 --- a/import_map.json +++ b/import_map.json @@ -2,11 +2,13 @@ "imports": { "app.ts": "./src/app.ts", "lib/": "./src/lib/", + "prisma-client/": "./prisma/client/", "interfaces/": "./src/interfaces/", "commands/": "./src/commands/", "npm:discord.js": "npm:discord.js@^14.18.0", - "npm:@prisma/client": "npm:@prisma/client@5.0.0", - "npm:prisma": "npm:prisma@^5.0.0", + "@prisma/client/runtime/library": "npm:@prisma/client/runtime/library", + "npm:@prisma/client": "npm:@prisma/client@6.6.0", + "npm:prisma": "npm:prisma@^6.6.0", "npm:axios": "npm:axios@^1.4.0", "npm:city-timezones": "npm:city-timezones@^1.2.1", "npm:moment-timezone": "npm:moment-timezone@^0.5.43", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 80114ca..aeb4a65 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -2,7 +2,10 @@ // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { - provider = "prisma-client-js" + provider = "prisma-client" + output = "client" + runtime = "deno" + moduleFormat = "esm" } datasource db { diff --git a/src/commands/list.ts b/src/commands/list.ts index fed416c..5085420 100644 --- a/src/commands/list.ts +++ b/src/commands/list.ts @@ -10,7 +10,7 @@ import { import client from "lib/prisma.ts" import { type CommandV2 } from "interfaces/command.ts" import { type App } from "app.ts" -import { type Show } from "npm:@prisma/client" +import { type Show } from "prisma-client/client.ts" const subCommands = { ALL: "all", diff --git a/src/commands/post.ts b/src/commands/post.ts index 62cf23e..db1f863 100644 --- a/src/commands/post.ts +++ b/src/commands/post.ts @@ -19,7 +19,7 @@ import { ProgressError } from "interfaces/error.ts" import { isForumChannel } from "interfaces/discord.ts" import { buildShowEmbed } from "lib/messages.ts" import { type SeriesExtendedRecord } from "interfaces/tvdb.generated.ts" -import { type Destination, type Show } from "npm:@prisma/client" +import { type Destination, type Show } from "prisma-client/client.ts" import { parseIMDBIds } from "lib/util.ts" interface SeriesWrapper { diff --git a/src/commands/setting.ts b/src/commands/setting.ts index f548219..0eb5df3 100644 --- a/src/commands/setting.ts +++ b/src/commands/setting.ts @@ -12,7 +12,7 @@ import { type CommandV2 } from "interfaces/command.ts" import { ProgressMessageBuilder } from "lib/progressMessages.ts" import { type App } from "app.ts" import { type SettingsManager } from "lib/settingsManager.ts" -import { type Destination } from "npm:@prisma/client" +import { type Destination } from "prisma-client/client.ts" export const command: CommandV2 = { slashCommand: { diff --git a/src/commands/upcoming.ts b/src/commands/upcoming.ts index b7dc69e..79aa42e 100644 --- a/src/commands/upcoming.ts +++ b/src/commands/upcoming.ts @@ -9,7 +9,7 @@ import { type CommandV2 } from "interfaces/command.ts" import { type App } from "app.ts" import { getSeriesByImdbId } from "lib/tvdb.ts" import { showSearchAutocomplete } from "lib/autocomplete.ts" -import { type Show } from "npm:@prisma/client" +import { type Show } from "prisma-client/client.ts" import { ProgressError } from "interfaces/error.ts" import { getUpcomingEpisodesEmbed } from "lib/upcoming.ts" diff --git a/src/lib/autocomplete.ts b/src/lib/autocomplete.ts index 81650d2..2fb0d3b 100644 --- a/src/lib/autocomplete.ts +++ b/src/lib/autocomplete.ts @@ -1,4 +1,4 @@ -import { type Prisma } from "npm:@prisma/client" +import { type Prisma } from "prisma-client/client.ts" import { type ApplicationCommandOptionChoiceData, type AutocompleteInteraction, diff --git a/src/lib/episodeNotifier.ts b/src/lib/episodeNotifier.ts index b882a54..f171d0e 100644 --- a/src/lib/episodeNotifier.ts +++ b/src/lib/episodeNotifier.ts @@ -1,4 +1,4 @@ -import { type Show } from "npm:@prisma/client" +import { type Show } from "prisma-client/client.ts" import { type AnyThreadChannel, type Channel, diff --git a/src/lib/messages.ts b/src/lib/messages.ts index 2484e82..3ae82a5 100644 --- a/src/lib/messages.ts +++ b/src/lib/messages.ts @@ -1,4 +1,4 @@ -import { type Destination } from "npm:@prisma/client" +import { type Destination } from "prisma-client/client.ts" import { type APIEmbed, type APIEmbedField } from "npm:discord.js" import { type SeriesExtendedRecord } from "interfaces/tvdb.generated.ts" diff --git a/src/lib/morningSummary.ts b/src/lib/morningSummary.ts index 1283072..1483163 100644 --- a/src/lib/morningSummary.ts +++ b/src/lib/morningSummary.ts @@ -2,7 +2,7 @@ import { type APIEmbed, type Client } from "npm:discord.js" import { type Settings } from "lib/settingsManager.ts" import { getUpcomingEpisodesEmbed } from "lib/upcoming.ts" import client from "lib/prisma.ts" -import { type Show } from "npm:@prisma/client" +import { type Show } from "prisma-client/client.ts" import { isTextChannel } from "lib/episodeNotifier.ts" export async function sendMorningSummary( diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index 3adf32b..2dfb9ce 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -1,8 +1,7 @@ import process from "node:process" -import { PrismaClient } from "npm:@prisma/client" +import { PrismaClient } from "prisma-client/client.ts" declare global { - // deno-lint-ignore no-var var prisma: PrismaClient | undefined } diff --git a/src/lib/settingsManager.ts b/src/lib/settingsManager.ts index 9ef6d15..f60585b 100644 --- a/src/lib/settingsManager.ts +++ b/src/lib/settingsManager.ts @@ -3,7 +3,7 @@ import { type Destination, Prisma, type Settings as DBSettings, -} from "npm:@prisma/client" +} from "prisma-client/client.ts" export type Settings = Omit diff --git a/src/lib/shows.ts b/src/lib/shows.ts index be14e5c..4ff149c 100644 --- a/src/lib/shows.ts +++ b/src/lib/shows.ts @@ -1,4 +1,4 @@ -import { type Destination, Prisma, type Show } from "npm:@prisma/client" +import { type Destination, Prisma, type Show } from "prisma-client/client.ts" import { type TextBasedChannel } from "npm:discord.js" import moment, { type Moment } from "npm:moment-timezone" import { isThreadChannel } from "interfaces/discord.ts" diff --git a/src/lib/upcoming.ts b/src/lib/upcoming.ts index bdbc4e4..4aa3eec 100644 --- a/src/lib/upcoming.ts +++ b/src/lib/upcoming.ts @@ -1,5 +1,5 @@ import process from "node:process" -import { type Show } from "npm:@prisma/client" +import { type Show } from "prisma-client/client.ts" import { type APIEmbed, type APIEmbedField, Collection } from "npm:discord.js" import moment from "npm:moment-timezone" import { type NotificationPayload } from "lib/episodeNotifier.ts"