fix: SEO canonical URLs, LCP performance, remove unused dependencies
All checks were successful
CI / CD / test-build (push) Successful in 10m16s
CI / CD / deploy-dev (push) Successful in 1m55s
CI / CD / deploy-production (push) Has been skipped

- Remove duplicate app/projects/ route (was causing 5xx and soft 404)
- Fix nginx: redirect www.dk0.dev → dk0.dev (non-www canonical)
- Fix not-found.tsx: locale-prefixed links, remove framer-motion dependency
- Add fetchPriority='high' and will-change to Hero LCP image
- Add preconnect hints for hardcover.app and cms.dk0.dev
- Reduce background blur from 100px to 80px (LCP rendering delay)
- Remove boneyard-js (~20 KiB), replace with custom Skeleton component
- Remove react-icons (~10 KiB), replace with inline SVGs
- Conditionally render mobile menu (saves ~20 DOM nodes)
- Add /books to sitemap
- Optimize image config with explicit deviceSizes/imageSizes
This commit is contained in:
2026-04-17 09:50:31 +02:00
parent dd46bcddc7
commit 2c2c1f5d2d
22 changed files with 144 additions and 737 deletions

View File

@@ -16,12 +16,11 @@ const config: Config = {
testPathIgnorePatterns: ["/node_modules/", "/__mocks__/", "/.next/", "/e2e/"],
// Transform react-markdown and other ESM modules
transformIgnorePatterns: [
"node_modules/(?!(react-markdown|remark-.*|rehype-.*|unified|bail|is-plain-obj|trough|vfile|vfile-message|unist-.*|micromark|parse-entities|character-entities|mdast-.*|hast-.*|property-information|space-separated-tokens|comma-separated-tokens|web-namespaces|zwitch|longest-streak|ccount|boneyard-js)/)",
"node_modules/(?!(react-markdown|remark-.*|rehype-.*|unified|bail|is-plain-obj|trough|vfile|vfile-message|unist-.*|micromark|parse-entities|character-entities|mdast-.*|hast-.*|property-information|space-separated-tokens|comma-separated-tokens|web-namespaces|zwitch|longest-streak|ccount)/)",
],
// Module name mapping to fix haste collision
moduleNameMapper: {
"^@/(.*)$": "<rootDir>/$1",
"^boneyard-js/react$": "<rootDir>/__mocks__/boneyard-js/react.tsx",
},
// Exclude problematic directories from haste
modulePathIgnorePatterns: ["<rootDir>/.next/", "<rootDir>/node_modules/", "<rootDir>/e2e/"],