Skip to content

Commit a582704

Browse files
refactor: update backend node version and refine typescript rules
1 parent 96a5d73 commit a582704

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

src/configs/backend.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ export function createBackendConfig(): FlatConfigArray {
1313
languageOptions: {
1414
globals: {
1515
...globals.node,
16+
...globals.es2021,
1617
},
1718
},
1819
rules: {
1920
// Console logging rules for backend
2021
'no-console': ['error', { allow: ['warn', 'error', 'info'] }],
2122

22-
// Node.js specific rules
23-
'n/no-unsupported-features/node-builtins': 'error',
23+
// Node.js specific rules (targeting Node 20+)
24+
'n/no-unsupported-features/node-builtins': ['error', { version: '>=20.0.0' }],
2425
'n/no-unsupported-features/es-syntax': 'off', // TypeScript handles this
2526
'n/no-missing-import': 'off', // TypeScript handles this
2627
'n/no-unpublished-import': 'off', // Often triggers false positives

src/configs/base.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ export function createBaseConfig(options: InstantConfig = {}): FlatConfigArray {
5353

5454
// TypeScript-specific rules
5555
{
56+
files: ['**/*.{ts,tsx}'],
5657
rules: {
58+
'no-undef': 'off', // TypeScript handles undefined variable checking
5759
'@typescript-eslint/consistent-type-imports': [
5860
'error',
5961
{ prefer: 'type-imports', fixStyle: 'inline-type-imports' },
@@ -66,6 +68,14 @@ export function createBaseConfig(options: InstantConfig = {}): FlatConfigArray {
6668
varsIgnorePattern: '_',
6769
},
6870
],
71+
'@typescript-eslint/no-unused-expressions': [
72+
'error',
73+
{
74+
allowShortCircuit: true,
75+
allowTernary: true,
76+
allowTaggedTemplates: true,
77+
},
78+
],
6979
'@typescript-eslint/no-explicit-any': 'warn',
7080
'@typescript-eslint/no-empty-object-type': 'off',
7181
'@typescript-eslint/no-namespace': 'off',

src/configs/react.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ export function createReactConfig(options: InstantConfig = {}): FlatConfigArray
1111
const enableA11y = features.a11y !== false; // Default true for React
1212

1313
const configs: FlatConfigArray = [
14+
// Browser globals for all files in React projects
15+
{
16+
files: ['**/*.{js,jsx,ts,tsx}'],
17+
languageOptions: {
18+
globals: {
19+
...globals.browser,
20+
...globals.es2021,
21+
},
22+
},
23+
},
24+
1425
// React plugin recommended config
1526
{
1627
files: ['**/*.{jsx,tsx}'],
@@ -23,9 +34,6 @@ export function createReactConfig(options: InstantConfig = {}): FlatConfigArray
2334
jsx: true,
2435
},
2536
},
26-
globals: {
27-
...globals.browser,
28-
},
2937
},
3038
settings: {
3139
react: {
@@ -46,7 +54,7 @@ export function createReactConfig(options: InstantConfig = {}): FlatConfigArray
4654
},
4755
rules: {
4856
...reactHooks.configs.recommended.rules,
49-
'react-hooks/exhaustive-deps': 'warn',
57+
'react-hooks/exhaustive-deps': 'off',
5058
},
5159
},
5260

0 commit comments

Comments
 (0)