Skip to content

Commit

Permalink
remove relative imports in favor of the node imports config in packag…
Browse files Browse the repository at this point in the history
…e.json
  • Loading branch information
kentcdodds committed Aug 16, 2023
1 parent 1d00e19 commit 4989782
Show file tree
Hide file tree
Showing 84 changed files with 392 additions and 330 deletions.
1 change: 1 addition & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ module.exports = {
'sibling',
'index',
],
pathGroups: [{ pattern: '#*/**', group: 'internal' }],
},
],
},
Expand Down
2 changes: 1 addition & 1 deletion app/components/error-boundary.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
useRouteError,
} from '@remix-run/react'
import { type ErrorResponse } from '@remix-run/router'
import { getErrorMessage } from '../utils/misc.tsx'
import { getErrorMessage } from '#app/utils/misc.tsx'

type StatusHandler = (info: {
error: ErrorResponse
Expand Down
2 changes: 1 addition & 1 deletion app/components/search-bar.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Form, useSearchParams, useSubmit } from '@remix-run/react'
import { useDebounce, useIsPending } from '../utils/misc.tsx'
import { useDebounce, useIsPending } from '#app/utils/misc.tsx'
import { Icon } from './ui/icon.tsx'
import { Input } from './ui/input.tsx'
import { Label } from './ui/label.tsx'
Expand Down
2 changes: 1 addition & 1 deletion app/components/toaster.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useEffect } from 'react'
import { Toaster, toast as showToast } from 'sonner'
import { type Toast } from '../utils/toast.server.ts'
import { type Toast } from '#app/utils/toast.server.ts'

