🎨 Add linting and prettier to more places

This commit is contained in:
Luke Vella 2024-11-09 14:37:13 +00:00
parent de6963db4f
commit 77c6c36e3d
No known key found for this signature in database
GPG key ID: 469CAD687F0D784C
36 changed files with 65 additions and 78 deletions

View file

@ -1,6 +1,6 @@
import { supportedLngs } from "@rallly/languages"; import { supportedLngs } from "@rallly/languages";
import languageParser from "accept-language-parser"; import languageParser from "accept-language-parser";
import type { NextRequest} from "next/server"; import type { NextRequest } from "next/server";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
export async function getLocaleFromHeader(req: NextRequest) { export async function getLocaleFromHeader(req: NextRequest) {

View file

@ -3,7 +3,7 @@ import type { TimeFormat } from "@rallly/database";
import { extend } from "lodash"; import { extend } from "lodash";
import type { DefaultSession, DefaultUser } from "next-auth"; import type { DefaultSession, DefaultUser } from "next-auth";
import NextAuth from "next-auth"; import NextAuth from "next-auth";
import type { DefaultJWT} from "next-auth/jwt"; import type { DefaultJWT } from "next-auth/jwt";
import { JWT } from "next-auth/jwt"; import { JWT } from "next-auth/jwt";
declare module "next-auth" { declare module "next-auth" {

View file

@ -16,5 +16,4 @@ Sentry.init({
// Uncomment the line below to enable Spotlight (https://spotlightjs.com) // Uncomment the line below to enable Spotlight (https://spotlightjs.com)
// spotlight: process.env.NODE_ENV === 'development', // spotlight: process.env.NODE_ENV === 'development',
}); });

View file

@ -1,8 +1,7 @@
"use client"; "use client";
import { usePostHog } from "@rallly/posthog/client"; import { usePostHog } from "@rallly/posthog/client";
import { Button } from "@rallly/ui/button"; import { Button } from "@rallly/ui/button";
import type { import type { DialogProps } from "@rallly/ui/dialog";
DialogProps} from "@rallly/ui/dialog";
import { import {
Dialog, Dialog,
DialogClose, DialogClose,

View file

@ -1,8 +1,7 @@
"use client"; "use client";
import { usePostHog } from "@rallly/posthog/client"; import { usePostHog } from "@rallly/posthog/client";
import { Button } from "@rallly/ui/button"; import { Button } from "@rallly/ui/button";
import type { import type { DialogProps } from "@rallly/ui/dialog";
DialogProps} from "@rallly/ui/dialog";
import { import {
Dialog, Dialog,
DialogClose, DialogClose,

View file

@ -13,11 +13,8 @@ import Link from "next/link";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import type { import type { PollDetailsData } from "@/components/forms/poll-details-form";
PollDetailsData} from "@/components/forms/poll-details-form"; import { PollDetailsForm } from "@/components/forms/poll-details-form";
import {
PollDetailsForm,
} from "@/components/forms/poll-details-form";
import { useUpdatePollMutation } from "@/components/poll/mutations"; import { useUpdatePollMutation } from "@/components/poll/mutations";
import { usePoll } from "@/components/poll-context"; import { usePoll } from "@/components/poll-context";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";

View file

@ -6,11 +6,8 @@ import Link from "next/link";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import type { import type { PollSettingsFormData } from "@/components/forms/poll-settings";
PollSettingsFormData} from "@/components/forms/poll-settings"; import { PollSettingsForm } from "@/components/forms/poll-settings";
import {
PollSettingsForm
} from "@/components/forms/poll-settings";
import { useUpdatePollMutation } from "@/components/poll/mutations"; import { useUpdatePollMutation } from "@/components/poll/mutations";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { usePoll } from "@/contexts/poll"; import { usePoll } from "@/contexts/poll";

View file

@ -1,4 +1,4 @@
import type { NextRequest} from "next/server"; import type { NextRequest } from "next/server";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import { resetUser } from "@/app/guest"; import { resetUser } from "@/app/guest";

View file

@ -1,5 +1,5 @@
import { GetObjectCommand } from "@aws-sdk/client-s3"; import { GetObjectCommand } from "@aws-sdk/client-s3";
import type { NextRequest} from "next/server"; import type { NextRequest } from "next/server";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import { env } from "@/env"; import { env } from "@/env";

View file

@ -4,7 +4,11 @@ import * as Sentry from "@sentry/nextjs";
import NextError from "next/error"; import NextError from "next/error";
import { useEffect } from "react"; import { useEffect } from "react";
export default function GlobalError({ error }: { error: Error & { digest?: string } }) { export default function GlobalError({
error,
}: {
error: Error & { digest?: string };
}) {
useEffect(() => { useEffect(() => {
Sentry.captureException(error); Sentry.captureException(error);
}, [error]); }, [error]);

View file

@ -9,15 +9,8 @@ import {
DropdownMenuTrigger, DropdownMenuTrigger,
} from "@rallly/ui/dropdown-menu"; } from "@rallly/ui/dropdown-menu";
import { Icon } from "@rallly/ui/icon"; import { Icon } from "@rallly/ui/icon";
import type { import type { CalendarEvent } from "calendar-link";
CalendarEvent} from "calendar-link"; import { google, ics, office365, outlook, yahoo } from "calendar-link";
import {
google,
ics,
office365,
outlook,
yahoo,
} from "calendar-link";
import { DownloadIcon, PlusIcon } from "lucide-react"; import { DownloadIcon, PlusIcon } from "lucide-react";
import Image from "next/image"; import Image from "next/image";

View file

@ -21,7 +21,7 @@ import { useUser } from "@/components/user-provider";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";
import { setCookie } from "@/utils/cookies"; import { setCookie } from "@/utils/cookies";
import type { NewEventData} from "./forms"; import type { NewEventData } from "./forms";
import { PollDetailsForm, PollOptionsForm } from "./forms"; import { PollDetailsForm, PollOptionsForm } from "./forms";
const required = <T,>(v: T | undefined): T => { const required = <T,>(v: T | undefined): T => {

View file

@ -31,7 +31,7 @@ import { Input } from "@rallly/ui/input";
import { PencilIcon, TagIcon, TrashIcon } from "lucide-react"; import { PencilIcon, TagIcon, TrashIcon } from "lucide-react";
import { useTranslation } from "next-i18next"; import { useTranslation } from "next-i18next";
import React from "react"; import React from "react";
import type { SubmitHandler} from "react-hook-form"; import type { SubmitHandler } from "react-hook-form";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { useMount } from "react-use"; import { useMount } from "react-use";
import { z } from "zod"; import { z } from "zod";

View file

@ -2,13 +2,8 @@
import { pricingData } from "@rallly/billing/pricing"; import { pricingData } from "@rallly/billing/pricing";
import { Badge } from "@rallly/ui/badge"; import { Badge } from "@rallly/ui/badge";
import type { import type { DialogProps } from "@rallly/ui/dialog";
DialogProps} from "@rallly/ui/dialog"; import { Dialog, DialogContent, useDialog } from "@rallly/ui/dialog";
import {
Dialog,
DialogContent,
useDialog,
} from "@rallly/ui/dialog";
import { RadioGroup, RadioGroupItem } from "@rallly/ui/radio-group"; import { RadioGroup, RadioGroupItem } from "@rallly/ui/radio-group";
import { m } from "framer-motion"; import { m } from "framer-motion";
import { CheckIcon } from "lucide-react"; import { CheckIcon } from "lucide-react";

View file

@ -8,10 +8,9 @@ import React from "react";
import type { GetPollApiResponse, Vote } from "@/trpc/client/types"; import type { GetPollApiResponse, Vote } from "@/trpc/client/types";
import type { import type {
ParsedDateOption, ParsedDateOption,
ParsedTimeSlotOption} from "@/utils/date-time-utils"; ParsedTimeSlotOption,
import {
getDuration
} from "@/utils/date-time-utils"; } from "@/utils/date-time-utils";
import { getDuration } from "@/utils/date-time-utils";
import { useDayjs } from "@/utils/dayjs"; import { useDayjs } from "@/utils/dayjs";
import ErrorPage from "./error-page"; import ErrorPage from "./error-page";

View file

@ -1,7 +1,6 @@
import { cn } from "@rallly/ui"; import { cn } from "@rallly/ui";
import { Button } from "@rallly/ui/button"; import { Button } from "@rallly/ui/button";
import type { import type { DialogProps } from "@rallly/ui/dialog";
DialogProps} from "@rallly/ui/dialog";
import { import {
Dialog, Dialog,
DialogClose, DialogClose,

View file

@ -1,4 +1,4 @@
import type { Page} from "@playwright/test"; import type { Page } from "@playwright/test";
import { expect, test } from "@playwright/test"; import { expect, test } from "@playwright/test";
import type { MailServer } from "smtp-tester"; import type { MailServer } from "smtp-tester";
import smtpTester from "smtp-tester"; import smtpTester from "smtp-tester";

View file

@ -1,4 +1,4 @@
import type { Page} from "@playwright/test"; import type { Page } from "@playwright/test";
import { expect, test } from "@playwright/test"; import { expect, test } from "@playwright/test";
import type { MailServer } from "smtp-tester"; import type { MailServer } from "smtp-tester";
import smtpTester from "smtp-tester"; import smtpTester from "smtp-tester";

View file

@ -1,4 +1,2 @@
/** @type {import("eslint").Linter.Config} */ /** @type {import("eslint").Linter.Config} */
module.exports = { module.exports = require("@rallly/eslint-config/preset")(__dirname);
...require("@rallly/eslint-config")(__dirname),
};

View file

@ -10,7 +10,9 @@
}, },
"scripts": { "scripts": {
"normalize-subscription-metadata": "dotenv -e ../../.env -- tsx ./src/scripts/normalize-metadata.ts", "normalize-subscription-metadata": "dotenv -e ../../.env -- tsx ./src/scripts/normalize-metadata.ts",
"type-check": "tsc --pretty --noEmit" "type-check": "tsc --pretty --noEmit",
"prettier": "prettier --write .",
"lint": "eslint ./src"
}, },
"dependencies": { "dependencies": {
"@radix-ui/react-radio-group": "^1.2.0", "@radix-ui/react-radio-group": "^1.2.0",

View file

@ -8,7 +8,8 @@
"db:deploy": "prisma migrate deploy", "db:deploy": "prisma migrate deploy",
"db:migrate": "prisma migrate dev", "db:migrate": "prisma migrate dev",
"db:seed": "tsx prisma/seed.ts", "db:seed": "tsx prisma/seed.ts",
"type-check": "tsc --pretty --noEmit" "type-check": "tsc --pretty --noEmit",
"prettier": "prettier --write ."
}, },
"exports": "./index.ts", "exports": "./index.ts",
"devDependencies": { "devDependencies": {

View file

@ -1,4 +1,2 @@
/** @type {import("eslint").Linter.Config} */ /** @type {import("eslint").Linter.Config} */
module.exports = { module.exports = require("@rallly/eslint-config/preset")(__dirname);
...require("@rallly/eslint-config/preset")(__dirname),
};

View file

@ -6,6 +6,7 @@
"dev": "email dev --port 3333 --dir ./src/previews", "dev": "email dev --port 3333 --dir ./src/previews",
"lint": "eslint ./src", "lint": "eslint ./src",
"type-check": "tsc --pretty --noEmit", "type-check": "tsc --pretty --noEmit",
"prettier": "prettier --write .",
"i18n:scan": "i18next-scanner --config i18next-scanner.config.js" "i18n:scan": "i18next-scanner --config i18next-scanner.config.js"
}, },
"exports": { "exports": {

View file

@ -1,13 +1,14 @@
import type { import type {
LinkProps, LinkProps,
SectionProps, SectionProps,
TextProps} from "@react-email/components"; TextProps,
} from "@react-email/components";
import { import {
Button as UnstyledButton, Button as UnstyledButton,
Heading as UnstyledHeading, Heading as UnstyledHeading,
Link as UnstyledLink, Link as UnstyledLink,
Section as UnstyledSection, Section as UnstyledSection,
Text as UnstyledText Text as UnstyledText,
} from "@react-email/components"; } from "@react-email/components";
import type { EmailContext } from "../types"; import type { EmailContext } from "../types";

View file

@ -1,8 +1,6 @@
import { Trans } from "react-i18next/TransWithoutContext"; import { Trans } from "react-i18next/TransWithoutContext";
import type { import type { NotificationBaseProps } from "../components/notification-email";
NotificationBaseProps,
} from "../components/notification-email";
import NotificationEmail from "../components/notification-email"; import NotificationEmail from "../components/notification-email";
import { Heading, Text } from "../components/styled-components"; import { Heading, Text } from "../components/styled-components";
import type { EmailContext } from "../types"; import type { EmailContext } from "../types";

View file

@ -7,6 +7,11 @@
"./client": "./src/client/index.ts", "./client": "./src/client/index.ts",
"./next/middleware": "./src/next/middleware.ts" "./next/middleware": "./src/next/middleware.ts"
}, },
"scripts": {
"lint": "eslint ./src",
"type-check": "tsc --noEmit",
"prettier": "prettier --write ."
},
"dependencies": { "dependencies": {
"posthog-js": "^1.178.0", "posthog-js": "^1.178.0",
"posthog-node": "^4.2.1" "posthog-node": "^4.2.1"

View file

@ -1,4 +1,5 @@
import { NextResponse } from "next/server"; import type { NextResponse } from "next/server";
import { POSTHOG_BOOTSTAP_DATA_COOKIE_NAME } from "../constants"; import { POSTHOG_BOOTSTAP_DATA_COOKIE_NAME } from "../constants";
const posthogApiKey = process.env.NEXT_PUBLIC_POSTHOG_API_KEY; const posthogApiKey = process.env.NEXT_PUBLIC_POSTHOG_API_KEY;

View file

@ -7,7 +7,8 @@
"scripts": { "scripts": {
"ui:add": "npx shadcn-ui@latest add", "ui:add": "npx shadcn-ui@latest add",
"lint": "eslint .", "lint": "eslint .",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit",
"prettier": "prettier --write ."
}, },
"exports": { "exports": {
".": "./src/lib/utils.ts", ".": "./src/lib/utils.ts",

View file

@ -81,4 +81,4 @@ const AvatarFallback = React.forwardRef<
}); });
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName; AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
export { Avatar, AvatarFallback,AvatarImage }; export { Avatar, AvatarFallback, AvatarImage };

View file

@ -1,9 +1,12 @@
import { Slot } from "@radix-ui/react-slot"; import { Slot } from "@radix-ui/react-slot";
import type {VariantProps } from "class-variance-authority"; import type { VariantProps } from "class-variance-authority";
import { cva } from "class-variance-authority"; import { cva } from "class-variance-authority";
import * as React from "react"; import * as React from "react";
import type { ComponentPropsWithout, RemovedProps } from "./helpers/component-props"; import type {
ComponentPropsWithout,
RemovedProps,
} from "./helpers/component-props";
import { cn } from "./lib/utils"; import { cn } from "./lib/utils";
type FlexElement = React.ElementRef<"div">; type FlexElement = React.ElementRef<"div">;

View file

@ -1,15 +1,8 @@
import type * as LabelPrimitive from "@radix-ui/react-label"; import type * as LabelPrimitive from "@radix-ui/react-label";
import { Slot } from "@radix-ui/react-slot"; import { Slot } from "@radix-ui/react-slot";
import * as React from "react"; import * as React from "react";
import type { import type { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
ControllerProps, import { Controller, FormProvider, useFormContext } from "react-hook-form";
FieldPath,
FieldValues} from "react-hook-form";
import {
Controller,
FormProvider,
useFormContext,
} from "react-hook-form";
import { Label } from "./label"; import { Label } from "./label";
import { cn } from "./lib/utils"; import { cn } from "./lib/utils";

View file

@ -186,4 +186,4 @@ function useToast() {
}; };
} }
export { toast,useToast }; export { toast, useToast };

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { Slot } from "@radix-ui/react-slot"; import { Slot } from "@radix-ui/react-slot";
import type {VariantProps } from "class-variance-authority"; import type { VariantProps } from "class-variance-authority";
import { cva } from "class-variance-authority"; import { cva } from "class-variance-authority";
import { cn } from "./lib/utils"; import { cn } from "./lib/utils";

View file

@ -1,5 +1,5 @@
import * as ToastPrimitives from "@radix-ui/react-toast"; import * as ToastPrimitives from "@radix-ui/react-toast";
import { type VariantProps,cva } from "class-variance-authority"; import { type VariantProps, cva } from "class-variance-authority";
import { X } from "lucide-react"; import { X } from "lucide-react";
import * as React from "react"; import * as React from "react";

View file

@ -0,0 +1,2 @@
/** @type {import("eslint").Linter.Config} */
module.exports = require("@rallly/eslint-config/preset")(__dirname);

View file

@ -1,10 +1,12 @@
{ {
"name": "@rallly/utils", "name": "@rallly/utils",
"type": "module",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"scripts": { "scripts": {
"test:unit": "vitest run" "test:unit": "vitest run",
"prettier": "prettier --write .",
"lint": "eslint ./src",
"type-check": "tsc --noEmit"
}, },
"exports": { "exports": {
"./*": "./src/*.ts" "./*": "./src/*.ts"