mirror of
https://github.com/SrIzan10/hctv.git
synced 2026-06-06 00:56:56 +00:00
chore: migrate to pnpm
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
FROM node:lts-alpine AS base
|
FROM node:lts-alpine AS base
|
||||||
|
ENV PNPM_HOME="/pnpm"
|
||||||
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
|
RUN corepack enable
|
||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
RUN apk update
|
RUN apk update
|
||||||
RUN apk add --no-cache libc6-compat
|
RUN apk add --no-cache libc6-compat
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN yarn global add turbo@^2
|
RUN pnpm add -g turbo@^2
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN turbo prune @hctv/chat --docker
|
RUN turbo prune @hctv/chat --docker
|
||||||
@@ -16,10 +19,10 @@ WORKDIR /app
|
|||||||
|
|
||||||
# First install the dependencies
|
# First install the dependencies
|
||||||
COPY --from=builder /app/out/json/ .
|
COPY --from=builder /app/out/json/ .
|
||||||
RUN yarn install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
COPY --from=builder /app/out/full/ .
|
COPY --from=builder /app/out/full/ .
|
||||||
RUN --mount=type=secret,id=TURBO_TOKEN --mount=type=secret,id=TURBO_TEAM TURBO_TOKEN=$(cat /run/secrets/TURBO_TOKEN) TURBO_TEAM=$(cat /run/secrets/TURBO_TEAM) yarn turbo run build --concurrency=1
|
RUN --mount=type=secret,id=TURBO_TOKEN --mount=type=secret,id=TURBO_TEAM TURBO_TOKEN=$(cat /run/secrets/TURBO_TOKEN) TURBO_TEAM=$(cat /run/secrets/TURBO_TEAM) pnpm turbo run build --concurrency=1
|
||||||
|
|
||||||
FROM base AS runner
|
FROM base AS runner
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
"build": "tsc --build"
|
"build": "tsc --build"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hctv/auth": "*",
|
"@hctv/auth": "workspace:*",
|
||||||
"@hctv/db": "*",
|
"@hctv/db": "workspace:*",
|
||||||
"@hctv/hono-ws": "*",
|
"@hctv/hono-ws": "workspace:*",
|
||||||
"@hono/node-server": "^1.14.0",
|
"@hono/node-server": "^1.14.0",
|
||||||
"@hono/node-ws": "^1.1.0",
|
"@hono/node-ws": "^1.1.0",
|
||||||
"@leeoniya/ufuzzy": "^1.0.18",
|
"@leeoniya/ufuzzy": "^1.0.18",
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
FROM node:lts-slim AS base
|
FROM node:lts-slim AS base
|
||||||
|
ENV PNPM_HOME="/pnpm"
|
||||||
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
|
RUN corepack enable
|
||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
@@ -7,9 +10,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
# Set working directory
|
# Set working directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
# Replace <your-major-version> with the major version installed in your repository. For example:
|
RUN pnpm add -g turbo@^2
|
||||||
# RUN yarn global add turbo@^2
|
|
||||||
RUN yarn global add turbo@^2
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Get the git commit hash before pruning (since .git might be removed)
|
# Get the git commit hash before pruning (since .git might be removed)
|
||||||
@@ -35,13 +36,13 @@ WORKDIR /app
|
|||||||
|
|
||||||
# First install the dependencies (as they change less often)
|
# First install the dependencies (as they change less often)
|
||||||
COPY --from=builder /app/out/json/ .
|
COPY --from=builder /app/out/json/ .
|
||||||
RUN yarn install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
COPY --from=builder /app/out/full/ .
|
COPY --from=builder /app/out/full/ .
|
||||||
RUN --mount=type=secret,id=TURBO_TOKEN --mount=type=secret,id=TURBO_TEAM \
|
RUN --mount=type=secret,id=TURBO_TOKEN --mount=type=secret,id=TURBO_TEAM \
|
||||||
COMMIT=$(cat /tmp/commit_hash 2>/dev/null || echo "unknown") && \
|
COMMIT=$(cat /tmp/commit_hash 2>/dev/null || echo "unknown") && \
|
||||||
TURBO_TOKEN=$(cat /run/secrets/TURBO_TOKEN) TURBO_TEAM=$(cat /run/secrets/TURBO_TEAM) \
|
TURBO_TOKEN=$(cat /run/secrets/TURBO_TOKEN) TURBO_TEAM=$(cat /run/secrets/TURBO_TEAM) \
|
||||||
commit=$COMMIT yarn turbo run build --env-mode=loose
|
commit=$COMMIT pnpm turbo run build --env-mode=loose
|
||||||
|
|
||||||
FROM base AS runner
|
FROM base AS runner
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
@@ -65,7 +66,7 @@ RUN COMMIT_VALUE=$(cat /tmp/commit_hash 2>/dev/null || echo "unknown") && \
|
|||||||
echo "#!/bin/sh" > /usr/local/bin/start.sh && \
|
echo "#!/bin/sh" > /usr/local/bin/start.sh && \
|
||||||
echo "set -e" >> /usr/local/bin/start.sh && \
|
echo "set -e" >> /usr/local/bin/start.sh && \
|
||||||
echo "echo 'Running database migrations...'" >> /usr/local/bin/start.sh && \
|
echo "echo 'Running database migrations...'" >> /usr/local/bin/start.sh && \
|
||||||
echo "npx prisma migrate deploy --schema=/app/packages/db/prisma/schema.prisma" >> /usr/local/bin/start.sh && \
|
echo "pnpm prisma migrate deploy --schema=/app/packages/db/prisma/schema.prisma" >> /usr/local/bin/start.sh && \
|
||||||
echo "cd /app" >> /usr/local/bin/start.sh && \
|
echo "cd /app" >> /usr/local/bin/start.sh && \
|
||||||
echo "export commit=$COMMIT_VALUE" >> /usr/local/bin/start.sh && \
|
echo "export commit=$COMMIT_VALUE" >> /usr/local/bin/start.sh && \
|
||||||
echo "echo 'Starting Next.js application...'" >> /usr/local/bin/start.sh && \
|
echo "echo 'Starting Next.js application...'" >> /usr/local/bin/start.sh && \
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
"genMtxTypes": "bunx openapi-typescript https://github.com/bluenviron/mediamtx/raw/refs/tags/v1.15.5/api/openapi.yaml -o ./src/lib/types/mediamtx.d.ts"
|
"genMtxTypes": "bunx openapi-typescript https://github.com/bluenviron/mediamtx/raw/refs/tags/v1.15.5/api/openapi.yaml -o ./src/lib/types/mediamtx.d.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hctv/auth": "*",
|
"@hctv/auth": "workspace:*",
|
||||||
"@hctv/db": "*",
|
"@hctv/db": "workspace:*",
|
||||||
"@hookform/resolvers": "^3.9.1",
|
"@hookform/resolvers": "^3.9.1",
|
||||||
"@lucia-auth/adapter-prisma": "^4.0.1",
|
"@lucia-auth/adapter-prisma": "^4.0.1",
|
||||||
"@node-rs/argon2": "^2.0.2",
|
"@node-rs/argon2": "^2.0.2",
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
"docker:web": "dotenvx run -f .env.docker -- docker buildx build --platform linux/amd64 -f apps/web/Dockerfile . --secret id=TURBO_TOKEN,env=TURBO_TOKEN --secret id=TURBO_TEAM,env=TURBO_TEAM --no-cache",
|
"docker:web": "dotenvx run -f .env.docker -- docker buildx build --platform linux/amd64 -f apps/web/Dockerfile . --secret id=TURBO_TOKEN,env=TURBO_TOKEN --secret id=TURBO_TEAM,env=TURBO_TEAM --no-cache",
|
||||||
"docker:chat": "dotenvx run -f .env.docker -- docker buildx build --platform linux/amd64 -f apps/chat/Dockerfile . --secret id=TURBO_TOKEN,env=TURBO_TOKEN --secret id=TURBO_TEAM,env=TURBO_TEAM --no-cache",
|
"docker:chat": "dotenvx run -f .env.docker -- docker buildx build --platform linux/amd64 -f apps/chat/Dockerfile . --secret id=TURBO_TOKEN,env=TURBO_TOKEN --secret id=TURBO_TEAM,env=TURBO_TEAM --no-cache",
|
||||||
"act": "act --secret-file .env.ci",
|
"act": "act --secret-file .env.ci",
|
||||||
"db:migrate": "yarn workspace @hctv/db db:migrate",
|
"db:migrate": "pnpm --filter=@hctv/db db:migrate",
|
||||||
"ui:add": "yarn workspace @hctv/web ui:add",
|
"ui:add": "pnpm --filter=@hctv/web ui:add",
|
||||||
"prisma": "yarn workspace @hctv/db prisma",
|
"prisma": "pnpm --filter=@hctv/db prisma",
|
||||||
"r:rtmp": "docker compose -f dev/docker-compose.yml restart nginx-rtmp -t 0"
|
"r:rtmp": "docker compose -f dev/docker-compose.yml restart nginx-rtmp -t 0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"prettier": "^3.6.2",
|
"prettier": "^3.6.2",
|
||||||
"turbo": "^2.4.4"
|
"turbo": "^2.4.4"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
"packageManager": "pnpm@10.6.5"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
"dev": "tsc --watch --preserveWatchOutput"
|
"dev": "tsc --watch --preserveWatchOutput"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hctv/db": "*",
|
"@hctv/db": "workspace:*",
|
||||||
"@lucia-auth/adapter-prisma": "^4.0.1",
|
"@lucia-auth/adapter-prisma": "^4.0.1",
|
||||||
"arctic": "^3.1.1",
|
"arctic": "^3.1.1",
|
||||||
"lucia": "^3.2.2"
|
"lucia": "^3.2.2"
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ export const hackClub = new OAuth2Client(
|
|||||||
process.env.HCID_REDIRECT_URI!
|
process.env.HCID_REDIRECT_URI!
|
||||||
);
|
);
|
||||||
|
|
||||||
export const HCID_AUTH_URL = "https://account.hackclub.com/oauth/authorize";
|
export const HCID_AUTH_URL = "https://auth.hackclub.com/oauth/authorize";
|
||||||
export const HCID_TOKEN_URL = "https://account.hackclub.com/oauth/token";
|
export const HCID_TOKEN_URL = "https://auth.hackclub.com/oauth/token";
|
||||||
export const HCID_USER_INFO_URL = "https://account.hackclub.com/api/v1/me";
|
export const HCID_USER_INFO_URL = "https://auth.hackclub.com/api/v1/me";
|
||||||
|
|
||||||
export const lucia = new Lucia(adapter, {
|
export const lucia = new Lucia(adapter, {
|
||||||
sessionCookie: {
|
sessionCookie: {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ws": "^8.17.0",
|
"ws": "^8.17.0",
|
||||||
"@hctv/db": "*"
|
"@hctv/db": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@hono/node-server": "^1.11.1",
|
"@hono/node-server": "^1.11.1",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
17254
pnpm-lock.yaml
generated
Normal file
17254
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
3
pnpm-workspace.yaml
Normal file
3
pnpm-workspace.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
packages:
|
||||||
|
- 'apps/*'
|
||||||
|
- 'packages/*'
|
||||||
Reference in New Issue
Block a user