export function EpicToaster({ toast }: { toast?: Toast | null }) {
return (
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Slot } from '@radix-ui/react-slot'
import { cva, type VariantProps } from 'class-variance-authority'
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

const buttonVariants = cva(
'inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/checkbox.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as CheckboxPrimitive from '@radix-ui/react-checkbox'
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

export type CheckboxProps = Omit<
React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>,
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/dropdown-menu.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

const DropdownMenu = DropdownMenuPrimitive.Root

Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/icon.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { type SVGProps } from 'react'
import { cn } from '#app/utils/misc.tsx'
import { type IconName } from '@/icon-name'
import { cn } from '../../utils/misc.tsx'
import href from './icons/sprite.svg'

export { href }
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/input.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

export interface InputProps
extends React.InputHTMLAttributes<HTMLInputElement> {}
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/label.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as LabelPrimitive from '@radix-ui/react-label'
import { cva, type VariantProps } from 'class-variance-authority'
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

const labelVariants = cva(
'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/status-button.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as React from 'react'
import { useSpinDelay } from 'spin-delay'
import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'
import { Button, type ButtonProps } from './button.tsx'
import { Icon } from './icon.tsx'
import {
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/textarea.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

export interface TextareaProps
extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
Expand Down
2 changes: 1 addition & 1 deletion app/components/ui/tooltip.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as TooltipPrimitive from '@radix-ui/react-tooltip'
import * as React from 'react'

import { cn } from '../../utils/misc.tsx'
import { cn } from '#app/utils/misc.tsx'

const TooltipProvider = TooltipPrimitive.Provider

Expand Down
4 changes: 2 additions & 2 deletions app/routes/$.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
// message for them than the Remix and/or browser default.

import { Link, useLocation } from '@remix-run/react'
import { GeneralErrorBoundary } from '../components/error-boundary.tsx'
import { Icon } from '../components/ui/icon.tsx'
import { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'
import { Icon } from '#app/components/ui/icon.tsx'

export async function loader() {
throw new Response('Not found', { status: 404 })
Expand Down
28 changes: 11 additions & 17 deletions app/routes/_auth+/auth.$provider.callback.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,17 @@ import { generateTOTP } from '@epic-web/totp'
import { faker } from '@faker-js/faker'
import { http } from 'msw'
import { expect, test } from 'vitest'
import { createUser } from '../../../tests/db-utils.ts'
import {
mockGithubProfile,
primaryGitHubEmail,
} from '../../../tests/mocks/github.ts'
import { server } from '../../../tests/mocks/index.ts'
import { consoleError } from '../../../tests/setup/setup-test-env.ts'
import { BASE_URL, convertSetCookieToCookie } from '../../../tests/utils.ts'
import {
getSessionExpirationDate,
sessionKey,
} from '../../utils/auth.server.ts'
import { prisma } from '../../utils/db.server.ts'
import { GITHUB_PROVIDER_NAME } from '../../utils/github-auth.server.ts'
import { invariant } from '../../utils/misc.tsx'
import { sessionStorage } from '../../utils/session.server.ts'
import { twoFAVerificationType } from '../settings+/profile.two-factor.tsx'
import { twoFAVerificationType } from '#app/routes/settings+/profile.two-factor.tsx'
import { getSessionExpirationDate, sessionKey } from '#app/utils/auth.server.ts'
import { prisma } from '#app/utils/db.server.ts'
import { GITHUB_PROVIDER_NAME } from '#app/utils/github-auth.server.ts'
import { invariant } from '#app/utils/misc.tsx'
import { sessionStorage } from '#app/utils/session.server.ts'
import { createUser } from '#tests/db-utils.ts'
import { mockGithubProfile, primaryGitHubEmail } from '#tests/mocks/github.ts'
import { server } from '#tests/mocks/index.ts'
import { consoleError } from '#tests/setup/setup-test-env.ts'
import { BASE_URL, convertSetCookieToCookie } from '#tests/utils.ts'
import { loader } from './auth.$provider.callback.ts'

const ROUTE_PATH = '/auth/github/callback'
Expand Down
16 changes: 8 additions & 8 deletions app/routes/_auth+/auth.$provider.callback.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@ import {
authenticator,
getSessionExpirationDate,
getUserId,
} from '../../utils/auth.server.ts'
import { handleMockCallback } from '../../utils/connections.server.ts'
import { ProviderNameSchema, providerLabels } from '../../utils/connections.tsx'
import { prisma } from '../../utils/db.server.ts'
import { combineHeaders } from '../../utils/misc.tsx'
} from '#app/utils/auth.server.ts'
import { handleMockCallback } from '#app/utils/connections.server.ts'
import { ProviderNameSchema, providerLabels } from '#app/utils/connections.tsx'
import { prisma } from '#app/utils/db.server.ts'
import { combineHeaders } from '#app/utils/misc.tsx'
import {
destroyRedirectToHeader,
getRedirectCookieValue,
} from '../../utils/redirect-cookie.server.ts'
} from '#app/utils/redirect-cookie.server.ts'
import {
createToastHeaders,
redirectWithToast,
} from '../../utils/toast.server.ts'
import { verifySessionStorage } from '../../utils/verification.server.ts'
} from '#app/utils/toast.server.ts'
import { verifySessionStorage } from '#app/utils/verification.server.ts'
import { handleNewSession } from './login.tsx'
import {
onboardingEmailSessionKey,
Expand Down
10 changes: 5 additions & 5 deletions app/routes/_auth+/auth.$provider.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { redirect, type DataFunctionArgs } from '@remix-run/node'
import { authenticator } from '../../utils/auth.server.ts'
import { handleMockAction } from '../../utils/connections.server.ts'
import { ProviderNameSchema } from '../../utils/connections.tsx'
import { getReferrerRoute } from '../../utils/misc.tsx'
import { getRedirectCookieHeader } from '../../utils/redirect-cookie.server.ts'
import { authenticator } from '#app/utils/auth.server.ts'
import { handleMockAction } from '#app/utils/connections.server.ts'
import { ProviderNameSchema } from '#app/utils/connections.tsx'
import { getReferrerRoute } from '#app/utils/misc.tsx'
import { getRedirectCookieHeader } from '#app/utils/redirect-cookie.server.ts'

export async function loader() {
return redirect('/login')
Expand Down
12 changes: 6 additions & 6 deletions app/routes/_auth+/forgot-password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ import {
} from '@remix-run/node'
import { Link, useFetcher } from '@remix-run/react'
import { z } from 'zod'
import { GeneralErrorBoundary } from '../../components/error-boundary.tsx'
import { ErrorList, Field } from '../../components/forms.tsx'
import { StatusButton } from '../../components/ui/status-button.tsx'
import { prisma } from '../../utils/db.server.ts'
import { sendEmail } from '../../utils/email.server.ts'
import { EmailSchema, UsernameSchema } from '../../utils/user-validation.ts'
import { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'
import { ErrorList, Field } from '#app/components/forms.tsx'
import { StatusButton } from '#app/components/ui/status-button.tsx'
import { prisma } from '#app/utils/db.server.ts'
import { sendEmail } from '#app/utils/email.server.ts'
import { EmailSchema, UsernameSchema } from '#app/utils/user-validation.ts'
import { prepareVerification } from './verify.tsx'

const ForgotPasswordSchema = z.object({
Expand Down
26 changes: 13 additions & 13 deletions app/routes/_auth+/login.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,31 @@ import {
import { Form, Link, useActionData, useSearchParams } from '@remix-run/react'
import { safeRedirect } from 'remix-utils'
import { z } from 'zod'
import { GeneralErrorBoundary } from '../../components/error-boundary.tsx'
import { CheckboxField, ErrorList, Field } from '../../components/forms.tsx'
import { Spacer } from '../../components/spacer.tsx'
import { StatusButton } from '../../components/ui/status-button.tsx'
import { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'
import { CheckboxField, ErrorList, Field } from '#app/components/forms.tsx'
import { Spacer } from '#app/components/spacer.tsx'
import { StatusButton } from '#app/components/ui/status-button.tsx'
import { twoFAVerificationType } from '#app/routes/settings+/profile.two-factor.tsx'
import {
getUserId,
login,
requireAnonymous,
sessionKey,
} from '../../utils/auth.server.ts'
} from '#app/utils/auth.server.ts'
import {
ProviderConnectionForm,
providerNames,
} from '../../utils/connections.tsx'
import { prisma } from '../../utils/db.server.ts'
} from '#app/utils/connections.tsx'
import { prisma } from '#app/utils/db.server.ts'
import {
combineResponseInits,
invariant,
useIsPending,
} from '../../utils/misc.tsx'
import { sessionStorage } from '../../utils/session.server.ts'
import { redirectWithToast } from '../../utils/toast.server.ts'
import { PasswordSchema, UsernameSchema } from '../../utils/user-validation.ts'
import { verifySessionStorage } from '../../utils/verification.server.ts'
import { twoFAVerificationType } from '../settings+/profile.two-factor.tsx'
} from '#app/utils/misc.tsx'
import { sessionStorage } from '#app/utils/session.server.ts'
import { redirectWithToast } from '#app/utils/toast.server.ts'
import { PasswordSchema, UsernameSchema } from '#app/utils/user-validation.ts'
import { verifySessionStorage } from '#app/utils/verification.server.ts'
import { getRedirectToUrl, type VerifyFunctionArgs } from './verify.tsx'

const verifiedTimeKey = 'verified-time'
Expand Down
2 changes: 1 addition & 1 deletion app/routes/_auth+/logout.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { redirect, type DataFunctionArgs } from '@remix-run/node'
import { logout } from '../../utils/auth.server.ts'
import { logout } from '#app/utils/auth.server.ts'

export async function loader() {
return redirect('/')
Expand Down
24 changes: 10 additions & 14 deletions app/routes/_auth+/onboarding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,20 @@ import {
} from '@remix-run/react'
import { safeRedirect } from 'remix-utils'
import { z } from 'zod'
import { CheckboxField, ErrorList, Field } from '../../components/forms.tsx'
import { Spacer } from '../../components/spacer.tsx'
import { StatusButton } from '../../components/ui/status-button.tsx'
import {
requireAnonymous,
sessionKey,
signup,
} from '../../utils/auth.server.ts'
import { redirectWithConfetti } from '../../utils/confetti.server.ts'
import { prisma } from '../../utils/db.server.ts'
import { invariant, useIsPending } from '../../utils/misc.tsx'
import { sessionStorage } from '../../utils/session.server.ts'
import { CheckboxField, ErrorList, Field } from '#app/components/forms.tsx'
import { Spacer } from '#app/components/spacer.tsx'
import { StatusButton } from '#app/components/ui/status-button.tsx'
import { requireAnonymous, sessionKey, signup } from '#app/utils/auth.server.ts'
import { redirectWithConfetti } from '#app/utils/confetti.server.ts'
import { prisma } from '#app/utils/db.server.ts'
import { invariant, useIsPending } from '#app/utils/misc.tsx'
import { sessionStorage } from '#app/utils/session.server.ts'
import {
NameSchema,
PasswordSchema,
UsernameSchema,
} from '../../utils/user-validation.ts'
import { verifySessionStorage } from '../../utils/verification.server.ts'
} from '#app/utils/user-validation.ts'
import { verifySessionStorage } from '#app/utils/verification.server.ts'
import { type VerifyFunctionArgs } from './verify.tsx'

const onboardingEmailSessionKey = 'onboardingEmail'
Expand Down
22 changes: 11 additions & 11 deletions app/routes/_auth+/onboarding_.$provider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,22 @@ import {
} from '@remix-run/react'
import { safeRedirect } from 'remix-utils'
import { z } from 'zod'
import { CheckboxField, ErrorList, Field } from '../../components/forms.tsx'
import { Spacer } from '../../components/spacer.tsx'
import { StatusButton } from '../../components/ui/status-button.tsx'
import { CheckboxField, ErrorList, Field } from '#app/components/forms.tsx'
import { Spacer } from '#app/components/spacer.tsx'
import { StatusButton } from '#app/components/ui/status-button.tsx'
import {
authenticator,
requireAnonymous,
sessionKey,
signupWithConnection,
} from '../../utils/auth.server.ts'
import { redirectWithConfetti } from '../../utils/confetti.server.ts'
import { ProviderNameSchema } from '../../utils/connections.tsx'
import { prisma } from '../../utils/db.server.ts'
import { invariant, useIsPending } from '../../utils/misc.tsx'
import { sessionStorage } from '../../utils/session.server.ts'
import { NameSchema, UsernameSchema } from '../../utils/user-validation.ts'
import { verifySessionStorage } from '../../utils/verification.server.ts'
} from '#app/utils/auth.server.ts'
import { redirectWithConfetti } from '#app/utils/confetti.server.ts'
import { ProviderNameSchema } from '#app/utils/connections.tsx'
import { prisma } from '#app/utils/db.server.ts'
import { invariant, useIsPending } from '#app/utils/misc.tsx'
import { sessionStorage } from '#app/utils/session.server.ts'
import { NameSchema, UsernameSchema } from '#app/utils/user-validation.ts'
import { verifySessionStorage } from '#app/utils/verification.server.ts'
import { type VerifyFunctionArgs } from './verify.tsx'

export const onboardingEmailSessionKey = 'onboardingEmail'
Expand Down
16 changes: 8 additions & 8 deletions app/routes/_auth+/reset-password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ import {
} from '@remix-run/node'
import { Form, useActionData, useLoaderData } from '@remix-run/react'
import { z } from 'zod'
import { GeneralErrorBoundary } from '../../components/error-boundary.tsx'
import { ErrorList, Field } from '../../components/forms.tsx'
import { StatusButton } from '../../components/ui/status-button.tsx'
import { requireAnonymous, resetUserPassword } from '../../utils/auth.server.ts'
import { prisma } from '../../utils/db.server.ts'
import { invariant, useIsPending } from '../../utils/misc.tsx'
import { PasswordSchema } from '../../utils/user-validation.ts'
import { verifySessionStorage } from '../../utils/verification.server.ts'
import { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'
import { ErrorList, Field } from '#app/components/forms.tsx'
import { StatusButton } from '#app/components/ui/status-button.tsx'
import { requireAnonymous, resetUserPassword } from '#app/utils/auth.server.ts'
import { prisma } from '#app/utils/db.server.ts'
import { invariant, useIsPending } from '#app/utils/misc.tsx'
import { PasswordSchema } from '#app/utils/user-validation.ts'
import { verifySessionStorage } from '#app/utils/verification.server.ts'
import { type VerifyFunctionArgs } from './verify.tsx'

const resetPasswordUsernameSessionKey = 'resetPasswordUsername'
Expand Down
16 changes: 8 additions & 8 deletions app/routes/_auth+/signup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ import {
} from '@remix-run/node'
import { Form, useActionData, useSearchParams } from '@remix-run/react'
import { z } from 'zod'
import { GeneralErrorBoundary } from '../../components/error-boundary.tsx'
import { ErrorList, Field } from '../../components/forms.tsx'
import { StatusButton } from '../../components/ui/status-button.tsx'
import { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'
import { ErrorList, Field } from '#app/components/forms.tsx'
import { StatusButton } from '#app/components/ui/status-button.tsx'
import {
ProviderConnectionForm,
providerNames,
} from '../../utils/connections.tsx'
import { prisma } from '../../utils/db.server.ts'
import { sendEmail } from '../../utils/email.server.ts'
import { useIsPending } from '../../utils/misc.tsx'
import { EmailSchema } from '../../utils/user-validation.ts'
} from '#app/utils/connections.tsx'
import { prisma } from '#app/utils/db.server.ts'
import { sendEmail } from '#app/utils/email.server.ts'
import { useIsPending } from '#app/utils/misc.tsx'
import { EmailSchema } from '#app/utils/user-validation.ts'
import { prepareVerification } from './verify.tsx'

const SignupSchema = z.object({
Expand Down
Loading

0 comments on commit 4989782

Please sign in to comment.