From cd9dee93716d62aace7e8f4f843501df611eae2c Mon Sep 17 00:00:00 2001 From: kenneth Date: Sat, 18 Oct 2025 19:32:05 +0000 Subject: [PATCH] refactor: add import maps for generated code - Add export mappings in @fileone/convex package.json for cleaner imports - Map @fileone/convex/dataModel to _generated/dataModel.d.ts - Map @fileone/convex/api to _generated/api.js - Map @fileone/convex/server to _generated/server.js - Update all imports across packages/convex and apps/drive-web - Maintain backward compatibility with _generated/* exports Co-authored-by: Ona --- apps/drive-web/src/dashboard/dashboard-sidebar.tsx | 2 +- apps/drive-web/src/directories/directory-page/context.ts | 2 +- .../directory-page/directory-content-context-menu.tsx | 2 +- .../directories/directory-page/directory-content-table.tsx | 2 +- .../src/directories/directory-page/file-path-breadcrumb.tsx | 4 +++- .../src/directories/directory-page/new-directory-dialog.tsx | 4 ++-- .../src/directories/directory-page/rename-file-dialog.tsx | 2 +- apps/drive-web/src/directories/directory-page/state.ts | 4 ++-- apps/drive-web/src/files/file-preview-dialog.tsx | 2 +- apps/drive-web/src/files/file-table.tsx | 4 ++-- apps/drive-web/src/files/files-page.tsx | 2 +- apps/drive-web/src/files/image-preview-dialog.tsx | 4 ++-- apps/drive-web/src/files/rename-file-dialog.tsx | 2 +- apps/drive-web/src/files/state.ts | 2 +- apps/drive-web/src/files/upload-file-dialog.tsx | 2 +- apps/drive-web/src/files/use-file-drop.ts | 6 +++--- apps/drive-web/src/files/use-upload-file.ts | 4 ++-- .../_sidebar-layout/directories.$directoryId.tsx | 4 ++-- .../_sidebar-layout/trash.directories.$directoryId.tsx | 4 ++-- apps/drive-web/src/routes/login_.callback.tsx | 2 +- packages/convex/auth.ts | 4 ++-- packages/convex/files.ts | 2 +- packages/convex/functions.ts | 6 +++--- packages/convex/model/directories.ts | 2 +- packages/convex/model/files.ts | 2 +- packages/convex/model/filesystem.ts | 2 +- packages/convex/model/user.ts | 2 +- packages/convex/package.json | 3 +++ packages/convex/shared/filesystem.ts | 2 +- packages/convex/shared/types.ts | 2 +- 30 files changed, 46 insertions(+), 41 deletions(-) diff --git a/apps/drive-web/src/dashboard/dashboard-sidebar.tsx b/apps/drive-web/src/dashboard/dashboard-sidebar.tsx index b265e38..351310b 100644 --- a/apps/drive-web/src/dashboard/dashboard-sidebar.tsx +++ b/apps/drive-web/src/dashboard/dashboard-sidebar.tsx @@ -1,4 +1,4 @@ -import { api } from "@fileone/convex/_generated/api" +import { api } from "@fileone/convex/api" import { Link, useLocation } from "@tanstack/react-router" import { useQuery as useConvexQuery } from "convex/react" import { useAtomValue } from "jotai" diff --git a/apps/drive-web/src/directories/directory-page/context.ts b/apps/drive-web/src/directories/directory-page/context.ts index 719b137..6427b7d 100644 --- a/apps/drive-web/src/directories/directory-page/context.ts +++ b/apps/drive-web/src/directories/directory-page/context.ts @@ -1,4 +1,4 @@ -import type { Doc } from "@fileone/convex/_generated/dataModel" +import type { Doc } from "@fileone/convex/dataModel" import type { FileSystemItem } from "@fileone/convex/filesystem" import type { DirectoryInfo } from "@fileone/convex/types" import { createContext } from "react" diff --git a/apps/drive-web/src/directories/directory-page/directory-content-context-menu.tsx b/apps/drive-web/src/directories/directory-page/directory-content-context-menu.tsx index 5117d4f..bf18647 100644 --- a/apps/drive-web/src/directories/directory-page/directory-content-context-menu.tsx +++ b/apps/drive-web/src/directories/directory-page/directory-content-context-menu.tsx @@ -1,4 +1,4 @@ -import { api } from "@fileone/convex/_generated/api" +import { api } from "@fileone/convex/api" import { newFileSystemHandle } from "@fileone/convex/filesystem" import { useMutation } from "@tanstack/react-query" import { useMutation as useContextMutation } from "convex/react" diff --git a/apps/drive-web/src/directories/directory-page/directory-content-table.tsx b/apps/drive-web/src/directories/directory-page/directory-content-table.tsx index 8a27163..bf3e417 100644 --- a/apps/drive-web/src/directories/directory-page/directory-content-table.tsx +++ b/apps/drive-web/src/directories/directory-page/directory-content-table.tsx @@ -1,4 +1,4 @@ -import type { Doc } from "@fileone/convex/_generated/dataModel" +import type { Doc } from "@fileone/convex/dataModel" import { type DirectoryHandle, type FileHandle, diff --git a/apps/drive-web/src/directories/directory-page/file-path-breadcrumb.tsx b/apps/drive-web/src/directories/directory-page/file-path-breadcrumb.tsx index 0eeea27..0da4a2c 100644 --- a/apps/drive-web/src/directories/directory-page/file-path-breadcrumb.tsx +++ b/apps/drive-web/src/directories/directory-page/file-path-breadcrumb.tsx @@ -1,4 +1,4 @@ -import type { Id } from "@fileone/convex/_generated/dataModel" +import type { Id } from "@fileone/convex/dataModel" import type { DirectoryHandle, DirectoryPathComponent, @@ -86,6 +86,8 @@ function FilePathBreadcrumbItem({ const dirName = component.name || rootLabel + console.log({ dirName, isDraggedOver, dropHandlers }) + return ( diff --git a/apps/drive-web/src/directories/directory-page/new-directory-dialog.tsx b/apps/drive-web/src/directories/directory-page/new-directory-dialog.tsx index a68f13c..1a89514 100644 --- a/apps/drive-web/src/directories/directory-page/new-directory-dialog.tsx +++ b/apps/drive-web/src/directories/directory-page/new-directory-dialog.tsx @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Id } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Id } from "@fileone/convex/dataModel" import { useMutation } from "@tanstack/react-query" import { useMutation as useContextMutation } from "convex/react" import { useId } from "react" diff --git a/apps/drive-web/src/directories/directory-page/rename-file-dialog.tsx b/apps/drive-web/src/directories/directory-page/rename-file-dialog.tsx index f0aba61..1811cb2 100644 --- a/apps/drive-web/src/directories/directory-page/rename-file-dialog.tsx +++ b/apps/drive-web/src/directories/directory-page/rename-file-dialog.tsx @@ -1,4 +1,4 @@ -import { api } from "@fileone/convex/_generated/api" +import { api } from "@fileone/convex/api" import { type FileSystemItem, FileType } from "@fileone/convex/filesystem" import { useMutation } from "@tanstack/react-query" import { useMutation as useContextMutation } from "convex/react" diff --git a/apps/drive-web/src/directories/directory-page/state.ts b/apps/drive-web/src/directories/directory-page/state.ts index 70b0796..2eb92e6 100644 --- a/apps/drive-web/src/directories/directory-page/state.ts +++ b/apps/drive-web/src/directories/directory-page/state.ts @@ -1,5 +1,5 @@ -import type { Doc, Id } from "@fileone/convex/_generated/dataModel" -import type { FileSystemItem, FileType } from "@fileone/convex/filesystem" +import type { Doc, Id } from "@fileone/convex/dataModel" +import type { FileSystemItem } from "@fileone/convex/filesystem" import type { RowSelectionState } from "@tanstack/react-table" import { atom } from "jotai" import type { FileDragInfo } from "../../files/use-file-drop" diff --git a/apps/drive-web/src/files/file-preview-dialog.tsx b/apps/drive-web/src/files/file-preview-dialog.tsx index 6c233cf..905eb95 100644 --- a/apps/drive-web/src/files/file-preview-dialog.tsx +++ b/apps/drive-web/src/files/file-preview-dialog.tsx @@ -1,4 +1,4 @@ -import type { Doc } from "@fileone/convex/_generated/dataModel" +import type { Doc } from "@fileone/convex/dataModel" import { ImagePreviewDialog } from "./image-preview-dialog" export function FilePreviewDialog({ diff --git a/apps/drive-web/src/files/file-table.tsx b/apps/drive-web/src/files/file-table.tsx index 3ce5da9..8067501 100644 --- a/apps/drive-web/src/files/file-table.tsx +++ b/apps/drive-web/src/files/file-table.tsx @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Doc } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Doc } from "@fileone/convex/dataModel" import type { DirectoryItem } from "@fileone/convex/types" import { useMutation } from "@tanstack/react-query" import { Link } from "@tanstack/react-router" diff --git a/apps/drive-web/src/files/files-page.tsx b/apps/drive-web/src/files/files-page.tsx index 413d3f1..a457fc8 100644 --- a/apps/drive-web/src/files/files-page.tsx +++ b/apps/drive-web/src/files/files-page.tsx @@ -1,4 +1,4 @@ -import { api } from "@fileone/convex/_generated/api" +import { api } from "@fileone/convex/api" import { baseName, splitPath } from "@fileone/path" import { useMutation } from "@tanstack/react-query" import { Link } from "@tanstack/react-router" diff --git a/apps/drive-web/src/files/image-preview-dialog.tsx b/apps/drive-web/src/files/image-preview-dialog.tsx index 1311f59..998faee 100644 --- a/apps/drive-web/src/files/image-preview-dialog.tsx +++ b/apps/drive-web/src/files/image-preview-dialog.tsx @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Doc } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Doc } from "@fileone/convex/dataModel" import { DialogTitle } from "@radix-ui/react-dialog" import { useQuery as useConvexQuery } from "convex/react" import { atom, useAtom, useAtomValue, useSetAtom } from "jotai" diff --git a/apps/drive-web/src/files/rename-file-dialog.tsx b/apps/drive-web/src/files/rename-file-dialog.tsx index 83c3a88..2d28064 100644 --- a/apps/drive-web/src/files/rename-file-dialog.tsx +++ b/apps/drive-web/src/files/rename-file-dialog.tsx @@ -1,4 +1,4 @@ -import { api } from "@fileone/convex/_generated/api" +import { api } from "@fileone/convex/api" import { useMutation } from "@tanstack/react-query" import { useMutation as useContextMutation } from "convex/react" import { atom, useAtom, useStore } from "jotai" diff --git a/apps/drive-web/src/files/state.ts b/apps/drive-web/src/files/state.ts index 007565b..b338573 100644 --- a/apps/drive-web/src/files/state.ts +++ b/apps/drive-web/src/files/state.ts @@ -1,4 +1,4 @@ -import type { Id } from "@fileone/convex/_generated/dataModel" +import type { Id } from "@fileone/convex/dataModel" import type { DirectoryItem, DirectoryItemKind, diff --git a/apps/drive-web/src/files/upload-file-dialog.tsx b/apps/drive-web/src/files/upload-file-dialog.tsx index 2ed05f0..caa0b52 100644 --- a/apps/drive-web/src/files/upload-file-dialog.tsx +++ b/apps/drive-web/src/files/upload-file-dialog.tsx @@ -1,4 +1,4 @@ -import type { Doc } from "@fileone/convex/_generated/dataModel" +import type { Doc } from "@fileone/convex/dataModel" import { mutationOptions } from "@tanstack/react-query" import { atom, useAtom, useAtomValue, useSetAtom, useStore } from "jotai" import { atomEffect } from "jotai-effect" diff --git a/apps/drive-web/src/files/use-file-drop.ts b/apps/drive-web/src/files/use-file-drop.ts index 5e0c9cd..3ab2373 100644 --- a/apps/drive-web/src/files/use-file-drop.ts +++ b/apps/drive-web/src/files/use-file-drop.ts @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Doc, Id } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Doc, Id } from "@fileone/convex/dataModel" import * as Err from "@fileone/convex/error" import { type DirectoryHandle, @@ -71,7 +71,6 @@ export function useFileDrop({ const handleDrop = (_e: React.DragEvent) => { const dragInfo = store.get(dragInfoAtom) - console.log("handleDrop", { dragInfo, destItem }) if (dragInfo && destItem) { const items = dragInfo.items.filter( (item) => !isSameHandle(item, destItem), @@ -89,6 +88,7 @@ export function useFileDrop({ const handleDragOver = (e: React.DragEvent) => { const dragInfo = store.get(dragInfoAtom) + console.log({ dragInfo, destItem }) if (dragInfo && destItem) { e.preventDefault() e.dataTransfer.dropEffect = "move" diff --git a/apps/drive-web/src/files/use-upload-file.ts b/apps/drive-web/src/files/use-upload-file.ts index 098b094..97c69f3 100644 --- a/apps/drive-web/src/files/use-upload-file.ts +++ b/apps/drive-web/src/files/use-upload-file.ts @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Doc, Id } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Doc, Id } from "@fileone/convex/dataModel" import { useMutation as useConvexMutation } from "convex/react" import { useCallback } from "react" diff --git a/apps/drive-web/src/routes/_authenticated/_sidebar-layout/directories.$directoryId.tsx b/apps/drive-web/src/routes/_authenticated/_sidebar-layout/directories.$directoryId.tsx index dbc469e..61b6b3e 100644 --- a/apps/drive-web/src/routes/_authenticated/_sidebar-layout/directories.$directoryId.tsx +++ b/apps/drive-web/src/routes/_authenticated/_sidebar-layout/directories.$directoryId.tsx @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Doc, Id } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Doc, Id } from "@fileone/convex/dataModel" import { type FileSystemItem, FileType, diff --git a/apps/drive-web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx b/apps/drive-web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx index 9b814eb..bd0720e 100644 --- a/apps/drive-web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx +++ b/apps/drive-web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx @@ -1,5 +1,5 @@ -import { api } from "@fileone/convex/_generated/api" -import type { Doc, Id } from "@fileone/convex/_generated/dataModel" +import { api } from "@fileone/convex/api" +import type { Doc, Id } from "@fileone/convex/dataModel" import { type FileSystemItem, FileType, diff --git a/apps/drive-web/src/routes/login_.callback.tsx b/apps/drive-web/src/routes/login_.callback.tsx index b651900..47d178d 100644 --- a/apps/drive-web/src/routes/login_.callback.tsx +++ b/apps/drive-web/src/routes/login_.callback.tsx @@ -1,4 +1,4 @@ -import { api } from "@fileone/convex/_generated/api" +import { api } from "@fileone/convex/api" import { useMutation } from "@tanstack/react-query" import { createFileRoute, useNavigate } from "@tanstack/react-router" import { useConvexAuth, useMutation as useConvexMutation } from "convex/react" diff --git a/packages/convex/auth.ts b/packages/convex/auth.ts index 23fd633..1188e96 100644 --- a/packages/convex/auth.ts +++ b/packages/convex/auth.ts @@ -1,8 +1,8 @@ import { createClient, type GenericCtx } from "@convex-dev/better-auth" import { convex, crossDomain } from "@convex-dev/better-auth/plugins" import { betterAuth } from "better-auth" -import { components } from "./_generated/api" -import type { DataModel } from "./_generated/dataModel" +import { components } from "@fileone/convex/api" +import type { DataModel } from "@fileone/convex/dataModel" import authSchema from "./betterauth/schema" const siteUrl = process.env.SITE_URL! diff --git a/packages/convex/files.ts b/packages/convex/files.ts index e57a180..70d601c 100644 --- a/packages/convex/files.ts +++ b/packages/convex/files.ts @@ -1,5 +1,5 @@ import { v } from "convex/values" -import type { Id } from "./_generated/dataModel" +import type { Id } from "@fileone/convex/dataModel" import { authenticatedMutation, authenticatedQuery, authorizedGet } from "./functions" import * as Directories from "./model/directories" import * as Files from "./model/files" diff --git a/packages/convex/functions.ts b/packages/convex/functions.ts index 148a2fc..25af388 100644 --- a/packages/convex/functions.ts +++ b/packages/convex/functions.ts @@ -9,9 +9,9 @@ import { customMutation, customQuery, } from "convex-helpers/server/customFunctions" -import type { DataModel } from "./_generated/dataModel" -import type { MutationCtx, QueryCtx } from "./_generated/server" -import { mutation, query } from "./_generated/server" +import type { DataModel } from "@fileone/convex/dataModel" +import type { MutationCtx, QueryCtx } from "@fileone/convex/server" +import { mutation, query } from "@fileone/convex/server" import { type AuthUser, userIdentityOrThrow, userOrThrow } from "./model/user" export type AuthenticatedQueryCtx = QueryCtx & { diff --git a/packages/convex/model/directories.ts b/packages/convex/model/directories.ts index a8ba97e..9121e6c 100644 --- a/packages/convex/model/directories.ts +++ b/packages/convex/model/directories.ts @@ -1,4 +1,4 @@ -import type { Doc, Id } from "../_generated/dataModel" +import type { Doc, Id } from "@fileone/convex/dataModel" import type { AuthenticatedMutationCtx, AuthenticatedQueryCtx, diff --git a/packages/convex/model/files.ts b/packages/convex/model/files.ts index b6eaa0c..c55ce05 100644 --- a/packages/convex/model/files.ts +++ b/packages/convex/model/files.ts @@ -1,4 +1,4 @@ -import type { Doc, Id } from "../_generated/dataModel" +import type { Doc, Id } from "@fileone/convex/dataModel" import { type AuthenticatedMutationCtx, authorizedGet } from "../functions" import * as Err from "../shared/error" import type { DirectoryHandle, FileHandle } from "../shared/filesystem" diff --git a/packages/convex/model/filesystem.ts b/packages/convex/model/filesystem.ts index a2aa1e0..bb5697a 100644 --- a/packages/convex/model/filesystem.ts +++ b/packages/convex/model/filesystem.ts @@ -1,5 +1,5 @@ import { v } from "convex/values" -import type { Doc, Id } from "../_generated/dataModel" +import type { Doc, Id } from "@fileone/convex/dataModel" import { type AuthenticatedMutationCtx, type AuthenticatedQueryCtx, diff --git a/packages/convex/model/user.ts b/packages/convex/model/user.ts index 2fd5ef6..ed2f358 100644 --- a/packages/convex/model/user.ts +++ b/packages/convex/model/user.ts @@ -1,4 +1,4 @@ -import type { MutationCtx, QueryCtx } from "../_generated/server" +import type { MutationCtx, QueryCtx } from "@fileone/convex/server" import { authComponent } from "../auth" import * as Err from "../shared/error" diff --git a/packages/convex/package.json b/packages/convex/package.json index d5721b0..acc813d 100644 --- a/packages/convex/package.json +++ b/packages/convex/package.json @@ -6,6 +6,9 @@ "./filesystem": "./shared/filesystem.ts", "./error": "./shared/error.ts", "./types": "./shared/types.ts", + "./dataModel": "./_generated/dataModel.d.ts", + "./api": "./_generated/api.js", + "./server": "./_generated/server.js", "./_generated/*": "./_generated/*", "./model/*": "./model/*", "./shared/*": "./shared/*" diff --git a/packages/convex/shared/filesystem.ts b/packages/convex/shared/filesystem.ts index 1be6fa1..9a456cd 100644 --- a/packages/convex/shared/filesystem.ts +++ b/packages/convex/shared/filesystem.ts @@ -4,7 +4,7 @@ * NO server-only dependencies should be imported here. */ -import type { Doc, Id } from "../_generated/dataModel" +import type { Doc, Id } from "@fileone/convex/dataModel" import type * as Err from "./error" export enum FileType { diff --git a/packages/convex/shared/types.ts b/packages/convex/shared/types.ts index d66e934..a36e862 100644 --- a/packages/convex/shared/types.ts +++ b/packages/convex/shared/types.ts @@ -3,7 +3,7 @@ * This file should NOT import any server-only dependencies. */ -import type { Doc } from "../_generated/dataModel" +import type { Doc } from "@fileone/convex/dataModel" import type { DirectoryPath } from "./filesystem" export type DirectoryInfo = Doc<"directories"> & { path: DirectoryPath }