Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export default tseslint.config(
pluginJs.configs.recommended,
tseslint.configs.recommendedTypeChecked,
reactLint.configs.flat.recommended,
reactHooks.configs.recommended,
reactHooks.configs.flat.recommended,
{
plugins: {
"@tanstack/query": fixupPluginRules(tanstackQueryLint),
Expand Down Expand Up @@ -93,11 +93,6 @@ export default tseslint.config(
"react/display-name": "off",
"react/jsx-curly-brace-presence": "error",

// Hooks
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"react-hooks/react-compiler": "error",

// TanStack Query
"@tanstack/query/exhaustive-deps": "error",
"@tanstack/query/no-rest-destructuring": "warn",
Expand Down
22 changes: 11 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,23 @@
"dev": "pnpm --stream -r run dev"
},
"devDependencies": {
"@eslint/compat": "^1.3.2",
"@eslint/js": "^9.35.0",
"@tanstack/eslint-plugin-query": "^5.86.0",
"@vitest/coverage-v8": "3.2.4",
"@eslint/compat": "^1.4.0",
"@eslint/js": "^9.38.0",
"@tanstack/eslint-plugin-query": "^5.91.2",
"@vitest/coverage-v8": "4.0.3",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"eslint": "^9.35.0",
"eslint": "^9.38.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "6.0.0-rc1",
"eslint-plugin-react-hooks": "7.0.1",
"globals": "^16.4.0",
"husky": "^9.1.7",
"lint-staged": "^16.1.6",
"lint-staged": "^16.2.6",
"prettier": "^3.6.2",
"prettier-plugin-tailwindcss": "^0.6.14",
"typescript": "^5.9.2",
"typescript-eslint": "^8.44.0",
"vitest": "3.2.4"
"prettier-plugin-tailwindcss": "^0.7.1",
"typescript": "^5.9.3",
"typescript-eslint": "^8.46.2",
"vitest": "4.0.3"
},
"lint-staged": {
"*.{js,ts,tsx}": [
Expand Down
20 changes: 10 additions & 10 deletions packages/graph-explorer-proxy-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,34 +13,34 @@
"author": "amazon",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/credential-providers": "^3.888.0",
"@aws-sdk/credential-providers": "^3.917.0",
"@graph-explorer/shared": "workspace:*",
"aws4": "^1.13.2",
"body-parser": "^2.2.0",
"compression": "^1.8.1",
"cors": "^2.8.5",
"crypto-js": "^4.2.0",
"date-fns": "^4.1.0",
"dotenv": "^17.2.2",
"dotenv": "^17.2.3",
"express": "^5.1.0",
"fs": "0.0.1-security",
"https": "^1.0.0",
"node-fetch": "^3.3.2",
"pino": "^9.9.5",
"pino-pretty": "^13.1.1",
"pino": "^10.1.0",
"pino-pretty": "^13.1.2",
"zod": "^3.25.76"
},
"devDependencies": {
"@types/aws4": "^1.11.6",
"@types/body-parser": "^1.19.6",
"@types/compression": "^1.8.1",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.3",
"@types/node": "^24.4.0",
"@vitest/coverage-v8": "3.2.4",
"memfs": "^4.39.0",
"@types/express": "^5.0.4",
"@types/node": "^24.9.1",
"@vitest/coverage-v8": "4.0.3",
"memfs": "^4.49.0",
"rimraf": "^6.0.1",
"tsx": "^4.20.5",
"vitest": "3.2.4"
"tsx": "^4.20.6",
"vitest": "4.0.3"
}
}
80 changes: 39 additions & 41 deletions packages/graph-explorer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-toggle": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.8",
"@react-aria/textfield": "3.18.1",
"@tanstack/react-query": "^5.87.4",
"@react-aria/textfield": "3.18.2",
"@tanstack/react-query": "^5.90.5",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"clsx": "^2.1.1",
"color": "^5.0.2",
Expand All @@ -48,77 +48,75 @@
"dedent": "^1.7.0",
"file-saver": "^2.0.5",
"flat": "^6.0.1",
"jotai": "^2.14.0",
"jotai": "^2.15.0",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"lucide-react": "^0.542.0",
"motion": "^12.23.12",
"lucide-react": "^0.548.0",
"motion": "^12.23.24",
"papaparse": "^5.5.3",
"re-resizable": "^6.11.2",
"react": "^19.1.1",
"react": "^19.2.0",
"react-colorful": "^5.6.1",
"react-dom": "^19.1.1",
"react-dom": "^19.2.0",
"react-error-boundary": "^6.0.0",
"react-hook-form": "^7.62.0",
"react-hook-form": "^7.65.0",
"react-inlinesvg": "^4.2.0",
"react-laag": "^2.0.5",
"react-router": "^7.9.1",
"react-router": "^7.9.4",
"react-table": "^7.8.0",
"react-transition-group": "^4.4.5",
"react-virtuoso": "^4.14.0",
"react-virtuoso": "^4.14.1",
"tailwind-merge": "^3.3.1",
"tailwindcss-animate": "^1.0.7",
"use-deep-compare-effect": "^1.8.1",
"uuid": "^11.1.0",
"uuid": "^13.0.0",
"zod": "^3.25.76",
"zod-validation-error": "^4.0.1"
"zod-validation-error": "^4.0.2"
},
"devDependencies": {
"@babel/core": "^7.28.4",
"@babel/preset-env": "^7.28.3",
"@babel/preset-react": "^7.27.1",
"@babel/preset-typescript": "^7.27.1",
"@react-stately/radio": "^3.11.1",
"@react-types/button": "^3.14.0",
"@react-types/checkbox": "^3.10.1",
"@react-types/combobox": "^3.13.8",
"@react-types/radio": "^3.9.1",
"@react-types/shared": "^3.32.0",
"@react-types/switch": "^3.5.14",
"@babel/core": "^7.28.5",
"@babel/preset-env": "^7.28.5",
"@babel/preset-react": "^7.28.5",
"@babel/preset-typescript": "^7.28.5",
"@react-stately/radio": "^3.11.2",
"@react-types/button": "^3.14.1",
"@react-types/checkbox": "^3.10.2",
"@react-types/combobox": "^3.13.9",
"@react-types/radio": "^3.9.2",
"@react-types/shared": "^3.32.1",
"@react-types/switch": "^3.5.15",
"@tailwindcss/container-queries": "^0.1.1",
"@tanstack/react-query-devtools": "^5.87.4",
"@tanstack/react-query-devtools": "^5.90.2",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.8.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/color": "^4.2.0",
"@types/crypto-js": "^4.2.2",
"@types/cytoscape": "^3.21.9",
"@types/file-saver": "^2.0.7",
"@types/flat": "^5.0.5",
"@types/lodash": "^4.17.20",
"@types/node": "^24.4.0",
"@types/node": "^24.9.1",
"@types/papaparse": "^5.3.16",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.2",
"@types/react-table": "^7.7.20",
"@types/react-transition-group": "^4.4.12",
"@types/uuid": "^10.0.0",
"@types/wicg-file-system-access": "^2023.10.6",
"@vitejs/plugin-react": "^5.0.2",
"@vitest/coverage-v8": "3.2.4",
"@types/wicg-file-system-access": "^2023.10.7",
"@vitejs/plugin-react": "^5.1.0",
"@vitest/coverage-v8": "4.0.3",
"autoprefixer": "^10.4.21",
"core-js": "^3.45.1",
"happy-dom": "^20.0.2",
"jsdom": "^26.1.0",
"lint-staged": "^16.1.6",
"core-js": "^3.46.0",
"happy-dom": "^20.0.8",
"jsdom": "^27.0.1",
"lint-staged": "^16.2.6",
"postcss": "^8.5.6",
"rimraf": "^6.0.1",
"tailwindcss": "^3.4.17",
"type-fest": "^4.41.0",
"vite": "^7.1.5",
"tailwindcss": "^3.4.18",
"type-fest": "^5.1.0",
"vite": "^7.1.12",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "3.2.4"
"vitest": "4.0.3"
},
"overrides": {
"json5@>=2.0.0 <2.2.2": "2.2.2",
Expand Down
6 changes: 3 additions & 3 deletions packages/graph-explorer/src/components/Button/Button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,19 @@ export const buttonStyles = cva({
variant: "filled",
color: "primary",
className:
"bg-brand hover:bg-brand-hover data-open:bg-brand-hover text-white",
"bg-brand text-white hover:bg-brand-hover data-open:bg-brand-hover",
},
{
variant: "filled",
color: "danger",
className:
"bg-danger hover:bg-danger-hover data-open:bg-danger-hover text-white",
"bg-danger text-white hover:bg-danger-hover data-open:bg-danger-hover",
},
{
variant: "default",
color: "primary",
className:
"text-text-primary data-open:bg-gray-200 bg-gray-100 hover:bg-gray-200",
"bg-gray-100 text-text-primary hover:bg-gray-200 data-open:bg-gray-200",
},
{
variant: "default",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export function LinkButton({
{...props}
className={cn(
className,
"text-primary-main m-0 cursor-pointer border-0 bg-transparent p-0 underline underline-offset-2 hover:no-underline"
"m-0 cursor-pointer border-0 bg-transparent p-0 text-primary-main underline underline-offset-2 hover:no-underline"
)}
/>
);
Expand Down
4 changes: 2 additions & 2 deletions packages/graph-explorer/src/components/Checkbox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ const Checkbox = React.forwardRef<
<CheckboxPrimitive.Root
ref={ref}
className={cn(
"focus-visible:ring-ring bg-primary-main border-primary-main group peer size-[16px] shrink-0 rounded border text-white focus-visible:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50",
"data-[state=unchecked]:bg-background-default data-[state=unchecked]:border-gray-400 dark:data-[state=unchecked]:border-gray-600",
"focus-visible:ring-ring group peer size-[16px] shrink-0 rounded border border-primary-main bg-primary-main text-white focus-visible:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50",
"data-[state=unchecked]:border-gray-400 data-[state=unchecked]:bg-background-default dark:data-[state=unchecked]:border-gray-600",
className
)}
{...props}
Expand Down
4 changes: 2 additions & 2 deletions packages/graph-explorer/src/components/CheckboxList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ function CheckboxRow({
<div className={cn("px-3", isTop && "pt-3", isBottom && "pb-3")}>
<Label
className={cn(
"text-text-primary w-full border-x border-b px-3 py-3 hover:cursor-pointer",
isTop && "bg-background-contrast/50 rounded-t-lg border-t",
"w-full border-x border-b px-3 py-3 text-text-primary hover:cursor-pointer",
isTop && "rounded-t-lg border-t bg-background-contrast/50",
isBottom && "rounded-b-lg",
className
)}
Expand Down
2 changes: 1 addition & 1 deletion packages/graph-explorer/src/components/Collapsible.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ function CollapsibleContent({
<CollapsiblePrimitive.CollapsibleContent
data-slot="collapsible-content"
className={cn(
"group-data-open:animate-expand group-data-closed:animate-collapse overflow-hidden",
"overflow-hidden group-data-open:animate-expand group-data-closed:animate-collapse",
className
)}
{...props}
Expand Down
6 changes: 3 additions & 3 deletions packages/graph-explorer/src/components/Dialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const DialogOverlay = React.forwardRef<
<DialogPrimitive.Overlay
ref={ref}
className={cn(
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
className
)}
{...props}
Expand All @@ -37,7 +37,7 @@ const DialogContent = React.forwardRef<
<DialogPrimitive.Content
ref={ref}
className={cn(
"bg-background-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 relative grid max-h-full w-[500px] overflow-y-auto rounded-lg duration-200",
"relative grid max-h-full w-[500px] overflow-y-auto rounded-lg bg-background-default duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
className
)}
{...props}
Expand Down Expand Up @@ -108,7 +108,7 @@ const DialogDescription = React.forwardRef<
>(({ className, ...props }, ref) => (
<DialogPrimitive.Description
ref={ref}
className={cn("text-text-secondary text-sm", className)}
className={cn("text-sm text-text-secondary", className)}
{...props}
/>
));
Expand Down
4 changes: 2 additions & 2 deletions packages/graph-explorer/src/components/Divider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ export default function Divider({
if (axis === "vertical") {
return (
<div
className={cn("bg-border mx-1 h-full w-[1px] min-w-[1px]", className)}
className={cn("mx-1 h-full w-[1px] min-w-[1px] bg-border", className)}
{...props}
/>
);
} else {
return (
<div
className={cn("bg-border my-1 h-[1px] min-h-[1px] w-full", className)}
className={cn("my-1 h-[1px] min-h-[1px] w-full bg-border", className)}
{...props}
/>
);
Expand Down
2 changes: 1 addition & 1 deletion packages/graph-explorer/src/components/EdgeSymbol.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export function EdgeSymbol({
}: ComponentPropsWithoutRef<"div">) {
return (
<SearchResultSymbol
className={cn("text-primary-main bg-primary-main/20", className)}
className={cn("bg-primary-main/20 text-primary-main", className)}
{...props}
>
<EdgeIcon className="size-full" />
Expand Down
10 changes: 5 additions & 5 deletions packages/graph-explorer/src/components/EmptyState.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ const emptyStateIconStyles = cva({
base: "mb-6 flex size-24 items-center justify-center rounded-full text-7xl text-white [&>svg]:size-1/2",
variants: {
variant: {
info: "from-primary-main to-primary-light bg-gradient-to-b shadow-[0_0_20px_2px_hsl(205,95%,71%,70%)]",
info: "bg-gradient-to-b from-primary-main to-primary-light shadow-[0_0_20px_2px_hsl(205,95%,71%,70%)]",
error:
"from-error-main to-error-light bg-gradient-to-b shadow-[0_0_20px_2px_rgba(255,144,119,0.7)]",
"bg-gradient-to-b from-error-main to-error-light shadow-[0_0_20px_2px_rgba(255,144,119,0.7)]",
},
},
defaultVariants: {
Expand All @@ -50,7 +50,7 @@ const EmptyStateContent = React.forwardRef<
<div
ref={ref}
className={cn(
"max-w-paragraph flex w-full flex-col items-center justify-center gap-1 text-center",
"flex w-full max-w-paragraph flex-col items-center justify-center gap-1 text-center",
className
)}
{...props}
Expand All @@ -65,7 +65,7 @@ const EmptyStateTitle = React.forwardRef<
<h1
ref={ref}
className={cn(
"text-text-primary min-w-0 text-balance break-words text-lg font-bold",
"min-w-0 text-balance break-words text-lg font-bold text-text-primary",
className
)}
{...props}
Expand All @@ -80,7 +80,7 @@ const EmptyStateDescription = React.forwardRef<
<div
ref={ref}
className={cn(
"text-text-primary/75 font-base min-w-0 text-pretty break-words text-base",
"min-w-0 text-pretty break-words text-base font-base text-text-primary/75",
className
)}
{...props}
Expand Down
4 changes: 2 additions & 2 deletions packages/graph-explorer/src/components/Form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ const FormDescription = React.forwardRef<
<p
ref={ref}
id={formDescriptionId}
className={cn("text-text-secondary text-sm", className)}
className={cn("text-sm text-text-secondary", className)}
{...props}
/>
);
Expand Down Expand Up @@ -167,7 +167,7 @@ const FormError = React.forwardRef<
return (
<p
ref={ref}
className={cn("text-error-main text-sm font-medium", className)}
className={cn("text-sm font-medium text-error-main", className)}
{...props}
>
{children}
Expand Down
Loading