Skip to content
Open
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
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

10 changes: 0 additions & 10 deletions .eslintrc.js

This file was deleted.

2 changes: 1 addition & 1 deletion app/not-found.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default function NotFound() {
const currentUrl = new URL(window.location.href);
// Compare origins for exact match
refererType = referrerUrl.origin === currentUrl.origin ? 'internal' : 'external';
} catch (e) {
} catch {
// Invalid referrer URL
refererType = 'external';
}
Expand Down
2 changes: 1 addition & 1 deletion app/platform-redirect/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ export const sanitizeNext = (next: string) => {
let sanitizedNext: string;
try {
sanitizedNext = decodeURIComponent(next);
} catch (e) {
} catch {
// Return empty string if decoding fails
return '';
}
Expand Down
63 changes: 63 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
const {FlatCompat} = require('@eslint/eslintrc');
const js = require('@eslint/js');
const nextPlugin = require('@next/eslint-plugin-next');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transitive dependency required directly may break under strict resolution

Medium Severity

eslint.config.js directly requires @next/eslint-plugin-next, but this package is not a direct devDependency — it's only installed transitively through eslint-config-next. Meanwhile, eslint-config-next itself is no longer referenced anywhere in the ESLint config (the old .eslintrc.js used plugin:@next/next/recommended; the new config uses nextPlugin directly). This creates a fragile setup: if someone removes the seemingly-unused eslint-config-next from package.json, eslint.config.js will fail at require time. The globals package is similarly an unused direct dependency. Adding @next/eslint-plugin-next as a direct devDependency and removing eslint-config-next and globals would clarify the actual dependency graph.

Additional Locations (1)
Fix in Cursor Fix in Web


const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
});

module.exports = [
// Global ignores
{
ignores: [
'.babelrc.js',
'.next/**',
'node_modules/**',
'out/**',
'public/**',
],
},

// Use FlatCompat for eslint-config-sentry-docs (still in eslintrc format)
...compat.extends('sentry-docs'),

// Next.js plugin rules (use plugin directly to avoid conflicts with sentry-docs config)
{
plugins: {
'@next/next': nextPlugin,
},
rules: {
...nextPlugin.configs.recommended.rules,
},
},

// Main configuration and rule overrides
{
languageOptions: {
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
},
rules: {
'import/no-nodejs-modules': 'off',

// Disable deprecated @typescript-eslint rules from eslint-config-sentry-docs
// These were removed/renamed in @typescript-eslint v8
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-empty-interface': 'off',

// Enable the replacement rules for ban-types
// Allow empty interfaces that extend other types (used for recursive type definitions)
'@typescript-eslint/no-empty-object-type': ['error', {allowInterfaces: 'with-single-extends'}],
'@typescript-eslint/no-unsafe-function-type': 'error',
'@typescript-eslint/no-wrapper-object-types': 'error',

// Disable rules from plugins that aren't compatible with ESLint 9
// eslint-plugin-no-lookahead-lookbehind-regexp@0.3.0 has incompatible schema
'no-lookahead-lookbehind-regexp/no-lookahead-lookbehind-regexp': 'off',
},
},
];
14 changes: 9 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,13 +140,15 @@
"@types/react-dom": "18.3.1",
"@types/unist": "^3.0.3",
"@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.26.0",
"@typescript-eslint/eslint-plugin": "^8.32.1",
"@typescript-eslint/parser": "^8.32.1",
"autoprefixer": "^10.4.17",
"concurrently": "^9.1.0",
"dotenv-cli": "^7.4.1",
"eslint": "^8",
"eslint-config-next": "15.0.3",
"@next/eslint-plugin-next": "^15.3.3",
"eslint": "^9.26.0",
"eslint-config-sentry-docs": "^2.10.0",
"jest": "^29.5.0",
"jest-dom": "^4.0.0",
Expand All @@ -170,7 +172,9 @@
"flatted": "^3.4.2",
"rollup": "^4.59.0",
"fast-xml-parser": "^5.5.7",
"undici": "^6.24.0"
"undici": "^6.24.0",
"minimatch": "^9.0.0",
"eslint-plugin-react-hooks": "^7.0.1"
},
"onlyBuiltDependencies": [
"@parcel/watcher",
Expand Down
Loading
Loading