diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/01-package_bug_report.yml similarity index 55% rename from .github/ISSUE_TEMPLATE/bug_report.yml rename to .github/ISSUE_TEMPLATE/01-package_bug_report.yml index 2620aee41..b406dce4d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/01-package_bug_report.yml @@ -1,11 +1,13 @@ name: Bug report -description: Report incorrect or unexpected behavior of a package +description: Report an issue with discord.js or another package. labels: [bug, need repro] body: - type: markdown attributes: value: | - Use Discord for questions: https://discord.gg/djs + Thank you for filing an issue! If you are here to ask a question, use Discord instead: https://discord.gg/djs + + This issue form is for discord.js, including other packages. - type: dropdown id: package attributes: @@ -29,57 +31,44 @@ body: id: description attributes: label: Issue description - description: | - Describe the issue in as much detail as possible. - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files into it. + description: Describe the issue in as much detail as possible. placeholder: | Steps to reproduce with below code sample: - 1. do thing - 2. do thing in Discord client - 3. observe behavior - 4. see error logs below + 1. Do thing + 2. Do thing in Discord client + 3. Observe behavior + 4. See error logs below validations: required: true - type: textarea - id: codesample + id: code_sample attributes: label: Code sample - description: Include a reproducible, minimal code sample. This will be automatically formatted into code, so no need for backticks. - render: typescript - placeholder: | - Your code sample should be... - ... Minimal - Use as little code as possible that still produces the same problem (and is understandable) - ... Complete - Provide all parts someone else needs to reproduce your problem - ... Reproducible - Test the code you're about to provide to make sure it reproduces the problem - - type: input - id: djs-version - attributes: - label: Package version - description: Which version of the package are you using? Run `npm list ` in your project directory and paste the output. - placeholder: We no longer support version 12 or earlier of discord.js - validations: - required: true - - type: input - id: node-version - attributes: - label: Node.js version description: | - Which version of Node.js are you using? Run `node --version` in your project directory and paste the output. - If you are using TypeScript, please include its version (`npm list typescript`) as well. - placeholder: Node.js version 16.9+ is required for version 14.0.0+ + Your code sample should be: + 1. Minimal - Use as little code as possible that still produces the same problem (and is understandable) + 2. Complete - Provide all parts someone else needs to reproduce your problem + 3. Reproducible - Test the code you're about to provide to make sure it reproduces the problem + + This will be automatically formatted into code, so no need for backticks. + render: typescript + - type: textarea + id: versions + attributes: + label: Versions + description: List necessary versions here. This includes your package version, runtime version, operating system etc. + placeholder: | + - discord.js 14.9.0 (`npm ls discord.js` or another package) + - Node.js 16.9.0 (`node --version`) + - TypeScript 5.0.4 (`npm ls typescript` if you use it) + - macOS Ventura 13.3.1 validations: required: true - - type: input - id: os - attributes: - label: Operating system - description: Which OS does your application run on? - type: dropdown id: priority attributes: - label: Priority this issue should have - description: Please be realistic. If you need to elaborate on your reasoning, please use the Issue description field above. + label: Issue priority + description: Please be realistic. If you need to elaborate on your reasoning, please use the issue description field above. options: - Low (slightly annoying) - Medium (should be fixed soon) @@ -90,12 +79,9 @@ body: id: partials attributes: label: Which partials do you have configured? - description: | - Check your Client constructor for the `partials` key. - - Tip: you can select multiple items + description: Check your `Client` constructor for the `partials` key. options: - - Not applicable (subpackage bug) + - Not applicable - No Partials - User - Channel @@ -111,12 +97,9 @@ body: id: intents attributes: label: Which gateway intents are you subscribing to? - description: | - Check your Client constructor options for the `intents` key. - - Tip: you can select multiple items + description: Check your `Client` constructor for the `intents` key. options: - - Not applicable (subpackage bug) + - Not applicable - No Intents - Guilds - GuildMembers @@ -141,7 +124,7 @@ body: validations: required: true - type: input - id: dev-release + id: dev_release attributes: label: I have tested this issue on a development release placeholder: d23280c (commit hash) diff --git a/.github/ISSUE_TEMPLATE/02-application_bug_report.yml b/.github/ISSUE_TEMPLATE/02-application_bug_report.yml new file mode 100644 index 000000000..9fefce98d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-application_bug_report.yml @@ -0,0 +1,58 @@ +name: Websites bug report +description: Report an issue with the documentation or guide websites. +labels: [bug, need repro] +body: + - type: markdown + attributes: + value: | + Thank you for filing an issue! If you are here to ask a question, use Discord instead: https://discord.gg/djs + + This issue form is for our documentation and guide websites. + - type: dropdown + id: application + attributes: + label: Which application is this bug report for? + options: + - Documentation + - Guide + validations: + required: true + - type: textarea + id: description + attributes: + label: Issue description + description: Describe the issue in as much detail as possible. + validations: + required: true + - type: textarea + id: steps_to_reproduce + attributes: + label: Steps to Reproduce + description: What steps must be taken to reproduce this issue? + placeholder: | + 1. Visit a page + 2. Click a link + 3. ... + validations: + required: true + - type: textarea + id: versions + attributes: + label: Versions + description: List necessary versions here. This includes your browser, operating system etc. + placeholder: | + - Safari 16.4 (18615.1.26.11.23) + - macOS Ventura 13.3.1 + validations: + required: true + - type: dropdown + id: priority + attributes: + label: Issue priority + description: Please be realistic. If you need to elaborate on your reasoning, please use the issue description field above. + options: + - Low (slightly annoying) + - Medium (should be fixed soon) + - High (immediate attention needed) + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/03-feature_request.yml similarity index 91% rename from .github/ISSUE_TEMPLATE/feature_request.yml rename to .github/ISSUE_TEMPLATE/03-feature_request.yml index 0c78fa570..9cf7b89ca 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/03-feature_request.yml @@ -9,11 +9,13 @@ body: We do not implement unreleased features. Use Discord for questions: https://discord.gg/djs - type: dropdown - id: package + id: application_or_package attributes: - label: Which package is this feature request for? + label: Which application or package is this feature request for? options: - discord.js + - Documentation + - Guide - brokers - builders - collection @@ -48,7 +50,7 @@ body: label: Alternative solutions or implementations description: A clear and concise description of any alternative solutions or features you have considered. - type: textarea - id: additional-context + id: additional_context attributes: label: Other context description: Any other context, screenshots, or file uploads that help us understand your feature request. diff --git a/.github/issue-labeler.yml b/.github/issue-labeler.yml index 736905741..6e232e2ce 100644 --- a/.github/issue-labeler.yml +++ b/.github/issue-labeler.yml @@ -1,24 +1,42 @@ +apps:guide: + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nGuide\\n" +apps:website: + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nDocumentation\\n" packages:brokers: - - '### Which package is this (bug report|feature request) for\?\n\nbrokers' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nbrokers\\n" packages:builders: - - '### Which package is this (bug report|feature request) for\?\n\nbuilders' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nbuilders\\n" packages:collection: - - '### Which package is this (bug report|feature request) for\?\n\ncollection' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\ncollection\\n" packages:core: - - '### Which package is this (bug report|feature request) for\?\n\ncore' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\ncore\\n" packages:discord.js: - - '### Which package is this (bug report|feature request) for\?\n\ndiscord.js' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\ndiscord.js\\n" packages:formatters: - - '### Which package is this (bug report|feature request) for\?\n\nformatters' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nformatters\\n" packages:next: - - '### Which package is this (bug report|feature request) for\?\n\nnext' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nnext\\n" packages:proxy: - - '### Which package is this (bug report|feature request) for\?\n\nproxy' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nproxy\\n" packages:proxy-container: - - '### Which package is this (bug report|feature request) for\?\n\nproxy-container' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nproxy-container\\n" packages:rest: - - '### Which package is this (bug report|feature request) for\?\n\nrest' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nrest\\n" packages:voice: - - '### Which package is this (bug report|feature request) for\?\n\nvoice' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nvoice\\n" packages:ws: - - '### Which package is this (bug report|feature request) for\?\n\nws' + - "### Which (application|package|application or package) is this (bug + report|feature request) for\\?\\n\\nws\\n" diff --git a/packages/scripts/src/createPackage.ts b/packages/scripts/src/createPackage.ts index b40670ee8..ae3dda027 100644 --- a/packages/scripts/src/createPackage.ts +++ b/packages/scripts/src/createPackage.ts @@ -88,7 +88,7 @@ export async function createPackage(packageName: string, packageDescription?: st const issueLabelerYAML = parseYAML(await readFile('issue-labeler.yml', 'utf8')) as Record; issueLabelerYAML[`packages:${packageName}`] = [ - `### Which package is this (bug report|feature request) for\\?\\n\\n${packageName}`, + `### Which (application|package|application or package) is this (bug report|feature request) for\\?\\n\\n${packageName}\\n`, ]; await writeFile('issue-labeler.yml', stringifyYAML(sortYAMLObject(issueLabelerYAML)));