docker prep
All checks were successful
CD / Check changes (push) Successful in 7s
CI / Test (pull_request) Successful in 19s
CD / test (push) Successful in 1m25s
CD / Build and push (amd64) (push) Successful in 48s
CD / Build and push (arm64) (push) Successful in 3m27s
CD / Create manifest (push) Successful in 9s

This commit is contained in:
2025-07-15 21:29:07 +02:00
parent 5dd762f435
commit 8abd3f1ce4
4 changed files with 41 additions and 6 deletions

6
.dockerignore Normal file
View File

@@ -0,0 +1,6 @@
*
!src/
!package.json
!bun.lock
!tsconfig.json

23
Dockerfile Normal file
View File

@@ -0,0 +1,23 @@
FROM oven/bun:1.2.18 AS base
WORKDIR /app
FROM base AS install
RUN mkdir -p /temp/dev
COPY package.json bun.lock /temp/dev/
RUN cd /temp/dev && bun install --frozen-lockfile
RUN mkdir -p /temp/prod
COPY package.json bun.lock /temp/prod/
RUN cd /temp/prod && bun install --frozen-lockfile --production
FROM base AS build
COPY --from=install /temp/dev/node_modules node_modules
COPY . .
RUN bun run build
FROM base AS release
COPY --from=install /temp/prod/node_modules node_modules
COPY --from=build /app/dist .
CMD [ "bun", "/app/main.js"]

View File

@@ -5,7 +5,8 @@
"check:spell": "cspell --config cspell.code.json **/*.ts",
"lint": "eslint -c eslint.config.js .",
"lint:fix": "eslint -c eslint.config.js --fix .",
"typecheck": "tsc --noEmit"
"typecheck": "tsc --noEmit",
"build": "tsc"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.15.1",

View File

@@ -3,16 +3,15 @@
// Environment setup & latest features
"lib": ["ESNext", "DOM"],
"target": "ESNext",
"module": "Preserve",
"module": "ESNext",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
"noEmit": false,
// Best practices
"strict": true,
@@ -24,6 +23,12 @@
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
}
"noPropertyAccessFromIndexSignature": false,
"outDir": "./dist",
"rootDir": "./src",
"removeComments": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
}