Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e64a4cb

Browse files
allow uncategorized rules
1 parent 18a3d8a commit e64a4cb

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

‎tools/update-rules.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,16 @@ const categories = [
4444
!entry[1].meta.deprecated &&
4545
entry[1].meta.docs.category === category
4646
)
47-
)
47+
)
4848

4949
// Throw if an invalid category has been used
5050
for (const entry of rules) {
5151
const category = entry[1].meta.docs.category
5252
if (!categories.includes(category)) {
53-
throw new Error(`Rule category ${category} from ${entry[0]} is invalid`)
53+
categories.push('uncategorized')
54+
if (category) {
55+
throw new Error(`Rule category ${category} from ${entry[0]} is invalid`)
56+
}
5457
}
5558
}
5659

@@ -59,7 +62,8 @@ const categoryTitles = {
5962
essential: 'Priority A: Essential (Error Prevention)',
6063
'strongly-recommended': 'Priority B: Strongly Recommended (Improving Readability)',
6164
recommended: 'Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)',
62-
'use-with-caution': 'Priority D: Use with Caution (Potentially Dangerous Patterns)'
65+
'use-with-caution': 'Priority D: Use with Caution (Potentially Dangerous Patterns)',
66+
uncategorized: 'Uncategorized'
6367
}
6468

6569
// Throw if no title is defined for a category
@@ -71,18 +75,29 @@ for (const category of categories) {
7175

7276
const rulesTableContent = categories.map(category => `
7377
### ${categoryTitles[category]}
74-
78+
${
79+
category === 'uncategorized' ? '' : `
7580
Enforce all the rules in this category, as well as all higher priority rules, with:
7681
7782
\`\`\` json
7883
"extends": "plugin:vue/${category}"
7984
\`\`\`
80-
85+
`
86+
}
8187
| | Rule ID | Description |
8288
|:---|:--------|:------------|
8389
${
8490
rules
85-
.filter(entry => entry[1].meta.docs.category === category && !entry[1].meta.deprecated)
91+
.filter(entry =>
92+
(
93+
category === 'uncategorized' &&
94+
!entry[1].meta.docs.category
95+
) ||
96+
(
97+
entry[1].meta.docs.category === category &&
98+
!entry[1].meta.deprecated
99+
)
100+
)
86101
.map(entry => {
87102
const name = entry[0]
88103
const meta = entry[1].meta
@@ -112,10 +127,11 @@ ${
112127
return `| ${link} | ${replacedBy} |`
113128
})
114129
.join('\n')
115-
}
130+
}
116131
`
117132

118133
categories.forEach((category, categoryIndex) => {
134+
if (category === 'uncategorized') return
119135
createRulesFile(category, categories.slice(0, categoryIndex + 1))
120136
})
121137

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /