@fphgov/typescript-eslint
v1.6.1
Published
Egyedi ESLint konfiguráció TypeScript, Next.js és NestJS projektekhez.
Readme
@fphgov/typescript-eslint 🧩
Ez a csomag a @fphgov szervezet által összeállított alapértelmezett ESLint szabálykészletet tartalmazza TypeScript, Next.js és NestJS projektekhez. Célja egységes kódkonvenciók biztosítása, egyszerű integráció mellett.
📦 Telepítés
Telepítsd a csomagot fejlesztési függőségként:
npm install --save-dev @fphgov/typescript-eslint⚙️ Használat
A konfiguráció használatához hozz létre egy eslint.config.mjs fájlt a projekted gyökerében az alábbi tartalommal:
import fphgovConfig from '@fphgov/typescript-eslint';
export default [
...fphgovConfig,
];Ez a konfiguráció támogatja az ESLint flat config struktúrát, és automatikusan alkalmazza a szervezet által ajánlott szabályokat.
� Next.js használat
Next.js projekthez kombináld az alapkonfigurációt a Next.js exporttal:
import baseConfig from '@fphgov/typescript-eslint';
import nextjsConfig from '@fphgov/typescript-eslint/nextjs';
export default [
...baseConfig,
...nextjsConfig,
];🏗️ NestJS használat
NestJS projekthez kombináld az alapkonfigurációt a NestJS exporttal:
import baseConfig from '@fphgov/typescript-eslint';
import nestjsConfig from '@fphgov/typescript-eslint/nestjs';
export default [
...baseConfig,
...(await nestjsConfig),
];�🛠️ Szabályok testreszabása
Az eslint.config.mjs fájlban lehetőséged van tetszőleges szabály felülírására vagy kiegészítésére. Például:
import fphgovConfig from '@fphgov/typescript-eslint';
export default [
...fphgovConfig,
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'no-console': 'warn',
},
},
];
📋 Követelmények
- Node.js 16 vagy újabb
- ESLint 9 vagy újabb
- TypeScript projekt
🔧 Példa a package.json beállításra
{
"name": "my-typescript-project",
"version": "1.0.0",
"type": "module",
"scripts": {
"lint": "eslint ./src/**/*.ts",
"lint:fix": "eslint ./src/**/*.ts --fix"
},
"devDependencies": {
"@fphgov/typescript-eslint": "^1.0.0",
"eslint": "^9.0.0",
"eslint-config-next": "^16.0.0",
"typescript": "^5.0.0"
}
}🧱 Példa a tsconfig.json beállításra
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "Node",
"lib": ["ES2020", "DOM"],
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true,
"outDir": "./dist",
"rootDir": "src",
"baseUrl": "./"
},
"include": [
"src"
],
"exclude": [
"node_modules",
"data",
"dist"
]
}