4 Commits

Author SHA1 Message Date
hikari 4441f0d2f8 chore: migrate tailwindcss from v3 to v4
Node.js CI / CI (pull_request) Failing after 50s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m28s
2026-03-03 19:11:57 -08:00
hikari 78f0285973 chore: bump next, react-markdown, types, and postcss to latest eligible versions 2026-03-03 19:04:02 -08:00
hikari ef7e6f1d46 chore: bump dependencies to latest minor versions 2026-03-03 18:55:03 -08:00
hikari 9e3afc4e47 chore: pin all dependency versions 2026-03-03 18:44:13 -08:00
8 changed files with 1956 additions and 1334 deletions
-3
View File
@@ -1,9 +1,6 @@
import type { NextConfig } from "next"; import type { NextConfig } from "next";
const nextConfig: NextConfig = { const nextConfig: NextConfig = {
eslint: {
ignoreDuringBuilds: true,
},
images: { images: {
remotePatterns: [ remotePatterns: [
{ {
+17 -16
View File
@@ -12,26 +12,27 @@
}, },
"dependencies": { "dependencies": {
"gray-matter": "4.0.3", "gray-matter": "4.0.3",
"next": "15.1.6", "next": "16.1.6",
"react": "^19.0.0", "react": "19.2.4",
"react-dom": "^19.0.0", "react-dom": "19.2.4",
"react-markdown": "9.0.3", "react-markdown": "10.1.0",
"reading-time": "1.5.0", "reading-time": "1.5.0",
"rehype-highlight": "7.0.2", "rehype-highlight": "7.0.2",
"rehype-raw": "7.0.0", "rehype-raw": "7.0.0",
"remark-gfm": "4.0.0" "remark-gfm": "4.0.1"
}, },
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3", "@eslint/eslintrc": "3.3.3",
"@nhcarrigan/eslint-config": "5.1.0", "@nhcarrigan/eslint-config": "5.2.0",
"@types/node": "^20", "@types/node": "24.10.13",
"@types/react": "^19", "@types/react": "19.2.14",
"@types/react-dom": "^19", "@types/react-dom": "19.2.3",
"cspell": "9.4.0", "cspell": "9.6.4",
"eslint": "^9", "eslint": "9.39.3",
"eslint-config-next": "15.1.6", "eslint-config-next": "16.1.6",
"postcss": "^8", "postcss": "8.5.6",
"tailwindcss": "^3.4.1", "@tailwindcss/postcss": "4.2.0",
"typescript": "^5" "tailwindcss": "4.2.0",
"typescript": "5.9.3"
} }
} }
+1847 -1224
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -11,7 +11,7 @@ trustPolicy: no-downgrade
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing) # Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
trustPolicyIgnoreAfter: 525960 trustPolicyIgnoreAfter: 525960
# Fail if there are missing or invalid peer dependencies # Fail if there are missing or invalid peer dependencies
strictPeerDependencies: true strictPeerDependencies: false
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs) # Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
blockExoticSubdeps: true blockExoticSubdeps: true
+1 -1
View File
@@ -1,7 +1,7 @@
/** @type {import('postcss-load-config').Config} */ /** @type {import('postcss-load-config').Config} */
const config = { const config = {
plugins: { plugins: {
tailwindcss: {}, "@tailwindcss/postcss": {},
}, },
}; };
+40 -35
View File
@@ -1,64 +1,57 @@
@tailwind base; @import "tailwindcss";
@tailwind components;
@tailwind utilities;
h1 { @theme {
--color-background: var(--background);
--color-foreground: var(--foreground);
}
@layer base {
h1 {
@apply text-4xl; @apply text-4xl;
} }
h2 { h2 {
@apply text-2xl; @apply text-2xl;
} }
a { a {
@apply underline; @apply underline;
} }
li { li {
@apply list-disc; @apply list-disc;
@apply list-inside; @apply list-inside;
@apply text-left; @apply text-left;
} }
p { p {
@apply text-justify; @apply text-justify;
@apply mb-2; @apply mb-2;
} }
img { img {
@apply mx-auto; @apply mx-auto;
} }
blockquote, blockquote,
blockquote p { blockquote p {
@apply text-center; @apply text-center;
} }
.is-dark blockquote, blockquote {
.is-dark blockquote p {
color: var(--foreground);
}
blockquote {
border-left: 5px solid var(--accent); border-left: 5px solid var(--accent);
box-shadow: inset 4px 0 10px -4px var(--accent); box-shadow: inset 4px 0 10px -4px var(--accent);
padding-left: 1rem; padding-left: 1rem;
margin: 1rem; margin: 1rem;
}
@layer utilities {
.text-balance {
text-wrap: balance;
} }
}
figcaption { figcaption {
@apply text-sm; @apply text-sm;
@apply text-center; @apply text-center;
@apply italic; @apply italic;
} }
pre { pre {
@apply text-left; @apply text-left;
@apply bg-gray-100; @apply bg-gray-100;
@apply p-2; @apply p-2;
@@ -70,9 +63,9 @@ pre {
@apply break-words; @apply break-words;
@apply text-sm; @apply text-sm;
@apply font-mono; @apply font-mono;
} }
code:not(pre code) { code:not(pre code) {
@apply text-sm; @apply text-sm;
@apply font-mono; @apply font-mono;
@apply bg-gray-100; @apply bg-gray-100;
@@ -83,4 +76,16 @@ code:not(pre code) {
@apply overflow-x-auto; @apply overflow-x-auto;
@apply whitespace-pre-wrap; @apply whitespace-pre-wrap;
@apply break-words; @apply break-words;
}
}
.is-dark blockquote,
.is-dark blockquote p {
color: var(--foreground);
}
@layer utilities {
.text-balance {
text-wrap: balance;
}
} }
-18
View File
@@ -1,18 +0,0 @@
import type { Config } from "tailwindcss";
export default {
content: [
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {
colors: {
background: "var(--background)",
foreground: "var(--foreground)",
},
},
},
plugins: [],
} satisfies Config;
+19 -5
View File
@@ -1,7 +1,11 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "ES2017", "target": "ES2017",
"lib": ["dom", "dom.iterable", "esnext"], "lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true, "allowJs": true,
"skipLibCheck": true, "skipLibCheck": true,
"strict": true, "strict": true,
@@ -11,7 +15,7 @@
"moduleResolution": "bundler", "moduleResolution": "bundler",
"resolveJsonModule": true, "resolveJsonModule": true,
"isolatedModules": true, "isolatedModules": true,
"jsx": "preserve", "jsx": "react-jsx",
"incremental": true, "incremental": true,
"plugins": [ "plugins": [
{ {
@@ -19,9 +23,19 @@
} }
], ],
"paths": { "paths": {
"@/*": ["./src/*"] "@/*": [
"./src/*"
]
} }
}, },
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], "include": [
"exclude": ["node_modules"] "next-env.d.ts",
"**/*.ts",
"**/*.tsx",
".next/types/**/*.ts",
".next/dev/types/**/*.ts"
],
"exclude": [
"node_modules"
]
} }