From b93d4c92c07487cfee7e6bc3e129dbf6b3d4967a Mon Sep 17 00:00:00 2001 From: Chris Kehayias Date: Tue, 29 Sep 2026 18:30:50 -0400 Subject: [PATCH 1/2] chore(deps): remove unused dependencies and the Tailwind v3 config - Remove @types/js-cookie, @types/react-syntax-highlighter, @tailwindcss/typography and autoprefixer: nothing imports them, and PostCSS uses only @tailwindcss/postcss. - Move tsx to devDependencies (only the setup/codegen scripts use it). - Delete tailwind.config.js: Tailwind v4 is configured CSS-first in src/app/globals.css; components.json now sets tailwind.config to "" as shadcn expects for v4. - Relocked with npm run deps:relock; deps:verify clean. Co-Authored-By: Claude Opus 5.5 (1M context) --- .claude/commands/audit-deps.md | 2 +- README.md | 1 - components.json | 4 +- next-env.d.ts | 4 +- package-lock.json | 129 +-------------------------------- package.json | 6 +- tailwind.config.js | 12 --- 7 files changed, 9 insertions(+), 149 deletions(-) delete mode 100644 tailwind.config.js diff --git a/.claude/commands/audit-deps.md b/.claude/commands/audit-deps.md index 876c55a1..c9e3deed 100644 --- a/.claude/commands/audit-deps.md +++ b/.claude/commands/audit-deps.md @@ -299,7 +299,7 @@ Lower security risk, watch for breaking majors: Dev/build-time only — real but lower urgency, often Windows-specific: - **vitest**, **@vitest/coverage-v8**, **@vitejs/plugin-react**, **esbuild** (transitive), **tsx**, **jsdom**, **eslint** / **eslint-config-next**, **typescript**, **postcss**, - **autoprefixer**, **@inquirer/prompts**, **chalk**, **@types/\***. + **@inquirer/prompts**, **chalk**, **@types/\***. Not in this project — don't chase advisories for them: `next-auth`, `jsonwebtoken`, `bcryptjs`, Drizzle, Prisma, AWS SDK, express. diff --git a/README.md b/README.md index 1756840d..2d489621 100644 --- a/README.md +++ b/README.md @@ -526,7 +526,6 @@ MPNext/ ├── components.json # shadcn/ui configuration ├── next.config.ts # Next.js configuration ├── postcss.config.mjs # PostCSS (Tailwind v4 plugin) -├── tailwind.config.js # Tailwind CSS configuration ├── tsconfig.json # TypeScript configuration └── package.json # Dependencies and scripts ``` diff --git a/components.json b/components.json index f0c9ff6f..234cfeb2 100644 --- a/components.json +++ b/components.json @@ -4,7 +4,7 @@ "rsc": true, "tsx": true, "tailwind": { - "config": "tailwind.config.js", + "config": "", "css": "src/app/globals.css", "baseColor": "slate", "cssVariables": true, @@ -18,4 +18,4 @@ "hooks": "@/hooks" }, "iconLibrary": "lucide" -} \ No newline at end of file +} diff --git a/next-env.d.ts b/next-env.d.ts index a419cbe4..ce4e94a6 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,7 +1,7 @@ /// /// -import "./.next/dev/types/routes.d.ts"; -import "./.next/dev/types/root-params.d.ts"; +import "./.next/types/routes.d.ts"; +import "./.next/types/root-params.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/package-lock.json b/package-lock.json index 9af794c3..59ac1cb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,6 @@ "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tooltip": "^1.2.8", - "@types/js-cookie": "^3.0.6", "better-auth": "^1.7.4", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", @@ -34,30 +33,27 @@ "react-hook-form": "^7.71.1", "server-only": "^0.0.1", "tailwind-merge": "^3.5.0", - "tsx": "^4.22.1", "vaul": "^1.1.2", "zod": "^4.3.6" }, "devDependencies": { "@inquirer/prompts": "^8.3.2", "@tailwindcss/postcss": "^4.2.0", - "@tailwindcss/typography": "^0.5.19", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.2", "@types/node": "^24.13.3", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", - "@types/react-syntax-highlighter": "^15.5.13", "@vitejs/plugin-react": "^6.0.2", "@vitest/coverage-v8": "^4.1.0", - "autoprefixer": "^10.4.24", "chalk": "^6.0.0", "eslint": "^9.39.2", "eslint-config-next": "^16.3.7", "jsdom": "^30.0.1", "postcss": "^8.5.8", "tailwindcss": "^4.2.0", + "tsx": "^4.22.1", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", "vitest": "^4.1.0" @@ -4288,19 +4284,6 @@ "tailwindcss": "4.3.3" } }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.20.tgz", - "integrity": "sha512-hwbzQuNUfcPvbegQFatVPl/MY/tcM9KLl963hQ5laJKPh81TEZ1+dNG9PirGvcaDBkp+BCshExAyKVPW91dozw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >=4.0.0 || insiders" - } - }, "node_modules/@testing-library/dom": { "version": "10.4.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", @@ -4428,12 +4411,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/@types/js-cookie": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", - "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", - "license": "MIT" - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -4478,16 +4455,6 @@ "@types/react": "^19.3.0" } }, - "node_modules/@types/react-syntax-highlighter": { - "version": "15.5.13", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.13.tgz", - "integrity": "sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.70.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.70.0.tgz", @@ -5592,43 +5559,6 @@ "node": ">= 0.4" } }, - "node_modules/autoprefixer": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.6.0.tgz", - "integrity": "sha512-A26d6qs9kqGgkmImIXMYvXTzqb4Qv7AVgpY1NXzr9Y659J8qHHnLOO/zE8ewIGFMprOolAoRAQYDgNryXIJKBw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.28.9", - "caniuse-lite": "^1.0.30001810", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -6103,19 +6033,6 @@ "dev": true, "license": "MIT" }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -6611,6 +6528,7 @@ "version": "0.28.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", + "devOptional": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -7333,20 +7251,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -9465,27 +9369,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10659,6 +10542,7 @@ "version": "4.23.13", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.13.tgz", "integrity": "sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==", + "devOptional": true, "license": "MIT", "dependencies": { "esbuild": "~0.28.0" @@ -10970,13 +10854,6 @@ } } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, "node_modules/vaul": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vaul/-/vaul-1.1.2.tgz", diff --git a/package.json b/package.json index 10d87047..3a9baefd 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tooltip": "^1.2.8", - "@types/js-cookie": "^3.0.6", "better-auth": "^1.7.4", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", @@ -59,30 +58,27 @@ "react-hook-form": "^7.71.1", "server-only": "^0.0.1", "tailwind-merge": "^3.5.0", - "tsx": "^4.22.1", "vaul": "^1.1.2", "zod": "^4.3.6" }, "devDependencies": { "@inquirer/prompts": "^8.3.2", "@tailwindcss/postcss": "^4.2.0", - "@tailwindcss/typography": "^0.5.19", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.2", "@types/node": "^24.13.3", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", - "@types/react-syntax-highlighter": "^15.5.13", "@vitejs/plugin-react": "^6.0.2", "@vitest/coverage-v8": "^4.1.0", - "autoprefixer": "^10.4.24", "chalk": "^6.0.0", "eslint": "^9.39.2", "eslint-config-next": "^16.3.7", "jsdom": "^30.0.1", "postcss": "^8.5.8", "tailwindcss": "^4.2.0", + "tsx": "^4.22.1", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", "vitest": "^4.1.0" diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index ce03b63c..00000000 --- a/tailwind.config.js +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: [ - './src/pages/**/*.{js,ts,jsx,tsx,mdx}', - './src/components/**/*.{js,ts,jsx,tsx,mdx}', - './src/app/**/*.{js,ts,jsx,tsx,mdx}', - ], - theme: { - extend: {}, - }, - plugins: [], -} \ No newline at end of file From 213b76b61cd6e34561e141e40182c82c993e335f Mon Sep 17 00:00:00 2001 From: Chris Kehayias Date: Tue, 29 Sep 2026 18:31:00 -0400 Subject: [PATCH 2/2] chore: restore next-env.d.ts (local build artifact) Co-Authored-By: Claude Opus 5.5 (1M context) --- next-env.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/next-env.d.ts b/next-env.d.ts index ce4e94a6..a419cbe4 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,7 +1,7 @@ /// /// -import "./.next/types/routes.d.ts"; -import "./.next/types/root-params.d.ts"; +import "./.next/dev/types/routes.d.ts"; +import "./.next/dev/types/root-params.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.