Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
"test": "vitest run packages/api packages/db sites/mainweb/lib"
},
"dependencies": {
"next": "16.3.3",
"typescript": "^6.0.2"
"next": "16.3.6",
"typescript": "^7.0.2"
},
"devDependencies": {
"turbo": "^2.9.14",
"vitest": "^4.1.11"
"turbo": "^2.11.3",
"vite": "^7.3.6",
"vitest": "^5.0.1"
},
"pnpm": {
"overrides": {
Expand Down
25 changes: 13 additions & 12 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,24 @@
"dependencies": {
"@query/auth": "workspace:*",
"@query/db": "workspace:*",
"@tanstack/react-query": "5.90.12",
"@trpc/client": "11.18.0",
"@trpc/next": "11.18.0",
"@trpc/react-query": "11.18.0",
"@trpc/server": "11.18.0",
"drizzle-orm": "0.45.2",
"image-size": "2.0.2",
"@tanstack/react-query": "5.103.2",
"@trpc/client": "11.19.0",
"@trpc/next": "11.19.0",
"@trpc/react-query": "11.19.0",
"@trpc/server": "11.19.0",
"drizzle-orm": "0.45.3",
"image-size": "2.0.4",
"prom-client": "15.1.3",
"sanitize-html": "2.17.7",
"stripe": "^22.0.0",
"superjson": "2.2.3",
"zod": "3.25.53"
"stripe": "^22.6.2",
"superjson": "2.2.6",
"zod": "4.6.5"
},
"devDependencies": {
"@query/tsconfig": "workspace:*",
"@types/sanitize-html": "^2.16.0",
"typescript": "6.0.2",
"vitest": "^4.1.11"
"typescript": "7.0.2",
"vite": "^7.3.6",
"vitest": "^5.0.1"
}
}
28 changes: 14 additions & 14 deletions packages/api/src/.internal-tests/routers.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -688,7 +688,7 @@ describe("Router Integration and Access Control Verification Suite", () => {

it("should prevent registered participants from applying to be a judge", async () => {
const ctx = createMockCtx("participant_user_id");
const hackathonId = "00000000-0000-0000-0000-000000000001";
const hackathonId = "00000000-0000-4000-8000-000000000001";
mockFindFirst.mockImplementation((table) => {
if (table === "hackathonParticipants") {
return {
Expand All @@ -714,8 +714,8 @@ describe("Router Integration and Access Control Verification Suite", () => {

it("should prevent project submissions before 12 hours after the hacking begins", async () => {
const ctx = createMockCtx("captain_user_id");
const hackathonId = "00000000-0000-0000-0000-000000000001";
const teamId = "00000000-0000-0000-0000-000000000002";
const hackathonId = "00000000-0000-4000-8000-000000000001";
const teamId = "00000000-0000-4000-8000-000000000002";

const recentStartDate = new Date(Date.now() - 11 * 60 * 60 * 1000); // 11 hours ago

Expand Down Expand Up @@ -759,8 +759,8 @@ describe("Router Integration and Access Control Verification Suite", () => {

it("should prevent project edits (existing project) after 34 hours of starting hacking", async () => {
const ctx = createMockCtx("captain_user_id");
const hackathonId = "00000000-0000-0000-0000-000000000001";
const teamId = "00000000-0000-0000-0000-000000000002";
const hackathonId = "00000000-0000-4000-8000-000000000001";
const teamId = "00000000-0000-4000-8000-000000000002";

const startDate35hAgo = new Date(Date.now() - 35 * 60 * 60 * 1000); // 35 hours ago

Expand Down Expand Up @@ -813,8 +813,8 @@ describe("Router Integration and Access Control Verification Suite", () => {

it("should prevent project submissions more than 36 hours after hacking starts", async () => {
const ctx = createMockCtx("captain_user_id");
const hackathonId = "00000000-0000-0000-0000-000000000001";
const teamId = "00000000-0000-0000-0000-000000000002";
const hackathonId = "00000000-0000-4000-8000-000000000001";
const teamId = "00000000-0000-4000-8000-000000000002";

const pastStartDate = new Date(Date.now() - 37 * 60 * 60 * 1000); // 37 hours ago

Expand Down Expand Up @@ -858,7 +858,7 @@ describe("Router Integration and Access Control Verification Suite", () => {
});

describe("8. Hackathon Participant Registration (does it add users to the hackathon)", () => {
const hackathonId = "00000000-0000-0000-0000-000000000010";
const hackathonId = "00000000-0000-4000-8000-000000000010";

it("should successfully register a user for an open hackathon and increment participant count", async () => {
const ctx = createMockCtx("new_user_id");
Expand Down Expand Up @@ -1043,7 +1043,7 @@ describe("Router Integration and Access Control Verification Suite", () => {
});

describe("9. Hackathon Creation, Updates and Admin Operations (does it create stuff)", () => {
const hackathonId = "00000000-0000-0000-0000-000000000020";
const hackathonId = "00000000-0000-4000-8000-000000000020";

it("should allow admin to create a new hackathon with draft status", async () => {
const ctx = createMockCtx("admin_user_id");
Expand Down Expand Up @@ -1155,7 +1155,7 @@ describe("Router Integration and Access Control Verification Suite", () => {
const caller = appRouter.createCaller(ctx);
const res = await caller.hackathon.updateParticipantStatus({
hackathonId,
participantId: "00000000-0000-0000-0000-000000000099",
participantId: "00000000-0000-4000-8000-000000000099",
status: "approved",
});

Expand All @@ -1165,8 +1165,8 @@ describe("Router Integration and Access Control Verification Suite", () => {

it("should scan participant event pass and prevent duplicate check-ins", async () => {
const ctx = createMockCtx("admin_user_id");
const eventId = "00000000-0000-0000-0000-000000000030";
const participantId = "00000000-0000-0000-0000-000000000031";
const eventId = "00000000-0000-4000-8000-000000000030";
const participantId = "00000000-0000-4000-8000-000000000031";

mockFindFirst.mockImplementation((table) => {
if (table === "admins") {
Expand Down Expand Up @@ -1329,7 +1329,7 @@ describe("Router Integration and Access Control Verification Suite", () => {
});

describe("11. Member Registration, Renewal, and Status Tracking", () => {
const hackathonId = "00000000-0000-0000-0000-000000000040";
const hackathonId = "00000000-0000-4000-8000-000000000040";

it("should register a user as a member", async () => {
const ctx = createMockCtx("user_member_1");
Expand Down Expand Up @@ -1559,7 +1559,7 @@ describe("Router Integration and Access Control Verification Suite", () => {
});

describe("13. Judging System, Queue & Live Rankings", () => {
const hackathonId = "00000000-0000-0000-0000-000000000050";
const hackathonId = "00000000-0000-4000-8000-000000000050";

it("should allow admin to create a judge profile", async () => {
const ctx = createMockCtx("admin_user_id");
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/routers/stripe.ts
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ export const stripeRouter = createTRPCRouter({
.input(
z
.object({ bootcamp: z.boolean().default(false), plan: planInput })
.default({}),
.prefault({}),
)
.mutation(async ({ ctx, input }) => {
const user = await ctx.db!.query.users.findFirst({
Expand Down
18 changes: 9 additions & 9 deletions packages/auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@auth/drizzle-adapter": "1.7.1",
"@auth/drizzle-adapter": "1.11.3",
"@query/db": "workspace:*",
"drizzle-orm": "0.45.2",
"drizzle-orm": "0.45.3",
"next-auth": "5.0.0-beta.32",
"nodemailer": "^9.1.1"
"nodemailer": "^10.0.10"
},
"peerDependencies": {
"next": ">=15.0.0"
},
"devDependencies": {
"@query/tsconfig": "workspace:*",
"@types/node": "^20",
"@typescript-eslint/eslint-plugin": "^8.59.2",
"@typescript-eslint/parser": "^8.59.2",
"@typescript-eslint/utils": "^8.59.2",
"eslint": "^10.1.0",
"@types/node": "^22.20.4",
"@typescript-eslint/eslint-plugin": "^8.70.1",
"@typescript-eslint/parser": "^8.70.1",
"@typescript-eslint/utils": "^8.70.1",
"eslint": "^10.11.0",
"eslint-config-prettier": "^10.1.5",
"typescript": "^6.0.2"
"typescript": "^7.0.2"
}
}
4 changes: 3 additions & 1 deletion packages/auth/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,9 @@ export const authConfig: NextAuthConfig = {
html: html({ code, host }),
});

const failed = result.rejected.concat(result.pending).filter(Boolean);
const failed = result.rejected
.concat(result.pending ?? [])
.filter(Boolean);
if (failed.length) {
throw new Error(`Email(s) could not be sent`);
}
Expand Down
18 changes: 9 additions & 9 deletions packages/db/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@
},
"dependencies": {
"@t3-oss/env-nextjs": "0.13.11",
"drizzle-orm": "0.45.2",
"drizzle-orm": "0.45.3",
"next-auth": "5.0.0-beta.32",
"pg": "8.21.0",
"postgres": "3.4.3",
"zod": "3.25.53"
"pg": "8.23.0",
"postgres": "3.4.9",
"zod": "4.6.5"
},
"devDependencies": {
"@query/tsconfig": "workspace:*",
"@types/pg": "^8.10.9",
"dotenv": "^16.6.1",
"drizzle-kit": "0.31.10",
"tsx": "^4.21.0",
"typescript": "^6.0.2",
"@types/pg": "^8.23.1",
"dotenv": "^18.0.3",
"drizzle-kit": "0.31.11",
"tsx": "^4.23.15",
"typescript": "^7.0.2",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
}
}
17 changes: 8 additions & 9 deletions packages/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,18 @@
"react": "^18.3.1 || ^19.0.0"
},
"devDependencies": {
"@next/eslint-plugin-next": "16.3.0",
"@next/eslint-plugin-next": "16.3.6",
"@query/eslint-config": "workspace:*",
"@query/tailwind-config": "workspace:*",
"@query/tsconfig": "workspace:*",
"@tailwindcss/cli": "4.3.0",
"@types/minimatch": "^6.0.0",
"@types/react": "^19.2.17",
"eslint": "10.1.0",
"tailwindcss": "4.3.0",
"typescript": "6.0.2"
"@tailwindcss/cli": "4.3.3",
"@types/react": "^19.3.0",
"eslint": "10.11.0",
"tailwindcss": "4.3.3",
"typescript": "7.0.2"
},
"dependencies": {
"minimatch": "^10.2.3",
"react-dom": "19.0.0"
"minimatch": "^10.2.6",
"react-dom": "19.3.0"
}
}
Loading
Loading