From ef0f331567edaf607b61a2315f857d792a0ccc01 Mon Sep 17 00:00:00 2001 From: Kristian Gjertsen Date: Thu, 12 Nov 2026 18:43:35 +0100 Subject: [PATCH 1/4] Refactor import paths for useBuild to follow consistent casing in context files --- frontend/src/components/DesktopComponentDetailPage.tsx | 2 +- frontend/src/components/buttons/AddToBuildButton.tsx | 2 +- frontend/src/components/pageSections/Header.tsx | 2 +- frontend/src/pages/pcBuilderPage/components/ClearBuild.tsx | 2 +- .../pcBuilderPage/components/ComponentSelectionComponent.tsx | 2 +- frontend/src/pages/pcBuilderPage/components/PublishBuild.tsx | 2 +- frontend/src/pages/pcBuilderPage/pcBuilderPage.tsx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/DesktopComponentDetailPage.tsx b/frontend/src/components/DesktopComponentDetailPage.tsx index 0c9212b..0385996 100644 --- a/frontend/src/components/DesktopComponentDetailPage.tsx +++ b/frontend/src/components/DesktopComponentDetailPage.tsx @@ -1,4 +1,4 @@ -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; import { Trash2, X } from "lucide-react"; import { useId, useState } from "react"; import { Link } from "react-router"; diff --git a/frontend/src/components/buttons/AddToBuildButton.tsx b/frontend/src/components/buttons/AddToBuildButton.tsx index a3f5582..7d1ec93 100644 --- a/frontend/src/components/buttons/AddToBuildButton.tsx +++ b/frontend/src/components/buttons/AddToBuildButton.tsx @@ -1,6 +1,6 @@ import type { ReactNode } from "react"; import type { PcPart } from "@/types/types"; -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; import { useNavigate } from "react-router"; import { twMerge } from "tailwind-merge"; import Button from "./Button"; diff --git a/frontend/src/components/pageSections/Header.tsx b/frontend/src/components/pageSections/Header.tsx index 3f54bf4..621e11b 100644 --- a/frontend/src/components/pageSections/Header.tsx +++ b/frontend/src/components/pageSections/Header.tsx @@ -1,7 +1,7 @@ import { useState, type FormEvent } from "react"; import { Link, NavLink, useNavigate } from "react-router"; import { Menu, Search, X } from "lucide-react"; -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; const navigation = [ { to: "/", label: "Home" }, diff --git a/frontend/src/pages/pcBuilderPage/components/ClearBuild.tsx b/frontend/src/pages/pcBuilderPage/components/ClearBuild.tsx index 231eb7f..1960d3c 100644 --- a/frontend/src/pages/pcBuilderPage/components/ClearBuild.tsx +++ b/frontend/src/pages/pcBuilderPage/components/ClearBuild.tsx @@ -1,6 +1,6 @@ import { useRef } from "react"; import Button from "@/components/buttons/Button"; -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; export default function ClearBuild() { const dialogRef = useRef(null); diff --git a/frontend/src/pages/pcBuilderPage/components/ComponentSelectionComponent.tsx b/frontend/src/pages/pcBuilderPage/components/ComponentSelectionComponent.tsx index d46237a..bde87ec 100644 --- a/frontend/src/pages/pcBuilderPage/components/ComponentSelectionComponent.tsx +++ b/frontend/src/pages/pcBuilderPage/components/ComponentSelectionComponent.tsx @@ -5,7 +5,7 @@ import { formatSpecification, getSpecifications, } from "@/utils/partSpecifications"; -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; import Button from "@/components/buttons/Button"; import { ArrowLeftRight, Plus, Trash2 } from "lucide-react"; diff --git a/frontend/src/pages/pcBuilderPage/components/PublishBuild.tsx b/frontend/src/pages/pcBuilderPage/components/PublishBuild.tsx index 254e995..56ae95e 100644 --- a/frontend/src/pages/pcBuilderPage/components/PublishBuild.tsx +++ b/frontend/src/pages/pcBuilderPage/components/PublishBuild.tsx @@ -1,6 +1,6 @@ import { Link } from "react-router"; import { useRef, useState } from "react"; -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; import { publishBuild } from "@/api/builds"; import Button from "@/components/buttons/Button"; diff --git a/frontend/src/pages/pcBuilderPage/pcBuilderPage.tsx b/frontend/src/pages/pcBuilderPage/pcBuilderPage.tsx index 8c8d38d..a5a984c 100644 --- a/frontend/src/pages/pcBuilderPage/pcBuilderPage.tsx +++ b/frontend/src/pages/pcBuilderPage/pcBuilderPage.tsx @@ -1,6 +1,6 @@ import SelectionComponent from "./components/ComponentSelectionComponent"; -import { useBuild } from "@/context/buildContext"; +import { useBuild } from "@/context/BuildContext"; import { categories } from "@/types/categories"; import BuildSummaryComponent from "./components/BuildSummaryComponent"; import ClearBuild from "./components/ClearBuild"; From 842c4ca819a85fbf904486060e0893dc532a7bd7 Mon Sep 17 00:00:00 2001 From: Kristian Gjertsen Date: Thu, 12 Nov 2026 18:45:24 +0100 Subject: [PATCH 2/4] Fix import paths to follow consistent casing in App and BuildProvider components --- frontend/src/App.tsx | 8 ++++---- frontend/src/context/BuildProvider.tsx | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index c3f02db..e4be207 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,9 +1,9 @@ import { useState } from "react"; import "./App.css"; -import HomePage from "./pages/homePage/HomePage"; -import CategoryPage from "./pages/categoryPage/CategoryPage"; -import PcBuilderPage from "./pages/pcBuilderPage/PcBuilderPage"; -import CommunityPage from "./pages/communityPage/CommunityPage"; +import HomePage from "./pages/homePage/homePage"; +import CategoryPage from "./pages/categoryPage/categoryPage"; +import PcBuilderPage from "./pages/pcBuilderPage/pcBuilderPage"; +import CommunityPage from "./pages/communityPage/communityPage"; import NavBar from "./components/pageSections/Header"; import Footer from "./components/pageSections/Footer"; import BackToTopButton from "./components/buttons/BackToTopButton"; diff --git a/frontend/src/context/BuildProvider.tsx b/frontend/src/context/BuildProvider.tsx index 06f9bd0..0937e20 100644 --- a/frontend/src/context/BuildProvider.tsx +++ b/frontend/src/context/BuildProvider.tsx @@ -1,8 +1,8 @@ import { useEffect, useState } from "react"; import type { ReactNode } from "react"; import type { PcPart } from "@/types/types"; -import { BuildContext } from "./buildContext"; -import type { BuildParts } from "./buildContext"; +import { BuildContext } from "./BuildContext"; +import type { BuildParts } from "./BuildContext"; const STORAGE_KEY = "pc-builder"; From d76862d62f1812ccaabc2196126736eb30da8443 Mon Sep 17 00:00:00 2001 From: Kristian Gjertsen Date: Thu, 12 Nov 2026 18:47:28 +0100 Subject: [PATCH 3/4] Update minimatch dependency to version 11.0.8 --- backend/server/package-lock.json | 18 +++++++++++++----- backend/server/package.json | 3 +++ frontend/package-lock.json | 18 +++++++++++++----- frontend/package.json | 3 +++ 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/backend/server/package-lock.json b/backend/server/package-lock.json index f14d85a..f1ce1cc 100644 --- a/backend/server/package-lock.json +++ b/backend/server/package-lock.json @@ -1001,6 +1001,13 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@isaacs/nonrecursive-glob-match": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/nonrecursive-glob-match/-/nonrecursive-glob-match-1.1.0.tgz", + "integrity": "sha512-GPm/Dbvk5RLmhRnxXIa7nTpK0xtl4E0wj0MslsuNiJ1FIROU+2+9lgUC/dgF7Ey4QCWhfEsgxilMRMCdHPfDfw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/@keyv/bigmap": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", @@ -2782,16 +2789,17 @@ } }, "node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "version": "11.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-11.0.8.tgz", + "integrity": "sha512-nFQuYSTVrGvysVBps5Ih+0BdnYFN/Cj3C816r6+p7yK+FHrVLGE4O4N9AFwykrlNlvM2HYt+Rad1Uiro6h88Ig==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.8" + "@isaacs/nonrecursive-glob-match": "^1.1.0", + "brace-expansion": "^5.0.12" }, "engines": { - "node": "18 || 20 || >=22" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/backend/server/package.json b/backend/server/package.json index 404e03c..7c171ed 100644 --- a/backend/server/package.json +++ b/backend/server/package.json @@ -36,5 +36,8 @@ "express": "^5.3.0", "graphql": "^16.14.2", "pg": "^8.23.1" + }, + "overrides": { + "minimatch": "^11.0.1" } } diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4f32fd9..81b3bfe 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -825,6 +825,13 @@ } } }, + "node_modules/@isaacs/nonrecursive-glob-match": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/nonrecursive-glob-match/-/nonrecursive-glob-match-1.1.0.tgz", + "integrity": "sha512-GPm/Dbvk5RLmhRnxXIa7nTpK0xtl4E0wj0MslsuNiJ1FIROU+2+9lgUC/dgF7Ey4QCWhfEsgxilMRMCdHPfDfw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -3708,16 +3715,17 @@ } }, "node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "version": "11.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-11.0.8.tgz", + "integrity": "sha512-nFQuYSTVrGvysVBps5Ih+0BdnYFN/Cj3C816r6+p7yK+FHrVLGE4O4N9AFwykrlNlvM2HYt+Rad1Uiro6h88Ig==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.8" + "@isaacs/nonrecursive-glob-match": "^1.1.0", + "brace-expansion": "^5.0.12" }, "engines": { - "node": "18 || 20 || >=22" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/frontend/package.json b/frontend/package.json index 6908169..d54d3ad 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -45,5 +45,8 @@ }, "allowScripts": { "fsevents@2.3.3": true + }, + "overrides": { + "minimatch": "^11.0.1" } } From 2bd05193558539296c9ffef0a2366989c492ebb3 Mon Sep 17 00:00:00 2001 From: Kristian Gjertsen Date: Thu, 12 Nov 2026 18:53:20 +0100 Subject: [PATCH 4/4] Update body-parser and qs dependencies to latest versions --- backend/server/package-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/server/package-lock.json b/backend/server/package-lock.json index f1ce1cc..a490db6 100644 --- a/backend/server/package-lock.json +++ b/backend/server/package-lock.json @@ -1572,18 +1572,18 @@ } }, "node_modules/body-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", - "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.4.0.tgz", + "integrity": "sha512-Ifk1KcLrxaGt1occQagQNFNNOqRt1LFuehEnHHzB8Z6cRgIxRU1TBaiIsUiCdA+gy5PL7Y1IX31DNKkRmxtXjQ==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", - "content-type": "^2.0.0", + "content-type": "^2.1.0", "debug": "^4.4.3", "http-errors": "^2.0.1", - "iconv-lite": "^0.7.2", + "iconv-lite": "^0.7.3", "on-finished": "^2.4.1", - "qs": "^6.15.2", + "qs": "^6.16.1", "raw-body": "^3.0.2", "type-is": "^2.1.0" }, @@ -3202,9 +3202,9 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", - "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", + "version": "6.17.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.17.1.tgz", + "integrity": "sha512-jd3COkaKVgGUW+ZHyEHCG9bH7RoaaiWuMgzsIBjUMVjLAaWGWpoUAVwljVvBHxRu/2qEHnadLGZrkutYUBPQJA==", "license": "BSD-3-Clause", "dependencies": { "es-define-property": "^1.0.1",