preserve Hugging Face runtime configuration
Browse files- Dockerfile +4 -7
- package.json +6 -89
- pnpm-lock.yaml +0 -0
Dockerfile
CHANGED
|
@@ -4,17 +4,14 @@ RUN corepack enable && corepack prepare pnpm@9.12.0 --activate
|
|
| 4 |
|
| 5 |
WORKDIR /app
|
| 6 |
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
RUN pnpm install --frozen-lockfile
|
| 10 |
|
| 11 |
-
# Copy backend-related files + shared dependencies
|
| 12 |
COPY server/ server/
|
| 13 |
COPY shared/ shared/
|
| 14 |
COPY drizzle/ drizzle/
|
| 15 |
COPY drizzle.config.ts tsconfig.json ./
|
| 16 |
|
| 17 |
-
# Build server (CJS format so Node.js runs it without "type":"module")
|
| 18 |
RUN npx esbuild server/_core/index.ts \
|
| 19 |
--platform=node \
|
| 20 |
--packages=external \
|
|
@@ -22,11 +19,11 @@ RUN npx esbuild server/_core/index.ts \
|
|
| 22 |
--format=cjs \
|
| 23 |
--outdir=dist
|
| 24 |
|
| 25 |
-
# Remove devDependencies after build
|
| 26 |
RUN pnpm prune --prod
|
| 27 |
|
| 28 |
ENV NODE_ENV=production
|
|
|
|
| 29 |
|
| 30 |
-
EXPOSE
|
| 31 |
|
| 32 |
CMD ["node", "dist/index.js"]
|
|
|
|
| 4 |
|
| 5 |
WORKDIR /app
|
| 6 |
|
| 7 |
+
COPY package.json ./
|
| 8 |
+
RUN pnpm install --prod=false
|
|
|
|
| 9 |
|
|
|
|
| 10 |
COPY server/ server/
|
| 11 |
COPY shared/ shared/
|
| 12 |
COPY drizzle/ drizzle/
|
| 13 |
COPY drizzle.config.ts tsconfig.json ./
|
| 14 |
|
|
|
|
| 15 |
RUN npx esbuild server/_core/index.ts \
|
| 16 |
--platform=node \
|
| 17 |
--packages=external \
|
|
|
|
| 19 |
--format=cjs \
|
| 20 |
--outdir=dist
|
| 21 |
|
|
|
|
| 22 |
RUN pnpm prune --prod
|
| 23 |
|
| 24 |
ENV NODE_ENV=production
|
| 25 |
+
ENV PORT=7860
|
| 26 |
|
| 27 |
+
EXPOSE 7860
|
| 28 |
|
| 29 |
CMD ["node", "dist/index.js"]
|
package.json
CHANGED
|
@@ -1,114 +1,31 @@
|
|
| 1 |
{
|
| 2 |
-
"name": "
|
| 3 |
"version": "1.0.0",
|
| 4 |
"private": true,
|
| 5 |
-
"main": "expo-router/entry",
|
| 6 |
"scripts": {
|
| 7 |
-
"
|
| 8 |
-
"
|
| 9 |
-
"dev:metro": "cross-env EXPO_USE_METRO_WORKSPACE_ROOT=1 npx expo start --web --port 8081",
|
| 10 |
-
"build": "esbuild server/_core/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist",
|
| 11 |
-
"start": "cross-env NODE_ENV=production node dist/index.js",
|
| 12 |
-
"check": "tsc --noEmit",
|
| 13 |
-
"lint": "expo lint",
|
| 14 |
-
"format": "prettier --write .",
|
| 15 |
-
"test": "vitest run",
|
| 16 |
-
"db:push": "drizzle-kit generate && drizzle-kit migrate",
|
| 17 |
-
"android": "expo run:android",
|
| 18 |
-
"ios": "expo run:ios",
|
| 19 |
-
"qr": "node scripts/generate_qr.mjs"
|
| 20 |
},
|
| 21 |
"dependencies": {
|
| 22 |
-
"@expo/vector-icons": "^15.0.3",
|
| 23 |
-
"@react-native-async-storage/async-storage": "^2.2.0",
|
| 24 |
-
"@react-navigation/bottom-tabs": "^7.8.12",
|
| 25 |
-
"@react-navigation/elements": "^2.9.2",
|
| 26 |
-
"@react-navigation/native": "^7.1.25",
|
| 27 |
-
"@tanstack/react-query": "^5.90.12",
|
| 28 |
-
"@trpc/client": "11.7.2",
|
| 29 |
-
"@trpc/react-query": "11.7.2",
|
| 30 |
"@trpc/server": "11.7.2",
|
| 31 |
-
"@types/three": "^0.183.1",
|
| 32 |
-
"@types/ws": "^8.18.1",
|
| 33 |
"axios": "^1.13.2",
|
| 34 |
-
"clsx": "^2.1.1",
|
| 35 |
"cookie": "^1.1.1",
|
| 36 |
"dotenv": "^16.6.1",
|
| 37 |
"drizzle-orm": "^0.44.7",
|
| 38 |
-
"expo": "~54.0.29",
|
| 39 |
-
"expo-asset": "~12.0.12",
|
| 40 |
-
"expo-audio": "~1.1.0",
|
| 41 |
-
"expo-build-properties": "^1.0.10",
|
| 42 |
-
"expo-camera": "~17.0.10",
|
| 43 |
-
"expo-clipboard": "~8.0.8",
|
| 44 |
-
"expo-constants": "~18.0.12",
|
| 45 |
-
"expo-dev-client": "~6.0.20",
|
| 46 |
-
"expo-file-system": "~19.0.21",
|
| 47 |
-
"expo-font": "~14.0.10",
|
| 48 |
-
"expo-gl": "~16.0.10",
|
| 49 |
-
"expo-haptics": "~15.0.8",
|
| 50 |
-
"expo-image": "~3.0.11",
|
| 51 |
-
"expo-keep-awake": "~15.0.8",
|
| 52 |
-
"expo-linking": "~8.0.10",
|
| 53 |
-
"expo-modules-core": "~3.0.29",
|
| 54 |
-
"expo-notifications": "~0.32.15",
|
| 55 |
-
"expo-router": "~6.0.19",
|
| 56 |
-
"expo-secure-store": "~15.0.8",
|
| 57 |
-
"expo-speech": "~14.0.8",
|
| 58 |
-
"expo-speech-recognition": "^3.1.2",
|
| 59 |
-
"expo-splash-screen": "~31.0.12",
|
| 60 |
-
"expo-status-bar": "~3.0.9",
|
| 61 |
-
"expo-symbols": "~1.0.8",
|
| 62 |
-
"expo-system-ui": "~6.0.9",
|
| 63 |
-
"expo-video": "~3.0.15",
|
| 64 |
-
"expo-web-browser": "~15.0.10",
|
| 65 |
"express": "^4.22.1",
|
| 66 |
"jose": "6.1.0",
|
| 67 |
-
"mediapipe": "^0.0.1-security",
|
| 68 |
"mysql2": "^3.16.0",
|
| 69 |
-
"nativewind": "^4.2.1",
|
| 70 |
-
"react": "19.1.0",
|
| 71 |
-
"react-dom": "19.1.0",
|
| 72 |
-
"react-native": "0.81.5",
|
| 73 |
-
"react-native-gesture-handler": "~2.28.0",
|
| 74 |
-
"react-native-live-audio-stream": "1.1.1",
|
| 75 |
-
"react-native-reanimated": "~4.1.6",
|
| 76 |
-
"react-native-safe-area-context": "~5.6.2",
|
| 77 |
-
"react-native-screens": "~4.16.0",
|
| 78 |
-
"react-native-svg": "15.12.1",
|
| 79 |
-
"react-native-web": "~0.21.2",
|
| 80 |
-
"react-native-worklets": "0.5.1",
|
| 81 |
"superjson": "^1.13.3",
|
| 82 |
-
"tailwind-merge": "^2.6.0",
|
| 83 |
-
"three": "^0.183.2",
|
| 84 |
"ws": "^8.19.0",
|
| 85 |
"zod": "^4.2.1"
|
| 86 |
},
|
| 87 |
"devDependencies": {
|
| 88 |
-
"@expo/ngrok": "^4.1.3",
|
| 89 |
"@types/cookie": "^0.6.0",
|
| 90 |
"@types/express": "^4.17.25",
|
| 91 |
"@types/node": "^22.19.3",
|
| 92 |
-
"@types/
|
| 93 |
-
"@types/react": "~19.1.17",
|
| 94 |
-
"concurrently": "^9.2.1",
|
| 95 |
-
"cross-env": "^7.0.3",
|
| 96 |
-
"drizzle-kit": "^0.31.8",
|
| 97 |
"esbuild": "^0.25.12",
|
| 98 |
-
"
|
| 99 |
-
"eslint-config-expo": "~10.0.0",
|
| 100 |
-
"prettier": "^3.7.4",
|
| 101 |
-
"qrcode": "^1.5.4",
|
| 102 |
-
"tailwindcss": "^3.4.17",
|
| 103 |
-
"tsx": "^4.21.0",
|
| 104 |
-
"typescript": "~5.9.3",
|
| 105 |
-
"vitest": "^2.1.9",
|
| 106 |
-
"yaml": "^2.8.2"
|
| 107 |
},
|
| 108 |
-
"packageManager": "pnpm@9.12.0"
|
| 109 |
-
"pnpm": {
|
| 110 |
-
"patchedDependencies": {
|
| 111 |
-
"react-native-live-audio-stream@1.1.1": "patches/react-native-live-audio-stream@1.1.1.patch"
|
| 112 |
-
}
|
| 113 |
-
}
|
| 114 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"name": "taqarub-node-api",
|
| 3 |
"version": "1.0.0",
|
| 4 |
"private": true,
|
|
|
|
| 5 |
"scripts": {
|
| 6 |
+
"build": "esbuild server/_core/index.ts --platform=node --packages=external --bundle --format=cjs --outdir=dist",
|
| 7 |
+
"start": "node dist/index.js"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
},
|
| 9 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
"@trpc/server": "11.7.2",
|
|
|
|
|
|
|
| 11 |
"axios": "^1.13.2",
|
|
|
|
| 12 |
"cookie": "^1.1.1",
|
| 13 |
"dotenv": "^16.6.1",
|
| 14 |
"drizzle-orm": "^0.44.7",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
"express": "^4.22.1",
|
| 16 |
"jose": "6.1.0",
|
|
|
|
| 17 |
"mysql2": "^3.16.0",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
"superjson": "^1.13.3",
|
|
|
|
|
|
|
| 19 |
"ws": "^8.19.0",
|
| 20 |
"zod": "^4.2.1"
|
| 21 |
},
|
| 22 |
"devDependencies": {
|
|
|
|
| 23 |
"@types/cookie": "^0.6.0",
|
| 24 |
"@types/express": "^4.17.25",
|
| 25 |
"@types/node": "^22.19.3",
|
| 26 |
+
"@types/ws": "^8.18.1",
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
"esbuild": "^0.25.12",
|
| 28 |
+
"typescript": "~5.9.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
},
|
| 30 |
+
"packageManager": "pnpm@9.12.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
}
|
pnpm-lock.yaml
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|