From 23fc0b4ac74674452a22efa26225bc01c2963ca3 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Tue, 10 Jun 2025 11:47:52 -0400 Subject: [PATCH 1/4] Docs: Fix ESLint dependency pin --- docs/package.json | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 docs/package.json diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..e3d09c5 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,39 @@ +{ + "name": "docs", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "postbuild": "pagefind --site .next --output-path .next/static/chunks/pages/pagefind" + }, + "dependencies": { + "@mdx-js/loader": "^3.0.1", + "@next/mdx": "^14.2.5", + "clsx": "^2.1.1", + "framer-motion": "^11.3.19", + "geist": "^1.3.1", + "highlight.js": "^11.10.0", + "mini-css-extract-plugin": "^2.9.0", + "mini-svg-data-uri": "^1.4.4", + "next": "14.2.5", + "react": "^18", + "react-dom": "^18", + "react-icons": "^5.2.1", + "tailwind-merge": "^2.4.0" + }, + "devDependencies": { + "@types/node": "^22.0.0", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^9.8.0", + "eslint-config-next": "^14.2.5", + "pagefind": "^1.1.0", + "postcss": "^8.4.40", + "tailwindcss": "^3.4.7", + "typescript": "^5.5.4" + }, + "type": "module" +} From d8233ded5d3fe63e275055db5dc5360ac6c11a42 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Tue, 10 Jun 2025 11:50:48 -0400 Subject: [PATCH 2/4] Remove dev deps. --- docs/package.json | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docs/package.json b/docs/package.json index e3d09c5..5bee673 100644 --- a/docs/package.json +++ b/docs/package.json @@ -24,16 +24,5 @@ "react-icons": "^5.2.1", "tailwind-merge": "^2.4.0" }, - "devDependencies": { - "@types/node": "^22.0.0", - "@types/react": "^18", - "@types/react-dom": "^18", - "eslint": "^9.8.0", - "eslint-config-next": "^14.2.5", - "pagefind": "^1.1.0", - "postcss": "^8.4.40", - "tailwindcss": "^3.4.7", - "typescript": "^5.5.4" - }, "type": "module" } From beee6381bf1fd522390090b618e2c97af1c468af Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Tue, 10 Jun 2025 11:52:58 -0400 Subject: [PATCH 3/4] How the hell does it build locally but not on Vercel. --- docs/package.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/package.json b/docs/package.json index 5bee673..094731f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -24,5 +24,10 @@ "react-icons": "^5.2.1", "tailwind-merge": "^2.4.0" }, - "type": "module" + "type": "module", + "devDependencies": { + "@types/node": "24.0.0", + "@types/react": "19.1.7", + "typescript": "5.8.3" + } } From 1c1c67c265b909939a2220819512de2abab02e1c Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Tue, 10 Jun 2025 11:58:43 -0400 Subject: [PATCH 4/4] Boy oh boy do I hate the JS ecosystem --- docs/package.json | 5 ++++- docs/src/components/animated-modal.tsx | 4 ++-- docs/src/components/stars-background.tsx | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/package.json b/docs/package.json index 094731f..b0df6d6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -22,12 +22,15 @@ "react": "^18", "react-dom": "^18", "react-icons": "^5.2.1", - "tailwind-merge": "^2.4.0" + "tailwind-merge": "^2.4.0", + "tailwindcss": "v3" }, "type": "module", "devDependencies": { "@types/node": "24.0.0", "@types/react": "19.1.7", + "eslint": "^9.28.0", + "pagefind": "^1.3.0", "typescript": "5.8.3" } } diff --git a/docs/src/components/animated-modal.tsx b/docs/src/components/animated-modal.tsx index f93ea88..3e1607e 100644 --- a/docs/src/components/animated-modal.tsx +++ b/docs/src/components/animated-modal.tsx @@ -77,7 +77,7 @@ export const ModalBody = ({ } }, [open]); - const modalRef = useRef(null); + const modalRef = useRef(null); const { setOpen } = useModal(); useOutsideClick(modalRef, () => setOpen(false)); @@ -220,7 +220,7 @@ const CloseIcon = () => { // Hook to detect clicks outside of a component. // Add it in a separate file, I've added here for simplicity export const useOutsideClick = ( - ref: React.RefObject, + ref: React.RefObject, callback: Function ) => { useEffect(() => { diff --git a/docs/src/components/stars-background.tsx b/docs/src/components/stars-background.tsx index 400fa31..923543b 100644 --- a/docs/src/components/stars-background.tsx +++ b/docs/src/components/stars-background.tsx @@ -53,7 +53,7 @@ export const StarsBackground: React.FC = ({ className, }) => { const [stars, setStars] = useState([]); - const containerRef: RefObject = + const containerRef: RefObject = useRef(null); const generateStars = useCallback( @@ -70,7 +70,7 @@ export const StarsBackground: React.FC = ({ opacity: Math.random() * 0.5 + 0.5, twinkleSpeed: shouldTwinkle ? minTwinkleSpeed + - Math.random() * (maxTwinkleSpeed - minTwinkleSpeed) + Math.random() * (maxTwinkleSpeed - minTwinkleSpeed) : null, }; });