Menu

1 / 2

eslint-plugin-boundaries vs Steiger: Which One Should You Use for FSD?

DEV Community: frontend·Aleksandra Dudkina·about 8 hours ago
#HThvBa12
#devtofrontend#devto#dev#eslint#steiger
Reading 0:00
15s threshold

Recently, I wrote about using eslint-plugin-boundaries to enforce Feature-Sliced Design architecture in a React project.

The idea is simple: instead of relying on developers to remember which layers can import from which, let ESLint check it automatically.

But if you look into FSD tooling, I will get coming across another option: Steiger .

It's specifically designed for checking Feature-Sliced Design. So naturally, you might wonder:

Am I using the wrong tool? Should I replace eslint-plugin-boundaries with Steiger?

After comparing them, I don't think the answer is that simple.

What do they have in common?

Both tools can help prevent architectural violations.

For example, in FSD, a feature can depend on an entity, but an entity shouldn't depend on a feature.

// ✅ Allowed // Features/Profile/ui/Profile.tsx

import { UserAvatar } from " @/Entities/User " ;

Enter fullscreen mode

Exit fullscreen mode

// ❌ Forbidden // Entities/User/ui/UserCard.tsx

import { EditProfile } from " @/Features/EditProfile "…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.