๐ฐ๐ท ํ๊ตญ์ด README ๋ณด๊ธฐ | ๐ Try Online Playground
ESLint rules for NestJS route management - ensure proper route ordering and prevent duplicates.
npm install --save-dev eslint-plugin-nestjs-route
ESLint v9+ (Flat Config):
// eslint.config.js
const nestjsRoute = require("eslint-plugin-nestjs-route");
module.exports = [
{
files: ["**/*.ts"],
plugins: {
"nestjs-route": nestjsRoute,
},
rules: {
"nestjs-route/order": "error",
"nestjs-route/no-duplicates": "error",
},
},
];
ESLint v8 and below (Legacy Config):
{
"plugins": ["nestjs-route"],
"rules": {
"nestjs-route/order": "error",
"nestjs-route/no-duplicates": "error"
}
}
Ensures static routes are placed before parameterized routes in NestJS controllers.
- Enforces that static routes (e.g., 'me') are placed before parameterized routes (e.g., ':id') in NestJS controllers.
- Prevents unexpected routing bugs caused by route order.
- Auto-fixable: Routes can be automatically reordered using
--fix
option.
Prevents duplicate route definitions within the same controller.
- Detects when the same HTTP method and path combination is defined multiple times.
- Helps avoid routing conflicts and unexpected behavior.
@Get
,@Post
,@Put
,@Delete
,@Patch
,@All
,@Options
,@Head
The nestjs-route/order
rule supports automatic fixing. Use ESLint with the --fix
flag to automatically reorder routes:
npx eslint --fix your-file.ts
// Correct
@Get('me')
@Get(':id')
// Incorrect (will be auto-fixed)
@Get(':id')
@Get('me') // Error: static route should be placed before parameter route
// Correct
@Get('users')
@Post('users') // Different HTTP method - OK
// Incorrect
@Get('users')
@Get('users') // Error: duplicate route
locale
: Set the error message language (default: 'en')"en"
: English"ko"
: Korean
Example:
"rules": {
"nestjs-route/order": ["error", { "locale": "ko" }],
"nestjs-route/no-duplicates": ["error", { "locale": "ko" }]
}
- English: Static route ('me') should be placed before parameter route (':id').
- Korean: ๊ณ ์ ๋ผ์ฐํธ('me')๋ ํ๋ผ๋ฏธํฐ ๋ผ์ฐํธ(':id')๋ณด๋ค ์์ ์์นํด์ผ ํฉ๋๋ค.
- English: Duplicate route Get('users') found. Each route should be unique within a controller.
- Korean: ์ค๋ณต๋ ๋ผ์ฐํธ Get('users')๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์ปจํธ๋กค๋ฌ ๋ด์์ ๊ฐ ๋ผ์ฐํธ๋ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
Pull requests and issues are welcome!
MIT