Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Temporary workaround for Next.js 16 + NextAuth v4 peer dependency conflict
#
# Next.js 16 was released on Oct 21, 2025 (very recent)
# NextAuth v4.24.11 peer deps only allow Next.js ^12.2.5 || ^13 || ^14 || ^15
# Auth.js v5 beta only allows Next.js ^14 || ^15
#
# NextAuth v4 is functionally compatible with Next.js 16 (verified by successful builds)
# but npm blocks installation due to conservative peer dependency ranges.
#
# This flag tells npm to ignore peer dependency mismatches and install anyway.
#
# Exit strategy: Remove this file when NextAuth/Auth.js adds official Next.js 16 support
# Expected: NextAuth v4.25+ or Auth.js v5 stable release
#
# Risk: Unsupported configuration, but proven to work in our codebase
# Monitor: https://github.com/nextauthjs/next-auth/releases

legacy-peer-deps=true
21 changes: 10 additions & 11 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
import { dirname } from "path";
import { fileURLToPath } from "url";
import { FlatCompat } from "@eslint/eslintrc";

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const compat = new FlatCompat({
baseDirectory: __dirname,
});
import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
import nextTypescript from "eslint-config-next/typescript";

const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
...nextCoreWebVitals,
...nextTypescript,
{
ignores: [
"node_modules/**",
Expand All @@ -20,6 +13,12 @@ const eslintConfig = [
"next-env.d.ts",
],
},
{
files: ["scripts/**/*.{js,cjs}"],
rules: {
"@typescript-eslint/no-require-imports": "off",
},
},
];

export default eslintConfig;
Loading