SYMBOL INDEX (84 symbols across 33 files) FILE: examples/complex/app/entry.server.tsx constant ABORT_DELAY (line 8) | const ABORT_DELAY = 5000; function handleRequest (line 10) | function handleRequest( FILE: examples/complex/app/models/note.server.ts function getNote (line 7) | function getNote({ function getNoteListItems (line 19) | function getNoteListItems({ userId }: { userId: User["id"] }) { function createNote (line 27) | function createNote({ function deleteNote (line 47) | function deleteNote({ FILE: examples/complex/app/models/user.server.ts function getUserById (line 8) | async function getUserById(id: User["id"]) { function getUserByEmail (line 12) | async function getUserByEmail(email: User["email"]) { function createUser (line 16) | async function createUser(email: User["email"], password: string) { function deleteUserByEmail (line 31) | async function deleteUserByEmail(email: User["email"]) { function verifyLogin (line 35) | async function verifyLogin( FILE: examples/complex/app/root.tsx function loader (line 18) | async function loader({ request }: LoaderArgs) { function App (line 24) | function App() { FILE: examples/complex/app/routes/healthcheck.tsx function loader (line 6) | async function loader({ request }: LoaderArgs) { FILE: examples/complex/app/routes/index.tsx function Index (line 5) | function Index() { FILE: examples/complex/app/routes/join.tsx function loader (line 11) | async function loader({ request }: LoaderArgs) { function action (line 17) | async function action({ request }: ActionArgs) { function Join (line 73) | function Join() { FILE: examples/complex/app/routes/login.tsx function loader (line 10) | async function loader({ request }: LoaderArgs) { function action (line 16) | async function action({ request }: ActionArgs) { function LoginPage (line 67) | function LoginPage() { FILE: examples/complex/app/routes/logout.tsx function action (line 6) | async function action({ request }: ActionArgs) { function loader (line 10) | async function loader() { FILE: examples/complex/app/routes/notes.tsx function loader (line 9) | async function loader({ request }: LoaderArgs) { function NotesPage (line 15) | function NotesPage() { FILE: examples/complex/app/routes/notes/$noteId.tsx function loader (line 9) | async function loader({ request, params }: LoaderArgs) { function action (line 20) | async function action({ request, params }: ActionArgs) { function NoteDetailsPage (line 29) | function NoteDetailsPage() { function ErrorBoundary (line 49) | function ErrorBoundary({ error }: { error: Error }) { function CatchBoundary (line 55) | function CatchBoundary() { FILE: examples/complex/app/routes/notes/index.tsx function NoteIndexPage (line 3) | function NoteIndexPage() { FILE: examples/complex/app/routes/notes/new.tsx function action (line 9) | async function action({ request }: ActionArgs) { function NewNotePage (line 35) | function NewNotePage() { FILE: examples/complex/app/session.server.ts constant USER_SESSION_KEY (line 20) | const USER_SESSION_KEY = "userId"; function getSession (line 22) | async function getSession(request: Request) { function getUserId (line 27) | async function getUserId( function getUser (line 35) | async function getUser(request: Request) { function requireUserId (line 45) | async function requireUserId( function requireUser (line 57) | async function requireUser(request: Request) { function createUserSession (line 66) | async function createUserSession({ function logout (line 90) | async function logout(request: Request) { FILE: examples/complex/app/utils.ts constant DEFAULT_REDIRECT (line 6) | const DEFAULT_REDIRECT = "/"; function safeRedirect (line 15) | function safeRedirect( function useMatchesData (line 36) | function useMatchesData( function isUser (line 47) | function isUser(user: any): user is User { function useOptionalUser (line 51) | function useOptionalUser(): User | undefined { function useUser (line 59) | function useUser(): User { function validateEmail (line 69) | function validateEmail(email: unknown): email is string { FILE: examples/complex/cypress/support/commands.ts type Chainable (line 5) | interface Chainable { function login (line 45) | function login({ function cleanupUser (line 62) | function cleanupUser({ email }: { email?: string } = {}) { function deleteUserByEmail (line 76) | function deleteUserByEmail(email: string) { function visitAndCheck (line 88) | function visitAndCheck(url: string, waitTime: number = 1000) { FILE: examples/complex/cypress/support/create-user.ts function createAndLogin (line 15) | async function createAndLogin(email: string) { FILE: examples/complex/cypress/support/delete-user.ts function deleteUser (line 13) | async function deleteUser(email: string) { FILE: examples/complex/prisma/migrations/20220713162558_init/migration.sql type "User" (line 2) | CREATE TABLE "User" ( type "Password" (line 10) | CREATE TABLE "Password" ( type "Note" (line 17) | CREATE TABLE "Note" ( type "User" (line 28) | CREATE UNIQUE INDEX "User_email_key" ON "User"("email") type "Password" (line 31) | CREATE UNIQUE INDEX "Password_userId_key" ON "Password"("userId") FILE: examples/complex/prisma/seed.ts function seed (line 6) | async function seed() { FILE: examples/complex/remix.init/index.js constant YAML (line 9) | const YAML = require("yaml"); FILE: examples/simple/app/entry.client.tsx function hydrate (line 5) | function hydrate() { FILE: examples/simple/app/entry.server.tsx constant ABORT_DELAY (line 8) | const ABORT_DELAY = 5000; function handleRequest (line 10) | function handleRequest( function handleBotRequest (line 31) | function handleBotRequest( function handleBrowserRequest (line 72) | function handleBrowserRequest( FILE: examples/simple/app/root.tsx function App (line 17) | function App() { FILE: examples/simple/app/routes/index.tsx function Index (line 9) | function Index() { FILE: src/constants.ts constant SERVER_ENTRY_ID (line 1) | const SERVER_ENTRY_ID = 'server-entry'; constant SERVER_ASSETS_MANIFEST_ID (line 2) | const SERVER_ASSETS_MANIFEST_ID = 'server-assets-manifest'; constant BROWSER_ASSETS_MANIFEST_ID (line 3) | const BROWSER_ASSETS_MANIFEST_ID = 'browser-assets-manifest'; FILE: src/entries/cli.ts function createServer (line 23) | async function createServer() { function purgeRequireCache (line 64) | function purgeRequireCache() { FILE: src/plugins/hmr-fix.ts method transform (line 9) | async transform(code, id) { FILE: src/plugins/inject.ts method transform (line 9) | async transform(code, id) { FILE: src/plugins/remix.ts method resolveId (line 49) | resolveId(id) { method load (line 56) | load(id) { FILE: src/plugins/transform.ts constant BACKEND_ONLY_EXPORTS (line 8) | const BACKEND_ONLY_EXPORTS = ['loader', 'action']; method resolveId (line 16) | async resolveId(id) { method transform (line 23) | async transform(code, id, options) { FILE: src/utils/code.ts function removeExports (line 30) | function removeExports( method IfStatement (line 109) | IfStatement(path) { FILE: src/utils/general.ts type Route (line 7) | type Route = RemixConfig['routes'][string];