Skip to content

Commit ff0341c

Browse files
committed
Ask for author in new-rule tool
1 parent abcb642 commit ff0341c

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

docs/developer-guide/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Please include as much detail as possible to help us properly address your issue
1313
In order to add a new rule or a rule change, you should:
1414

1515
- Create issue on GitHub with description of proposed rule
16-
- Generate a new rule using the `npm run new -- [rule-name]` command
16+
- Generate a new rule using the `npm run new <rule name> <author name>` command
1717
- Write test scenarios & implement logic
1818
- Describe the rule in the generated `docs` file
1919
- Make sure all tests are passing

tools/new-rule.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@ const cp = require('child_process')
44
const logger = console
55

66
// main
7-
;((ruleId) => {
8-
if (ruleId == null) {
9-
logger.error('Usage: npm run new <RuleID>')
7+
;((ruleName, authorName) => {
8+
if (!ruleName || !authorName) {
9+
logger.error('Usage: npm run new <rule name> <author name>')
1010
process.exitCode = 1
1111
return
1212
}
13-
if (!/^[\w-]+$/u.test(ruleId)) {
14-
logger.error("Invalid RuleID '%s'.", ruleId)
13+
if (!/^[\w-]+$/u.test(ruleName)) {
14+
logger.error("Invalid rule name '%s'.", ruleName)
1515
process.exitCode = 1
1616
return
1717
}
1818

19-
const ruleFile = path.resolve(__dirname, `../lib/rules/${ruleId}.js`)
20-
const testFile = path.resolve(__dirname, `../tests/lib/rules/${ruleId}.js`)
21-
const docFile = path.resolve(__dirname, `../docs/rules/${ruleId}.md`)
19+
const ruleFile = path.resolve(__dirname, `../lib/rules/${ruleName}.js`)
20+
const testFile = path.resolve(__dirname, `../tests/lib/rules/${ruleName}.js`)
21+
const docFile = path.resolve(__dirname, `../docs/rules/${ruleName}.md`)
2222

2323
fs.writeFileSync(
2424
ruleFile,
2525
`/**
26-
* @author *****your name*****
26+
* @author ${authorName}
2727
* See LICENSE file in root directory for full license.
2828
*/
2929
'use strict'
@@ -72,13 +72,13 @@ module.exports = {
7272
fs.writeFileSync(
7373
testFile,
7474
`/**
75-
* @author *****your name*****
75+
* @author ${authorName}
7676
* See LICENSE file in root directory for full license.
7777
*/
7878
'use strict'
7979
8080
const RuleTester = require('eslint').RuleTester
81-
const rule = require('../../../lib/rules/${ruleId}')
81+
const rule = require('../../../lib/rules/${ruleName}')
8282
8383
const tester = new RuleTester({
8484
parser: require.resolve('vue-eslint-parser'),
@@ -88,7 +88,7 @@ const tester = new RuleTester({
8888
}
8989
})
9090
91-
tester.run('${ruleId}', rule, {
91+
tester.run('${ruleName}', rule, {
9292
valid: [
9393
{
9494
filename: 'test.vue',
@@ -124,10 +124,10 @@ tester.run('${ruleId}', rule, {
124124
`---
125125
pageClass: rule-details
126126
sidebarDepth: 0
127-
title: vue/${ruleId}
127+
title: vue/${ruleName}
128128
description: xxx
129129
---
130-
# vue/${ruleId}
130+
# vue/${ruleName}
131131
132132
> xxx
133133
@@ -137,7 +137,7 @@ description: xxx
137137
138138
This rule ....
139139
140-
<eslint-code-block :rules="{'vue/${ruleId}': ['error']}">
140+
<eslint-code-block :rules="{'vue/${ruleName}': ['error']}">
141141
142142
\`\`\`vue
143143
<template>
@@ -157,4 +157,4 @@ Nothing.
157157
cp.execSync(`code "${ruleFile}"`)
158158
cp.execSync(`code "${testFile}"`)
159159
cp.execSync(`code "${docFile}"`)
160-
})(process.argv[2])
160+
})(process.argv[2], process.argv[3])

0 commit comments

Comments
 (0)