diff --git a/Dockerfile b/Dockerfile index 3439145..9cd4ced 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,29 +3,32 @@ FROM node:lts-alpine AS base WORKDIR /usr/src/app FROM base AS install +RUN mkdir -p /temp/dev +COPY package.json package-lock.json /temp/dev/ +RUN cd /temp/dev && yarn install -RUN mkdir dev -COPY package.json dev/ -COPY yarn.lock dev/ -RUN cd /usr/src/app/dev && yarn install +RUN mkdir -p /temp/prod +COPY package.json package-lock.json /temp/prod/ +RUN cd /temp/prod && yarn install --omit=dev -RUN mkdir prod -COPY package.json prod/ -COPY yarn.lock prod/ -RUN cd /usr/src/app/prod && yarn install --production - -FROM base AS build - -COPY --from=install /usr/src/app/dev/node_modules node_modules +FROM base AS prisma +COPY --from=install /temp/prod/node_modules node_modules COPY . . -RUN yarn build +RUN npx prisma generate -FROM base AS app +FROM base AS prerelease +COPY --from=install /temp/dev/node_modules node_modules +COPY . . -COPY --from=install /usr/src/app/prod/node_modules node_modules -COPY --from=build /usr/src/app/package.json . -COPY --from=build /usr/src/app/build/ . +RUN npx prisma generate +RUN npm run build + +FROM base AS release +COPY --from=prisma /usr/src/app/prisma prisma +COPY --from=prisma /usr/src/app/node_modules node_modules +COPY --from=prerelease /usr/src/app/build/ ./ +COPY --from=prerelease /usr/src/app/package.json . EXPOSE 3000/tcp CMD [ "node", "index.js" ] \ No newline at end of file diff --git a/package.json b/package.json index 3d372e3..58c6b5b 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "postcss": "^8.4.35", "prettier": "^3.1.1", "prettier-plugin-svelte": "^3.1.2", + "prisma": "^5.11.0", "svelte": "^4.2.7", "tailwindcss": "^3.4.1", "vite": "^5.0.3" diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..fa88fe6 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,8 @@ +datasource db { + provider = "mysql" + url = env("DATABASE_URL") +} + +generator client { + provider = "prisma-client-js" +} diff --git a/src/hooks.client.js b/src/hooks.client.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/lib/components/LoggedOut.svelte b/src/lib/components/LoggedOut.svelte index 11927e2..a970e31 100644 --- a/src/lib/components/LoggedOut.svelte +++ b/src/lib/components/LoggedOut.svelte @@ -20,7 +20,7 @@

Currently hosting 0 files.

-

Elon musk found dead in a pool

+

The best file uploader ever!!!

diff --git a/src/lib/server/database.js b/src/lib/server/database.js new file mode 100644 index 0000000..736f146 --- /dev/null +++ b/src/lib/server/database.js @@ -0,0 +1,4 @@ +import { PrismaClient } from '@prisma/client'; + +const prisma = new PrismaClient(); +export default prisma; diff --git a/yarn.lock b/yarn.lock index 7733bad..c24b7b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -205,6 +205,42 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== +"@prisma/debug@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.11.0.tgz#80e3f9d5a8f678c67a8783f7fcdda3cbbb8dd091" + integrity sha512-N6yYr3AbQqaiUg+OgjkdPp3KPW1vMTAgtKX6+BiB/qB2i1TjLYCrweKcUjzOoRM5BriA4idrkTej9A9QqTfl3A== + +"@prisma/engines-version@5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102": + version "5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102.tgz#a7aa218b1ebf1077798c931632461aae8ce6a8f7" + integrity sha512-WXCuyoymvrS4zLz4wQagSsc3/nE6CHy8znyiMv8RKazKymOMd5o9FP5RGwGHAtgoxd+aB/BWqxuP/Ckfu7/3MA== + +"@prisma/engines@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.11.0.tgz#96e941c5c81ce68f3a8b4c481007d397564c5d4b" + integrity sha512-gbrpQoBTYWXDRqD+iTYMirDlF9MMlQdxskQXbhARhG6A/uFQjB7DZMYocMQLoiZXO/IskfDOZpPoZE8TBQKtEw== + dependencies: + "@prisma/debug" "5.11.0" + "@prisma/engines-version" "5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102" + "@prisma/fetch-engine" "5.11.0" + "@prisma/get-platform" "5.11.0" + +"@prisma/fetch-engine@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.11.0.tgz#cd7a2fa5b5d89f1da0689e329c56fa69223fba7d" + integrity sha512-994viazmHTJ1ymzvWugXod7dZ42T2ROeFuH6zHPcUfp/69+6cl5r9u3NFb6bW8lLdNjwLYEVPeu3hWzxpZeC0w== + dependencies: + "@prisma/debug" "5.11.0" + "@prisma/engines-version" "5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102" + "@prisma/get-platform" "5.11.0" + +"@prisma/get-platform@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.11.0.tgz#19a768127b1712c27f5dec8a0a79a4c9675829eb" + integrity sha512-rxtHpMLxNTHxqWuGOLzR2QOyQi79rK1u1XYAVLZxDGTLz/A+uoDnjz9veBFlicrpWjwuieM4N6jcnjj/DDoidw== + dependencies: + "@prisma/debug" "5.11.0" + "@rollup/plugin-commonjs@^25.0.7": version "25.0.7" resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz#145cec7589ad952171aeb6a585bbeabd0fd3b4cf" @@ -1126,6 +1162,13 @@ prettier@^3.1.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== +prisma@^5.11.0: + version "5.11.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.11.0.tgz#ef3891f79921a2deec6f540eba13a3cc8525f6d2" + integrity sha512-KCLiug2cs0Je7kGkQBN9jDWoZ90ogE/kvZTUTgz2h94FEo8pczCkPH7fPNXkD1sGU7Yh65risGGD1HQ5DF3r3g== + dependencies: + "@prisma/engines" "5.11.0" + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"