From 143a5987f18f063a47a0646fa1e10e0f88602f6f Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Mon, 6 Sep 2021 21:42:02 -0700 Subject: [PATCH] Chore: Switch issues to use forms (#15024) * Docs: Switch issues to use forms * Make title unique * Add bug report template * Fix bug report template * Add rule change template * New rule template * Clean up templates * Update .github/ISSUE_TEMPLATE/bug-report.yml Co-authored-by: Brandon Mills * Update .github/ISSUE_TEMPLATE/change.yml Co-authored-by: Brandon Mills * Update .github/ISSUE_TEMPLATE/new-rule.yml Co-authored-by: Brandon Mills Co-authored-by: Brandon Mills --- .github/ISSUE_TEMPLATE/BUG_REPORT.md | 78 -------------------------- .github/ISSUE_TEMPLATE/CHANGE.md | 35 ------------ .github/ISSUE_TEMPLATE/NEW_RULE.md | 48 ---------------- .github/ISSUE_TEMPLATE/RULE_CHANGE.md | 42 -------------- .github/ISSUE_TEMPLATE/bug-report.yml | 75 +++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/change.yml | 44 +++++++++++++++ .github/ISSUE_TEMPLATE/new-rule.yml | 50 +++++++++++++++++ .github/ISSUE_TEMPLATE/rule-change.yml | 56 ++++++++++++++++++ 8 files changed, 225 insertions(+), 203 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/BUG_REPORT.md delete mode 100644 .github/ISSUE_TEMPLATE/CHANGE.md delete mode 100644 .github/ISSUE_TEMPLATE/NEW_RULE.md delete mode 100644 .github/ISSUE_TEMPLATE/RULE_CHANGE.md create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml create mode 100644 .github/ISSUE_TEMPLATE/change.yml create mode 100644 .github/ISSUE_TEMPLATE/new-rule.yml create mode 100644 .github/ISSUE_TEMPLATE/rule-change.yml diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md deleted file mode 100644 index b368e5009c4..00000000000 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -name: "\U0001F41E Bug report" -about: Report an issue with ESLint or rules bundled with ESLint -title: '' -labels: bug, repro:needed -assignees: '' - ---- - - - - -**Tell us about your environment** - - - -* **ESLint Version:** -* **Node Version:** -* **npm Version:** -* **Operating System:** - -**What parser (default, `@babel/eslint-parser`, `@typescript-eslint/parser`, etc.) are you using?** - - - -**Please show your full configuration:** - -
-Configuration - - -```js - -``` - -
- -**What did you do? Please include the actual source code causing the issue, as well as the command that you used to run ESLint.** - - -```js - -``` - - -```bash - -``` - -**What did you expect to happen?** - - -**What actually happened? Please copy-paste the actual, raw output from ESLint.** - - -**Steps to reproduce this issue:** - - - -1. -2. -3. - -**Are you willing to submit a pull request to fix this bug?** diff --git a/.github/ISSUE_TEMPLATE/CHANGE.md b/.github/ISSUE_TEMPLATE/CHANGE.md deleted file mode 100644 index ef8437a4ef6..00000000000 --- a/.github/ISSUE_TEMPLATE/CHANGE.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -name: "\U0001F4DD Non-rule change request" -about: Request a change that is not a bug fix, rule change, or new rule -title: '' -labels: enhancement, triage, core -assignees: '' - ---- - - - - - -**The version of ESLint you are using.** - - -**The problem you want to solve.** - - -**Your take on the correct solution to problem.** - - -**Are you willing to submit a pull request to implement this change?** diff --git a/.github/ISSUE_TEMPLATE/NEW_RULE.md b/.github/ISSUE_TEMPLATE/NEW_RULE.md deleted file mode 100644 index 31dfc8cb38b..00000000000 --- a/.github/ISSUE_TEMPLATE/NEW_RULE.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -name: "\U0001F680 New rule proposal" -about: Propose a new rule to be added to ESLint -title: '' -labels: triage, rule, feature -assignees: '' - ---- - - - - -**Please describe what the rule should do:** - - -**What new ECMAScript feature does this rule relate to?** - - - -**What category of rule is this? (place an "X" next to just one item)** - -[ ] Warns about a potential error (problem) -[ ] Suggests an alternate way of doing something (suggestion) -[ ] Other (please specify:) - -**Provide 2-3 code examples that this rule will warn about:** - - -```js - -``` - -**Why should this rule be included in ESLint (instead of a plugin)?** - - -**Are you willing to submit a pull request to implement this rule?** diff --git a/.github/ISSUE_TEMPLATE/RULE_CHANGE.md b/.github/ISSUE_TEMPLATE/RULE_CHANGE.md deleted file mode 100644 index ced29fac37b..00000000000 --- a/.github/ISSUE_TEMPLATE/RULE_CHANGE.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: "\U0001F4DD Rule change request" -about: Request a change to an existing rule -title: '' -labels: enhancement, triage, rule -assignees: '' - ---- - - - - -**What rule do you want to change?** - -**Does this change cause the rule to produce more or fewer warnings?** - -**How will the change be implemented? (New option, new default behavior, etc.)?** - -**Please provide some example code that this change will affect:** - - -```js - -``` - -**What does the rule currently do for this code?** - -**What will the rule do after it's changed?** - -**Are you willing to submit a pull request to implement this change?** diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 00000000000..0e1b0d29f08 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,75 @@ +name: "\U0001F41E Report a problem" +description: "Report an issue with ESLint or rules bundled with ESLint" +title: "Bug: (fill in)" +labels: + - bug + - "repro:needed" +body: +- type: markdown + attributes: + value: ESLint adheres to the [Open JS Foundation Code of Conduct](https://eslint.org/conduct). By opening an issue, you agree to abide by the code of conduct. +- type: textarea + attributes: + label: Environment + description: | + Please tell us about how you're running ESLint (Run `npx eslint --env-info`.) + value: | + Node version: + npm version: + Local ESLint version: + Global ESLint version: + Operating System: + validations: + required: true +- type: dropdown + attributes: + label: What parser are you using? + description: | + Please keep in mind that some problems are parser-specific. + options: + - "Default (Espree)" + - "@typescript-eslint/parser" + - "@babel/eslint-parser" + - "vue-eslint-parser" + - "@angular-eslint/template-parser" + - Other + validations: + required: true +- type: textarea + attributes: + label: What did you do? + description: | + Please include a *minimal* reproduction case with source code, configuration file, any other information about how you're using ESLint. You can use Markdown in this field. + value: | +
+ Configuration + + ```js + + ``` +
+ render: markdown + validations: + required: true +- type: textarea + attributes: + label: What did you expect to happen? + description: | + You can use Markdown in this field. + render: markdown + validations: + required: true +- type: textarea + attributes: + label: What actually happened? + description: | + Please copy-paste the actual ESLint output. You can use Markdown in this field. + render: markdown + validations: + required: true +- type: checkboxes + attributes: + label: Participation + options: + - label: I am willing to submit a pull request for this issue. + required: false diff --git a/.github/ISSUE_TEMPLATE/change.yml b/.github/ISSUE_TEMPLATE/change.yml new file mode 100644 index 00000000000..b03711b118d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/change.yml @@ -0,0 +1,44 @@ +name: "\U0001F4DD Request a change (not rule-related)" +description: "Request a change that is not a bug fix, rule change, or new rule" +title: "Change Request: (fill in)" +labels: + - enhancement + - triage + - core +body: +- type: markdown + attributes: + value: ESLint adheres to the [Open JS Foundation Code of Conduct](https://eslint.org/conduct). By opening an issue, you agree to abide by the code of conduct. +- type: input + attributes: + label: ESLint version + description: | + What version of ESLint are you currently using? (Run `npx eslint --version`.) + placeholder: | + e.g. v8.0.0 + validations: + required: true +- type: textarea + attributes: + label: What problem do you want to solve? + description: | + Please explain your use case in as much detail as possible. + placeholder: | + ESLint currently... + validations: + required: true +- type: textarea + attributes: + label: What do you think is the correct solution? + description: | + Please explain how you'd like to change ESLint to address the problem. + placeholder: | + I'd like ESLint to... + validations: + required: true +- type: checkboxes + attributes: + label: Participation + options: + - label: I am willing to submit a pull request for this change. + required: false diff --git a/.github/ISSUE_TEMPLATE/new-rule.yml b/.github/ISSUE_TEMPLATE/new-rule.yml new file mode 100644 index 00000000000..49b585bfab0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new-rule.yml @@ -0,0 +1,50 @@ +name: "\U0001F680 Propose a new core rule" +description: "Propose a new rule to be added to the ESLint core" +title: "New Rule: (fill in)" +labels: + - rule + - feature +body: +- type: markdown + attributes: + value: ESLint adheres to the [Open JS Foundation Code of Conduct](https://eslint.org/conduct). By opening an issue, you agree to abide by the code of conduct. +- type: input + attributes: + label: Rule details + description: What should the new rule do? + validations: + required: true +- type: input + attributes: + label: Related ECMAScript feature + description: What new ECMAScript feature does this rule relate to? Note that we only accept new core rules related to new ECMAScript features. + validations: + required: true +- type: dropdown + attributes: + label: What type of rule is this? + options: + - Warns about a potential problem + - Suggests an alternate way of doing something + - Enforces a formatting/stylistic preference + validations: + required: true +- type: textarea + attributes: + label: Example code + description: Please provide some example JavaScript code that this rule will warn about. This field will render as JavaScript. + render: js + validations: + required: true +- type: textarea + attributes: + label: Why should this rule be in the core instead of a plugin? + description: In general, we prefer that rules be implemented in plugins where they can be tailored to your specific use case. + validations: + required: true +- type: checkboxes + attributes: + label: Participation + options: + - label: I am willing to submit a pull request to implement this rule. + required: false diff --git a/.github/ISSUE_TEMPLATE/rule-change.yml b/.github/ISSUE_TEMPLATE/rule-change.yml new file mode 100644 index 00000000000..4240aeef075 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/rule-change.yml @@ -0,0 +1,56 @@ +name: "\U0001F4DD Request a rule change" +description: "Request a change to an existing core rule" +title: "Rule Change: (fill in)" +labels: + - enhancement + - rule +body: +- type: markdown + attributes: + value: ESLint adheres to the [Open JS Foundation Code of Conduct](https://eslint.org/conduct). By opening an issue, you agree to abide by the code of conduct. +- type: input + attributes: + label: What rule do you want to change? + validations: + required: true +- type: dropdown + attributes: + label: Does this change cause the rule to produce more or fewer warnings? + options: + - More warnings + - Fewer warnings + - No change to warnings + validations: + required: true +- type: dropdown + attributes: + label: How do you think the change should be implemented? + options: + - A new option + - A new default behavior + - Other + validations: + required: true +- type: textarea + attributes: + label: Example code + description: Please provide some example code that this change will affect. This field will render as JavaScript. + render: js + validations: + required: true +- type: textarea + attributes: + label: What does the rule currently do for this code? + validations: + required: true +- type: textarea + attributes: + label: What will the rule do after it's changed? + validations: + required: true +- type: checkboxes + attributes: + label: Participation + options: + - label: I am willing to submit a pull request to implement this change. + required: false