disallow-stylelint-relative-extends-paths
Disallow relative-path entries in top-level Stylelint extends declarations.
Targeted pattern scopeโ
This rule targets Stylelint config modules such as stylelint.config.ts, stylelint.config.mjs, and .stylelintrc.js.
It focuses on top-level exported config objects, including configs wrapped in defineConfig(...).
What this rule reportsโ
Reports extends entries that start with ./, ../, .\\, or ..\\.
Why this rule existsโ
Relative path references in shared configs are fragile across package boundaries and monorepos. Package-based identifiers are more portable and predictable.
โ Incorrectโ
export default {
extends: ["../shared/stylelint.cjs"],
rules: {},
};
โ Correctโ
export default {
extends: ["stylelint-config-standard"],
rules: {},
};
Behavior and migration notesโ
This rule reports relative-path entries and does not auto-fix because replacement identifiers are repository-specific.
ESLint flat config exampleโ
import stylelint2 from "eslint-plugin-stylelint-2";
export default [stylelint2.configs.configuration];
When not to use itโ
Do not use this rule if your config architecture intentionally relies on relative extends references.
Package documentationโ
Stylelint package documentation:
Rule catalog ID: R027