chore: migrate to pnpm

This commit is contained in:
2025-12-31 01:37:11 +01:00
parent 786a2afb6c
commit 593baa6505
12 changed files with 17284 additions and 16429 deletions

View File

@@ -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

View File

@@ -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",

View File

@@ -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 && \

View File

@@ -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",

View File

@@ -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"
} }

View File

@@ -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"

View File

@@ -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: {

View File

@@ -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

File diff suppressed because it is too large Load Diff

3
pnpm-workspace.yaml Normal file
View File

@@ -0,0 +1,3 @@
packages:
- 'apps/*'
- 'packages/*'

14208
yarn.lock

File diff suppressed because it is too large Load Diff