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
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:
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@@ -0,0 +1,6 @@
|
||||
*
|
||||
|
||||
!src/
|
||||
!package.json
|
||||
!bun.lock
|
||||
!tsconfig.json
|
||||
23
Dockerfile
Normal file
23
Dockerfile
Normal 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"]
|
||||
@@ -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",
|
||||
|
||||
@@ -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"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user