port to Node
This commit is contained in:
parent
44664d6f17
commit
469b033e2f
11
Dockerfile
11
Dockerfile
|
@ -2,9 +2,6 @@
|
||||||
FROM node:lts-alpine AS base
|
FROM node:lts-alpine AS base
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
FROM oven/bun:1-debian AS base2
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
|
|
||||||
FROM base AS install
|
FROM base AS install
|
||||||
RUN mkdir -p /temp/dev
|
RUN mkdir -p /temp/dev
|
||||||
COPY package.json package-lock.json /temp/dev/
|
COPY package.json package-lock.json /temp/dev/
|
||||||
|
@ -23,18 +20,14 @@ FROM base AS prisma-dev
|
||||||
COPY --from=install /temp/dev/node_modules node_modules
|
COPY --from=install /temp/dev/node_modules node_modules
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npx prisma generate
|
RUN npx prisma generate
|
||||||
|
|
||||||
FROM base2 AS build
|
|
||||||
COPY --from=prisma-dev /usr/src/app/node_modules node_modules
|
|
||||||
COPY . .
|
|
||||||
# vite build
|
# vite build
|
||||||
RUN NODE_ENV=production bun --bun run build
|
RUN NODE_ENV=production bun --bun run build
|
||||||
|
|
||||||
FROM base2 AS release
|
FROM base AS release
|
||||||
COPY --from=prisma /usr/src/app/prisma prisma
|
COPY --from=prisma /usr/src/app/prisma prisma
|
||||||
COPY --from=prisma /usr/src/app/node_modules node_modules
|
COPY --from=prisma /usr/src/app/node_modules node_modules
|
||||||
COPY --from=build /usr/src/app/build build
|
COPY --from=build /usr/src/app/build build
|
||||||
COPY --from=build /usr/src/app/package.json .
|
COPY --from=build /usr/src/app/package.json .
|
||||||
|
|
||||||
EXPOSE 3000/tcp
|
EXPOSE 3000/tcp
|
||||||
CMD [ "bun", "run", "./build/index.js" ]
|
CMD [ "node", "build" ]
|
922
package-lock.json
generated
922
package-lock.json
generated
File diff suppressed because it is too large
Load diff
10
package.json
10
package.json
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"name": "ava",
|
"name": "ava-node",
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -12,13 +12,13 @@
|
||||||
"format": "prettier --write ."
|
"format": "prettier --write ."
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@sveltejs/adapter-node": "^5.2.0",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.0.0",
|
"@sveltejs/vite-plugin-svelte": "^3.0.0",
|
||||||
"@types/bun": "^1.1.6",
|
"@types/node": "^20.14.10",
|
||||||
"prettier": "^3.1.1",
|
"prettier": "^3.1.1",
|
||||||
"prettier-plugin-svelte": "^3.1.2",
|
"prettier-plugin-svelte": "^3.1.2",
|
||||||
"prisma": "^5.16.2",
|
"prisma": "^5.16.2",
|
||||||
"svelte": "^4.2.7",
|
"svelte": "^4.2.7",
|
||||||
"svelte-adapter-bun": "^0.5.2",
|
|
||||||
"svelte-check": "^3.6.0",
|
"svelte-check": "^3.6.0",
|
||||||
"tslib": "^2.4.1",
|
"tslib": "^2.4.1",
|
||||||
"typescript": "^5.0.0",
|
"typescript": "^5.0.0",
|
||||||
|
@ -29,9 +29,9 @@
|
||||||
"@fontsource-variable/inter": "^5.0.18",
|
"@fontsource-variable/inter": "^5.0.18",
|
||||||
"@fontsource-variable/noto-sans-mono": "^5.0.20",
|
"@fontsource-variable/noto-sans-mono": "^5.0.20",
|
||||||
"@prisma/client": "5.16.2",
|
"@prisma/client": "5.16.2",
|
||||||
|
"@sveltejs/kit": "^2.0.0",
|
||||||
"mime": "^4.0.4",
|
"mime": "^4.0.4",
|
||||||
"sharp": "^0.33.4",
|
"sharp": "^0.33.4"
|
||||||
"@sveltejs/kit": "^2.0.0"
|
|
||||||
},
|
},
|
||||||
"trustedDependencies": [
|
"trustedDependencies": [
|
||||||
"@prisma/client",
|
"@prisma/client",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { mkdir, readdir, rm } from "node:fs/promises"
|
import { mkdir, readdir, rm, writeFile } from "node:fs/promises"
|
||||||
import { existsSync } from "node:fs"
|
import { existsSync } from "node:fs"
|
||||||
import { join } from "node:path"
|
import { join } from "node:path"
|
||||||
import { prisma } from "./clientsingleton"
|
import { prisma } from "./clientsingleton"
|
||||||
|
@ -72,7 +72,7 @@ export async function setNewAvatar(uid: string, avatar?: File) {
|
||||||
try {
|
try {
|
||||||
let start = Date.now()
|
let start = Date.now()
|
||||||
let rerenderedAvatarData = await rerenderAvatar(avatarData, x)
|
let rerenderedAvatarData = await rerenderAvatar(avatarData, x)
|
||||||
await Bun.write(
|
await writeFile(
|
||||||
join(userAvatarDirectory, `${x}.${fileExtension}`),
|
join(userAvatarDirectory, `${x}.${fileExtension}`),
|
||||||
rerenderedAvatarData
|
rerenderedAvatarData
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import { getPathToAvatarForIdentifier } from '$lib/avatars.js';
|
import { getPathToAvatarForIdentifier } from '$lib/avatars.js';
|
||||||
import { error } from '@sveltejs/kit';
|
import { error } from '@sveltejs/kit';
|
||||||
|
import { readFile } from 'fs/promises';
|
||||||
|
import mime from "mime";
|
||||||
|
|
||||||
export async function GET({ params : { identifier, size } }) {
|
export async function GET({ params : { identifier, size } }) {
|
||||||
let avPath = await getPathToAvatarForIdentifier(identifier, size)
|
let avPath = await getPathToAvatarForIdentifier(identifier, size)
|
||||||
|
@ -7,5 +9,9 @@ export async function GET({ params : { identifier, size } }) {
|
||||||
if (!avPath)
|
if (!avPath)
|
||||||
throw error(404, "Avatar at this size not found")
|
throw error(404, "Avatar at this size not found")
|
||||||
|
|
||||||
return new Response(Bun.file(avPath))
|
return new Response(await readFile(avPath), {
|
||||||
|
headers: {
|
||||||
|
"Content-Type": mime.getType(avPath) || ""
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
import adapter from 'svelte-adapter-bun';
|
import adapter from '@sveltejs/adapter-node';
|
||||||
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||||
|
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
/** @type {import('@sveltejs/kit').Config} */
|
||||||
|
|
Loading…
Reference in a new issue