diff --git a/README.md b/README.md
index 4843f46..291b828 100644
--- a/README.md
+++ b/README.md
@@ -162,22 +162,22 @@ This plugin does not support MDX files.
**Configurations**: csf, csf-strict, addon-interactions, recommended
-| Name | Description | 🔧 | Included in configurations |
-| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | --- | ----------------------------------------------------------------------------------------------------------------- |
-| [`storybook/await-interactions`](./docs/rules/await-interactions.md) | Interactions should be awaited | 🔧 |
- addon-interactions
- flat/addon-interactions
- recommended
- flat/recommended
|
-| [`storybook/context-in-play-function`](./docs/rules/context-in-play-function.md) | Pass a context when invoking play function of another story | | - recommended
- flat/recommended
- addon-interactions
- flat/addon-interactions
|
-| [`storybook/csf-component`](./docs/rules/csf-component.md) | The component property should be set | | |
-| [`storybook/default-exports`](./docs/rules/default-exports.md) | Story files should have a default export | 🔧 | - csf
- flat/csf
- recommended
- flat/recommended
|
-| [`storybook/hierarchy-separator`](./docs/rules/hierarchy-separator.md) | Deprecated hierarchy separator in title property | 🔧 | - csf
- flat/csf
- recommended
- flat/recommended
|
-| [`storybook/meta-inline-properties`](./docs/rules/meta-inline-properties.md) | Meta should only have inline properties | | N/A |
-| [`storybook/no-redundant-story-name`](./docs/rules/no-redundant-story-name.md) | A story should not have a redundant name property | 🔧 | - csf
- flat/csf
- recommended
- flat/recommended
|
-| [`storybook/no-stories-of`](./docs/rules/no-stories-of.md) | storiesOf is deprecated and should not be used | | - csf-strict
- flat/csf-strict
|
-| [`storybook/no-title-property-in-meta`](./docs/rules/no-title-property-in-meta.md) | Do not define a title in meta | 🔧 | - csf-strict
- flat/csf-strict
|
-| [`storybook/no-uninstalled-addons`](./docs/rules/no-uninstalled-addons.md) | This rule identifies storybook addons that are invalid because they are either not installed or contain a typo in their name. | | - recommended
- flat/recommended
|
-| [`storybook/prefer-pascal-case`](./docs/rules/prefer-pascal-case.md) | Stories should use PascalCase | 🔧 | - recommended
- flat/recommended
|
-| [`storybook/story-exports`](./docs/rules/story-exports.md) | A story file must contain at least one story export | | - recommended
- flat/recommended
- csf
- flat/csf
|
-| [`storybook/use-storybook-expect`](./docs/rules/use-storybook-expect.md) | Use expect from `@storybook/test` or `@storybook/jest` | 🔧 | - addon-interactions
- flat/addon-interactions
- recommended
- flat/recommended
|
-| [`storybook/use-storybook-testing-library`](./docs/rules/use-storybook-testing-library.md) | Do not use testing-library directly on stories | 🔧 | - addon-interactions
- flat/addon-interactions
- recommended
- flat/recommended
|
+| Name | Description | 🔧 | Included in configurations |
+| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | --- | ------------------------------------------------------------------------------------------------------------------------------ |
+| [`storybook/await-interactions`](./docs/rules/await-interactions.md) | Interactions should be awaited | 🔧 | - addon-interactions
- flat/addon-interactions
- recommended
- flat/recommended
|
+| [`storybook/context-in-play-function`](./docs/rules/context-in-play-function.md) | Pass a context when invoking play function of another story | | - recommended
- flat/recommended
- addon-interactions
- flat/addon-interactions
|
+| [`storybook/csf-component`](./docs/rules/csf-component.md) | The component property should be set | | - csf
- flat/csf
- csf-strict
- flat/csf-strict
|
+| [`storybook/default-exports`](./docs/rules/default-exports.md) | Story files should have a default export | 🔧 | - csf
- flat/csf
- recommended
- flat/recommended
- csf-strict
- flat/csf-strict
|
+| [`storybook/hierarchy-separator`](./docs/rules/hierarchy-separator.md) | Deprecated hierarchy separator in title property | 🔧 | - csf
- flat/csf
- recommended
- flat/recommended
- csf-strict
- flat/csf-strict
|
+| [`storybook/meta-inline-properties`](./docs/rules/meta-inline-properties.md) | Meta should only have inline properties | | N/A |
+| [`storybook/no-redundant-story-name`](./docs/rules/no-redundant-story-name.md) | A story should not have a redundant name property | 🔧 | - csf
- flat/csf
- recommended
- flat/recommended
- csf-strict
- flat/csf-strict
|
+| [`storybook/no-stories-of`](./docs/rules/no-stories-of.md) | storiesOf is deprecated and should not be used | | - csf-strict
- flat/csf-strict
|
+| [`storybook/no-title-property-in-meta`](./docs/rules/no-title-property-in-meta.md) | Do not define a title in meta | 🔧 | - csf-strict
- flat/csf-strict
|
+| [`storybook/no-uninstalled-addons`](./docs/rules/no-uninstalled-addons.md) | This rule identifies storybook addons that are invalid because they are either not installed or contain a typo in their name. | | - recommended
- flat/recommended
|
+| [`storybook/prefer-pascal-case`](./docs/rules/prefer-pascal-case.md) | Stories should use PascalCase | 🔧 | - recommended
- flat/recommended
|
+| [`storybook/story-exports`](./docs/rules/story-exports.md) | A story file must contain at least one story export | | - recommended
- flat/recommended
- csf
- flat/csf
- csf-strict
- flat/csf-strict
|
+| [`storybook/use-storybook-expect`](./docs/rules/use-storybook-expect.md) | Use expect from `@storybook/test` or `@storybook/jest` | 🔧 | - addon-interactions
- flat/addon-interactions
- recommended
- flat/recommended
|
+| [`storybook/use-storybook-testing-library`](./docs/rules/use-storybook-testing-library.md) | Do not use testing-library directly on stories | 🔧 | - addon-interactions
- flat/addon-interactions
- recommended
- flat/recommended
|
diff --git a/docs/rules/csf-component.md b/docs/rules/csf-component.md
index 2a71b7f..5878fac 100644
--- a/docs/rules/csf-component.md
+++ b/docs/rules/csf-component.md
@@ -2,7 +2,7 @@
-**Included in these configurations**:
+**Included in these configurations**: - csf
- flat/csf
- csf-strict
- flat/csf-strict
diff --git a/docs/rules/default-exports.md b/docs/rules/default-exports.md
index 7de9d6c..072618c 100644
--- a/docs/rules/default-exports.md
+++ b/docs/rules/default-exports.md
@@ -2,7 +2,7 @@
-**Included in these configurations**: - csf
- flat/csf
- recommended
- flat/recommended
+**Included in these configurations**: - csf
- flat/csf
- recommended
- flat/recommended
- csf-strict
- flat/csf-strict
diff --git a/docs/rules/hierarchy-separator.md b/docs/rules/hierarchy-separator.md
index 4d42160..94f3996 100644
--- a/docs/rules/hierarchy-separator.md
+++ b/docs/rules/hierarchy-separator.md
@@ -2,7 +2,7 @@
-**Included in these configurations**: - csf
- flat/csf
- recommended
- flat/recommended
+**Included in these configurations**: - csf
- flat/csf
- recommended
- flat/recommended
- csf-strict
- flat/csf-strict
diff --git a/docs/rules/no-redundant-story-name.md b/docs/rules/no-redundant-story-name.md
index 85e01ca..7a0f09f 100644
--- a/docs/rules/no-redundant-story-name.md
+++ b/docs/rules/no-redundant-story-name.md
@@ -2,7 +2,7 @@
-**Included in these configurations**: - csf
- flat/csf
- recommended
- flat/recommended
+**Included in these configurations**: - csf
- flat/csf
- recommended
- flat/recommended
- csf-strict
- flat/csf-strict
diff --git a/docs/rules/story-exports.md b/docs/rules/story-exports.md
index ae4f95e..3e8666a 100644
--- a/docs/rules/story-exports.md
+++ b/docs/rules/story-exports.md
@@ -2,7 +2,7 @@
-**Included in these configurations**: - recommended
- flat/recommended
- csf
- flat/csf
+**Included in these configurations**: - recommended
- flat/recommended
- csf
- flat/csf
- csf-strict
- flat/csf-strict
diff --git a/tools/update-rules-list.ts b/tools/update-rules-list.ts
index 2d3f9d6..76f0811 100644
--- a/tools/update-rules-list.ts
+++ b/tools/update-rules-list.ts
@@ -1,6 +1,7 @@
import rules from './utils/rules'
import { emojiKey, writeRulesListInReadme, updateRulesDocs } from './utils/docs'
+import { extendsCategories } from './utils/updates'
/*
This script updates the rules table in `README.md`from rule's meta data.
@@ -25,6 +26,19 @@ const rulesList: TRulesList[] = Object.entries(rules)
return ruleNameA.localeCompare(ruleNameB)
})
.map(([_, rule]) => {
+ const ruleCategories: string[] = rule.meta.docs?.categories ?? []
+ const extendedCategories: string[] = []
+
+ Object.entries(extendsCategories).map(([category, extendedCategory]) => {
+ if (
+ extendedCategory &&
+ !ruleCategories.includes(category) &&
+ ruleCategories.includes(extendedCategory)
+ ) {
+ ruleCategories.push(category)
+ }
+ })
+
return [
rule.name,
createRuleLink(rule.name),
@@ -32,8 +46,8 @@ const rulesList: TRulesList[] = Object.entries(rules)
rule.meta.fixable ? emojiKey.fixable : '',
rule.meta.docs?.excludeFromConfig
? 'N/A'
- : rule.meta.docs?.categories
- ? `${rule.meta.docs?.categories.map((c) => `- ${c}
- flat/${c}
`).join('')}
`
+ : ruleCategories
+ ? `${ruleCategories.map((c) => `- ${c}
- flat/${c}
`).join('')}
`
: '',
]
})