mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
Upgrade zod package to 4 (#2677)
This commit is contained in:
parent
81483de0db
commit
658421d899
|
|
@ -3,7 +3,7 @@ import * as React from "react";
|
|||
import { type DefaultValues, FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useFetcher } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { logger } from "~/utils/logger";
|
||||
import type { ActionError } from "~/utils/remix.server";
|
||||
import { LinkButton } from "../elements/Button";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { ActionFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import * as AdminRepository from "~/features/admin/AdminRepository.server";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import { refreshBannedCache } from "~/features/ban/core/banned.server";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { friendCode } from "~/utils/zod";
|
||||
|
||||
export const adminActionSearchParamsSchema = z.object({
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { ActionFunction } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { seed } from "~/db/seed";
|
||||
import { DANGEROUS_CAN_ACCESS_DEV_CONTROLS } from "~/features/admin/core/dev-controls";
|
||||
import { SEED_VARIATIONS } from "~/features/api-private/constants";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import {
|
||||
databaseTimestampToDate,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { jsonArrayFrom } from "kysely/helpers/sqlite";
|
||||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import { concatUserSubmittedImagePrefix } from "~/utils/kysely.server";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { SendouQ } from "~/features/sendouq/core/SendouQ.server";
|
||||
import { parseParams } from "~/utils/remix.server";
|
||||
import { id } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import * as SQMatchRepository from "~/features/sendouq-match/SQMatchRepository.server";
|
||||
import { i18next } from "~/modules/i18n/i18next.server";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import { concatUserSubmittedImagePrefix } from "~/utils/kysely.server";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { jsonArrayFrom } from "kysely/helpers/sqlite";
|
||||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import * as TournamentRepository from "~/features/tournament/TournamentRepository.server";
|
||||
import * as TournamentTeamRepository from "~/features/tournament/TournamentTeamRepository.server";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { tournamentFromDB } from "~/features/tournament-bracket/core/Tournament.server";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
import { id } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import type { Bracket } from "~/features/tournament-bracket/core/Bracket";
|
||||
import { tournamentFromDB } from "~/features/tournament-bracket/core/Tournament.server";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
import { id } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import * as TournamentMatchRepository from "~/features/tournament-bracket/TournamentMatchRepository.server";
|
||||
import { parseParams } from "~/utils/remix.server";
|
||||
import { id } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { jsonArrayFrom, jsonObjectFrom } from "kysely/helpers/sqlite";
|
||||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import { ordinalToSp } from "~/features/mmr/mmr-utils";
|
||||
import * as TournamentRepository from "~/features/tournament/TournamentRepository.server";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { jsonArrayFrom } from "kysely/helpers/sqlite";
|
||||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import { databaseTimestampToDate } from "~/utils/dates";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { jsonArrayFrom } from "kysely/helpers/sqlite";
|
||||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { cors } from "remix-utils/cors";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import * as Seasons from "~/features/mmr/core/Seasons";
|
||||
import { userSkills as _userSkills } from "~/features/mmr/tiered.server";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { ActionFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { refreshApiTokensCache } from "~/features/api-public/api-public-utils.server";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import { parseRequestPayload, successToast } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
_action,
|
||||
checkboxValueToDbBoolean,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
|
||||
const authorName = z.string().min(1);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import matter from "gray-matter";
|
||||
import { ZodError, type z } from "zod/v4";
|
||||
import { ZodError, type z } from "zod";
|
||||
import { ARTICLES_FOLDER_PATH } from "../articles-constants";
|
||||
import { articleDataSchema } from "../articles-schemas.server";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { _action, id, inviteCode, safeStringSchema } from "~/utils/zod";
|
||||
import { ASSOCIATION } from "./associations-constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { SendouDialog } from "~/components/elements/Dialog";
|
||||
import { InputFormField } from "~/components/form/InputFormField";
|
||||
import { SendouForm } from "~/components/form/SendouForm";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { OAuth2Strategy } from "remix-auth-oauth2";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import * as UserRepository from "~/features/user-page/UserRepository.server";
|
||||
import invariant from "~/utils/invariant";
|
||||
import { logger } from "~/utils/logger";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { isbot } from "isbot";
|
||||
import type { ActionFunction, LoaderFunction } from "react-router";
|
||||
import { redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { DANGEROUS_CAN_ACCESS_DEV_CONTROLS } from "~/features/admin/core/dev-controls";
|
||||
import * as UserRepository from "~/features/user-page/UserRepository.server";
|
||||
import { requireRole } from "~/modules/permissions/guards.server";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { ActionFunction } from "react-router";
|
||||
import { redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import { notify } from "~/features/notifications/core/notify.server";
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { _action, id, noDuplicates, safeJSONParse } from "~/utils/zod";
|
||||
|
||||
export const editBadgeActionSchema = z.union([
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { ability, modeShort, safeJSONParse } from "~/utils/zod";
|
||||
import { MAX_BUILD_FILTERS } from "./builds-constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { ActionFunction } from "react-router";
|
||||
import { redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUserId } from "~/features/auth/core/user.server";
|
||||
import * as CalendarRepository from "~/features/calendar/CalendarRepository.server";
|
||||
import * as ShowcaseTournaments from "~/features/front-page/core/ShowcaseTournaments.server";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import * as CalendarRepository from "~/features/calendar/CalendarRepository.server";
|
||||
import { MapPool } from "~/features/map-list-generator/core/map-pool";
|
||||
import { rankedModesShort } from "~/modules/in-game-lists/modes";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { type CalendarEventTag, TOURNAMENT_STAGE_TYPES } from "~/db/tables";
|
||||
import { TOURNAMENT } from "~/features/tournament/tournament-constants";
|
||||
import * as Progression from "~/features/tournament-bracket/core/Progression";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import type { CalendarEventTag, Tables } from "~/db/tables";
|
||||
import type { calendarFiltersSearchParamsSchema } from "~/features/calendar/calendar-schemas";
|
||||
import type { ModeShortWithSpecial } from "~/modules/in-game-lists/types";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { formatDistance } from "date-fns";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { logger } from "~/utils/logger";
|
||||
|
||||
const BSKY_URL =
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import type { FileUpload } from "@remix-run/form-data-parser";
|
|||
import { parseFormData } from "@remix-run/form-data-parser";
|
||||
import type { ActionFunctionArgs } from "react-router";
|
||||
import { redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import * as TeamRepository from "~/features/team/TeamRepository.server";
|
||||
import { isTeamManager } from "~/features/team/team-utils";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { _action, id, safeJSONParse } from "~/utils/zod";
|
||||
|
||||
const validateManySchema = z.object({
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { ActionFunctionArgs } from "react-router";
|
||||
import { redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import * as UserRepository from "~/features/user-page/UserRepository.server";
|
||||
import { errorToastIfFalsy, parseRequestPayload } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { ActionFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import { errorToastIfFalsy, parseRequestPayload } from "~/utils/remix.server";
|
||||
import { _action, id } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import * as QSettingsRepository from "~/features/sendouq-settings/QSettingsRepository.server";
|
||||
import * as UserRepository from "~/features/user-page/UserRepository.server";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { id } from "~/utils/zod";
|
||||
import { NOTIFICATIONS } from "./notifications-contants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { _action, actualNumber, trimmedString } from "~/utils/zod";
|
||||
import { PLUS_SUGGESTION, PLUS_TIERS } from "./plus-suggestions-constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import type { PlusVoteFromFE } from "~/features/plus-voting/core";
|
||||
import { assertType } from "~/utils/types";
|
||||
import { safeJSONParse } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { add } from "date-fns";
|
||||
import { type ActionFunctionArgs, redirect } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import type { Tables } from "~/db/tables";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import { userIsBanned } from "~/features/ban/core/banned.server";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import clsx from "clsx";
|
|||
import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useLoaderData } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { Alert } from "~/components/Alert";
|
||||
import { SendouButton } from "~/components/elements/Button";
|
||||
import { SendouDialog } from "~/components/elements/Dialog";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import * as React from "react";
|
|||
import { Controller, useFormContext, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useLoaderData } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { TournamentSearch } from "~/components/elements/TournamentSearch";
|
||||
import { DateFormField } from "~/components/form/DateFormField";
|
||||
import { SelectFormField } from "~/components/form/SelectFormField";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next";
|
|||
import type { MetaFunction } from "react-router";
|
||||
import { useLoaderData } from "react-router";
|
||||
import * as R from "remeda";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { AddNewButton } from "~/components/AddNewButton";
|
||||
import { LinkButton, SendouButton } from "~/components/elements/Button";
|
||||
import { useUser } from "~/features/auth/core/user";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { add, sub } from "date-fns";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
_action,
|
||||
date,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { SENDOUQ, SENDOUQ_BEST_OF } from "~/features/sendouq/q-constants";
|
||||
import {
|
||||
_action,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { languagesUnified } from "~/modules/i18n/config";
|
||||
import {
|
||||
_action,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
_action,
|
||||
deduplicate,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { _action } from "~/utils/zod";
|
||||
|
||||
export const settingsEditSchema = z.union([
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
_action,
|
||||
customCssVarObject,
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { arrayMove } from "@dnd-kit/sortable";
|
|||
import JSONCrush from "jsoncrush";
|
||||
import * as React from "react";
|
||||
import { useSearchParams } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
useSearchParamState,
|
||||
useSearchParamStateEncoder,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { assertType } from "~/utils/types";
|
||||
import {
|
||||
hexCode,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
_action,
|
||||
checkboxValueToBoolean,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { SendouButton } from "~/components/elements/Button";
|
||||
import { SendouDialog } from "~/components/elements/Dialog";
|
||||
import { DateFormField } from "~/components/form/DateFormField";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { getUser } from "~/features/auth/core/user.server";
|
||||
import type { SerializeFrom } from "~/utils/remix";
|
||||
import { parseSafeSearchParams } from "~/utils/remix.server";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Controller, useFieldArray, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useLoaderData } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { FormMessage } from "~/components/FormMessage";
|
||||
import { AddFieldButton } from "~/components/form/AddFieldButton";
|
||||
import { FormFieldset } from "~/components/form/FormFieldset";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { Alert } from "~/components/Alert";
|
||||
import { InputFormField } from "~/components/form/InputFormField";
|
||||
import { SendouForm } from "~/components/form/SendouForm";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { isFuture } from "date-fns";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { TOURNAMENT_ORGANIZATION_ROLES } from "~/db/tables";
|
||||
import { TOURNAMENT_ORGANIZATION } from "~/features/tournament-organization/tournament-organization-constants";
|
||||
import { dayMonthYearToDate } from "~/utils/dates";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { notFoundIfFalsy, parseParams } from "~/utils/remix.server";
|
||||
import * as TournamentOrganizationRepository from "./TournamentOrganizationRepository.server";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
id,
|
||||
processMany,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
_action,
|
||||
checkboxValueToBoolean,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { type ActionFunction, redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import * as BuildRepository from "~/features/builds/BuildRepository.server";
|
||||
import { BUILD } from "~/features/builds/builds-constants";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { type ActionFunction, redirect } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { BUILD_SORT_IDENTIFIERS } from "~/db/tables";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import * as BuildRepository from "~/features/builds/BuildRepository.server";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUserId } from "~/features/auth/core/user.server";
|
||||
import * as BuildRepository from "~/features/builds/BuildRepository.server";
|
||||
import type { Ability } from "~/modules/in-game-lists/types";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useLoaderData } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { Divider } from "~/components/Divider";
|
||||
import { SendouButton } from "~/components/elements/Button";
|
||||
import { SendouDialog } from "~/components/elements/Dialog";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { BADGE } from "~/features/badges/badges-constants";
|
||||
import { isCustomUrl } from "~/utils/urls";
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { DANGEROUS_CAN_ACCESS_DEV_CONTROLS } from "~/features/admin/core/dev-controls";
|
||||
import { getUserId } from "~/features/auth/core/user.server";
|
||||
import * as UserRepository from "~/features/user-page/UserRepository.server";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { LoaderFunctionArgs } from "react-router";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { requireUser } from "~/features/auth/core/user.server";
|
||||
import { notFoundIfFalsy } from "~/utils/remix.server";
|
||||
import { actualNumber, id } from "~/utils/zod";
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import {
|
|||
} from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useLoaderData } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { SendouButton } from "~/components/elements/Button";
|
||||
import { UserSearch } from "~/components/elements/UserSearch";
|
||||
import { FormMessage } from "~/components/FormMessage";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { add } from "date-fns";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
dayMonthYear,
|
||||
id,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import type { Tables } from "~/db/tables";
|
||||
import type { MainWeaponId } from "~/modules/in-game-lists/types";
|
||||
import type { videoSchema } from "./vods-schemas";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
TIER_1_ID,
|
||||
TIER_2_ID,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { STAFF_DISCORD_IDS } from "~/features/admin/admin-constants";
|
||||
import * as UserRepository from "~/features/user-page/UserRepository.server";
|
||||
import { dateToDatabaseTimestamp } from "~/utils/dates";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import type { Unpacked } from "~/utils/types";
|
||||
|
||||
export const streamsSchema = z.object({
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import type {
|
|||
Params,
|
||||
} from "react-router";
|
||||
import { expect } from "vitest";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import { REGULAR_USER_TEST_ID } from "~/db/seed/constants";
|
||||
import { db, sql } from "~/db/sql";
|
||||
import { ADMIN_ID } from "~/features/admin/admin-constants";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { nanoid } from "nanoid";
|
|||
import type { Ok, Result } from "neverthrow";
|
||||
import type { Params, UIMatch } from "react-router";
|
||||
import { data, redirect } from "react-router";
|
||||
import type { z } from "zod/v4";
|
||||
import type { z } from "zod";
|
||||
import type { navItems } from "~/components/layout/nav-items";
|
||||
import { uploadStreamToS3 } from "~/features/img-upload/s3.server";
|
||||
import invariant from "./invariant";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { ZodType } from "zod/v4";
|
||||
import { z } from "zod/v4";
|
||||
import type { ZodType } from "zod";
|
||||
import { z } from "zod";
|
||||
import { CUSTOM_CSS_VAR_COLORS } from "~/features/user-page/user-page-constants";
|
||||
import {
|
||||
abilities,
|
||||
|
|
|
|||
18
package-lock.json
generated
18
package-lock.json
generated
|
|
@ -67,7 +67,7 @@
|
|||
"slugify": "^1.6.6",
|
||||
"swr": "^2.3.8",
|
||||
"web-push": "^3.6.7",
|
||||
"zod": "^3.25.61"
|
||||
"zod": "^4.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.3.10",
|
||||
|
|
@ -10808,16 +10808,6 @@
|
|||
"js-yaml": "bin/js-yaml.js"
|
||||
}
|
||||
},
|
||||
"node_modules/knip/node_modules/zod": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz",
|
||||
"integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
},
|
||||
"node_modules/kysely": {
|
||||
"version": "0.28.9",
|
||||
"resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.9.tgz",
|
||||
|
|
@ -15026,9 +15016,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "3.25.76",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
|
||||
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz",
|
||||
"integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
"slugify": "^1.6.6",
|
||||
"swr": "^2.3.8",
|
||||
"web-push": "^3.6.7",
|
||||
"zod": "^3.25.61"
|
||||
"zod": "^4.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.3.10",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/** biome-ignore-all lint/suspicious/noConsole: Biome v2 migration */
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import badgesJson from "../app/features/badges/homemade.json" with {
|
||||
type: "json",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import type {
|
||||
MainWeaponParams,
|
||||
ParamsJson,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// for testing use the command `npx tsx ./scripts/create-league-divisions.ts 6 'https://gist.githubusercontent.com/sendou-ink/38aa4d5d8426035ce178c09598ae627f/raw/17be9bb53a9f017c2097d0624f365d1c5a029f01/league.csv'`
|
||||
|
||||
import "dotenv/config";
|
||||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
import { db } from "~/db/sql";
|
||||
import { ADMIN_ID } from "~/features/admin/admin-constants";
|
||||
import * as CalendarRepository from "~/features/calendar/CalendarRepository.server";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { z } from "zod/v4";
|
||||
import { z } from "zod";
|
||||
|
||||
const placements = z.object({
|
||||
edges: z.array(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user