From ff0341c91d879bd9fee734b6bd52b87a0f8f429f Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Tue, 11 Oct 2022 23:14:02 +0200 Subject: [PATCH 1/3] Ask for author in `new-rule` tool --- docs/developer-guide/README.md | 2 +- tools/new-rule.js | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/developer-guide/README.md b/docs/developer-guide/README.md index c5bfcc99e..2e1bb7da9 100644 --- a/docs/developer-guide/README.md +++ b/docs/developer-guide/README.md @@ -13,7 +13,7 @@ Please include as much detail as possible to help us properly address your issue In order to add a new rule or a rule change, you should: - Create issue on GitHub with description of proposed rule -- Generate a new rule using the `npm run new -- [rule-name]` command +- Generate a new rule using the `npm run new ` command - Write test scenarios & implement logic - Describe the rule in the generated `docs` file - Make sure all tests are passing diff --git a/tools/new-rule.js b/tools/new-rule.js index 3009dfdd3..c940703f0 100644 --- a/tools/new-rule.js +++ b/tools/new-rule.js @@ -4,26 +4,26 @@ const cp = require('child_process') const logger = console // main -;((ruleId) => { - if (ruleId == null) { - logger.error('Usage: npm run new ') +;((ruleName, authorName) => { + if (!ruleName || !authorName) { + logger.error('Usage: npm run new ') process.exitCode = 1 return } - if (!/^[\w-]+$/u.test(ruleId)) { - logger.error("Invalid RuleID '%s'.", ruleId) + if (!/^[\w-]+$/u.test(ruleName)) { + logger.error("Invalid rule name '%s'.", ruleName) process.exitCode = 1 return } - const ruleFile = path.resolve(__dirname, `../lib/rules/${ruleId}.js`) - const testFile = path.resolve(__dirname, `../tests/lib/rules/${ruleId}.js`) - const docFile = path.resolve(__dirname, `../docs/rules/${ruleId}.md`) + const ruleFile = path.resolve(__dirname, `../lib/rules/${ruleName}.js`) + const testFile = path.resolve(__dirname, `../tests/lib/rules/${ruleName}.js`) + const docFile = path.resolve(__dirname, `../docs/rules/${ruleName}.md`) fs.writeFileSync( ruleFile, `/** - * @author *****your name***** + * @author ${authorName} * See LICENSE file in root directory for full license. */ 'use strict' @@ -72,13 +72,13 @@ module.exports = { fs.writeFileSync( testFile, `/** - * @author *****your name***** + * @author ${authorName} * See LICENSE file in root directory for full license. */ 'use strict' const RuleTester = require('eslint').RuleTester -const rule = require('../../../lib/rules/${ruleId}') +const rule = require('../../../lib/rules/${ruleName}') const tester = new RuleTester({ parser: require.resolve('vue-eslint-parser'), @@ -88,7 +88,7 @@ const tester = new RuleTester({ } }) -tester.run('${ruleId}', rule, { +tester.run('${ruleName}', rule, { valid: [ { filename: 'test.vue', @@ -124,10 +124,10 @@ tester.run('${ruleId}', rule, { `--- pageClass: rule-details sidebarDepth: 0 -title: vue/${ruleId} +title: vue/${ruleName} description: xxx --- -# vue/${ruleId} +# vue/${ruleName} > xxx @@ -137,7 +137,7 @@ description: xxx This rule .... - + \`\`\`vue