Skip to content
This repository was archived by the owner on Mar 7, 2025. It is now read-only.

Commit 756f3ba

Browse files
committed
Pass exact plugin name
1 parent 8ba5294 commit 756f3ba

File tree

3 files changed

+22
-17
lines changed

3 files changed

+22
-17
lines changed

scripts/generate-files.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import type { Options } from 'prettier';
1111
import { format } from 'prettier';
1212

1313
interface Plugin {
14+
name: string;
1415
rules: Record<string, Rule.RuleModule>;
1516
}
1617

@@ -28,9 +29,11 @@ const PRETTIER_OPTIONS: Options = {
2829

2930
const generationMap: Record<string, Plugin> = {
3031
jsdoc: {
32+
name: 'JSDoc',
3133
rules: (eslintPluginJSDoc as Plugin).rules
3234
},
3335
vue: {
36+
name: 'Vue',
3437
rules: (eslintPluginVue as Plugin).rules
3538
}
3639
};
@@ -39,14 +42,14 @@ const generationMap: Record<string, Plugin> = {
3942
const rulesDir: string = path.resolve(__dirname, '../src/rules');
4043

4144
for (const pluginName in generationMap) {
42-
const { rules } = generationMap[pluginName]!;
45+
const { rules, name } = generationMap[pluginName]!;
4346

4447
const ruleProviderDir: string = path.resolve(rulesDir, pluginName);
4548

4649
fs.mkdirSync(ruleProviderDir, { mode: 0o755, recursive: true });
4750

48-
Object.entries(rules).forEach(([name, { meta }]) => {
49-
const rulePath: string = path.resolve(ruleProviderDir, `${name}.d.ts`);
51+
Object.entries(rules).forEach(([ruleName, { meta }]) => {
52+
const rulePath: string = path.resolve(ruleProviderDir, `${ruleName}.d.ts`);
5053
let ruleContent: string = "import type { RuleConfig } from '../rule-config';";
5154

5255
const schema: JSONSchema4 | JSONSchema4[] | undefined = meta?.schema;
@@ -58,12 +61,12 @@ for (const pluginName in generationMap) {
5861
/**
5962
* Option.
6063
*/
61-
export type ${pascalCase(name)}Option = {`;
64+
export type ${pascalCase(ruleName)}Option = {`;
6265

6366
Object.entries(mainSchema.properties).forEach(([propertyName, propertyDefinition]) => {
6467
ruleContent += `
6568
/**
66-
* @see [${name}](${meta?.docs?.url})
69+
* @see [${ruleName}](${meta?.docs?.url})
6770
*/
6871
'${propertyName}'?: any;\n`;
6972
});
@@ -73,30 +76,32 @@ export type ${pascalCase(name)}Option = {`;
7376
/**
7477
* Options.
7578
*/
76-
export type ${pascalCase(name)}Options = [${pascalCase(name)}Option?];`;
79+
export type ${pascalCase(ruleName)}Options = [${pascalCase(ruleName)}Option?];`;
7780
}
7881

7982
ruleContent += `
8083
8184
/**
8285
* ${meta?.docs?.description}
8386
*
84-
* @see [${name}](${meta?.docs?.url})
87+
* @see [${ruleName}](${meta?.docs?.url})
8588
*/
86-
export type ${pascalCase(name)}RuleConfig = RuleConfig<${hasOptionProperties ? `${pascalCase(name)}Options` : '[]'}>;
89+
export type ${pascalCase(ruleName)}RuleConfig = RuleConfig<${
90+
hasOptionProperties ? `${pascalCase(ruleName)}Options` : '[]'
91+
}>;
8792
8893
/**
8994
* ${meta?.docs?.description}
9095
*
91-
* @see [${name}](${meta?.docs?.url})
96+
* @see [${ruleName}](${meta?.docs?.url})
9297
*/
93-
export interface ${pascalCase(name)}Rule {
98+
export interface ${pascalCase(ruleName)}Rule {
9499
/**
95100
* ${meta?.docs?.description}
96101
*
97-
* @see [${name}](${meta?.docs?.url})
102+
* @see [${ruleName}](${meta?.docs?.url})
98103
*/
99-
'${camelCase(pluginName)}/${name}': ${pascalCase(name)}RuleConfig;
104+
'${camelCase(pluginName)}/${ruleName}': ${pascalCase(ruleName)}RuleConfig;
100105
}
101106
`;
102107
ruleContent = format(ruleContent, PRETTIER_OPTIONS);
@@ -112,9 +117,9 @@ export type ${pascalCase(name)}Options = [${pascalCase(name)}Option?];`;
112117
indexContent += `
113118
114119
/**
115-
* All ${camelCase(pluginName)} rules.
120+
* All ${name} rules.
116121
*/
117-
export type ${pascalCase(pluginName)}Rules = ${Object.keys(rules)
122+
export type ${name}Rules = ${Object.keys(rules)
118123
.map((name) => `${pascalCase(name)}Rule`)
119124
.join(' & ')}
120125
`;

src/rules/jsdoc/index.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ import type { TagLinesRule } from './tag-lines';
4848
import type { ValidTypesRule } from './valid-types';
4949

5050
/**
51-
* All jsdoc rules.
51+
* All JSDoc rules.
5252
*/
53-
export type JsdocRules = CheckAccessRule &
53+
export type JSDocRules = CheckAccessRule &
5454
CheckAlignmentRule &
5555
CheckExamplesRule &
5656
CheckIndentationRule &

src/rules/vue/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ import type { ValidVSlotRule } from './valid-v-slot';
191191
import type { ValidVTextRule } from './valid-v-text';
192192

193193
/**
194-
* All vue rules.
194+
* All Vue rules.
195195
*/
196196
export type VueRules = ArrayBracketNewlineRule &
197197
ArrayBracketSpacingRule &

0 commit comments

Comments
 (0)