Compare commits

..

3 commits

Author SHA1 Message Date
0d06e26d89
unneeded 2025-04-06 02:27:03 +02:00
fb56769405
cache 2025-04-06 00:16:11 +02:00
303c2132a1
ts... 2025-04-06 00:12:17 +02:00
4 changed files with 13 additions and 14 deletions

View file

@ -3,6 +3,8 @@
FROM oven/bun:latest AS base
WORKDIR /app
ENV NODE_ENV=production
# install dependencies into temp directory
# this will cache them and speed up future builds
FROM base AS install
@ -22,7 +24,6 @@ COPY --from=install /temp/dev/node_modules node_modules
COPY . .
# [optional] tests & build
ENV NODE_ENV=production
# RUN bun test
# RUN bun run build
@ -34,5 +35,4 @@ COPY --from=install /temp/prod/node_modules node_modules
COPY --from=prerelease /app/ .
# run the app
ENTRYPOINT [ "bun", "run", "start" ]
ENTRYPOINT [ "bun", "start" ]

View file

@ -4,7 +4,7 @@
"type": "module",
"private": true,
"scripts": {
"start": "bun run src/server.ts",
"start": "bun src/server.ts",
"dev": "bun --watch run src/server.ts",
"hot": "bun --hot run src/server.ts",
"build": "bun build src/server.ts --compile --minify --sourcemap --target=bun-linux-x64-modern --outfile server",

View file

@ -25,9 +25,9 @@ const entriesCacheTimeLimit = 1000 * 15;
async function getEntriesCached() {
if (entriesCacheTime + entriesCacheTimeLimit < Date.now()) {
const data = await ptApi.query();
entriesCache = JSON.stringify(data);
entriesCacheTime = Date.now();
const data = await ptApi.query();
entriesCache = JSON.stringify(data);
entriesCacheTime = Date.now();
}
return entriesCache;
}
@ -100,9 +100,8 @@ Bun.serve({
globalThis.loginTokens.add(token);
if (entriesCacheTime + entriesCacheTimeLimit < Date.now()) {
setTimeout(getEntriesCached, 1);
}
setTimeout(getEntriesCached, 1);
return new Response('Login successful', { headers });
}

View file

@ -1,25 +1,25 @@
{
"compilerOptions": {
// Environment setup & latest features
"lib": ["ESNext"],
"lib": [
"ESNext",
"DOM",
],
"target": "ESNext",
"module": "ESNext",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
// Best practices
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noUnusedParameters": false,