Skip to content

Commit 359be7f

Browse files
committed
workflow: setup issue template
1 parent e83ab3f commit 359be7f

File tree

4 files changed

+166
-0
lines changed

4 files changed

+166
-0
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: "\U0001F41E Bug report"
2+
description: Create a report to help us improve
3+
body:
4+
- type: checkboxes
5+
attributes:
6+
label: "Before you start, make sure to:"
7+
description: More than half issues of json-editor-vue turned out to be invalid or irrelevant.
8+
options:
9+
- label: Read the [doc](https://github.com/cloydlau/json-editor-vue/blob/main/README.md)
10+
required: true
11+
- label: Be aware that json-editor-vue is only a Vue wrapper for [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor)
12+
required: true
13+
- label: Have a try at the latest version
14+
required: true
15+
- label: Search to see if your issue already exists
16+
required: true
17+
- label: Look for / ask questions on [Stack Overflow](https://stackoverflow.com/questions/ask)
18+
required: false
19+
- type: input
20+
id: json-editor-vue_version
21+
attributes:
22+
label: json-editor-vue version
23+
validations:
24+
required: true
25+
- type: input
26+
id: vanilla-jsoneditor_version
27+
attributes:
28+
label: vanilla-jsoneditor version
29+
validations:
30+
required: true
31+
- type: input
32+
id: vue_version
33+
attributes:
34+
label: vue version
35+
validations:
36+
required: true
37+
- type: input
38+
id: vue-composition-api_version
39+
attributes:
40+
label: "@vue/composition-api version"
41+
placeholder: Only for Vue 2.6 or earlier
42+
validations:
43+
required: false
44+
- type: input
45+
id: nuxt_version
46+
attributes:
47+
label: nuxt version
48+
validations:
49+
required: false
50+
- type: input
51+
id: reproduction-link
52+
attributes:
53+
label: Link to minimal reproduction
54+
description: |
55+
The easiest way to provide a reproduction is by showing the bug in [The SFC Playground](https://sfc.vuejs.org/).
56+
If it cannot be reproduced in the playground and requires a proper build setup, try [StackBlitz](https://vite.new/vue).
57+
If neither of these are suitable, you can always provide a GitHub repository.
58+
59+
The reproduction should be **minimal** - i.e. it should contain only the bare minimum amount of code needed
60+
to show the bug. See [Bug Reproduction Guidelines](https://github.com/cloydlau/json-editor-vue/blob/main/.github/bug-repro-guidelines.md) for more details.
61+
62+
Please do not just fill in a random link. The issue will be closed if no valid reproduction is provided.
63+
[Why reproduction is required?](https://antfu.me/posts/why-reproductions-are-required)
64+
placeholder: Reproduction Link
65+
validations:
66+
required: true
67+
- type: textarea
68+
id: steps-to-reproduce
69+
attributes:
70+
label: Steps to reproduce
71+
description: |
72+
What do we need to do after opening your repro in order to make the bug happen? Clear and concise reproduction instructions are important for us to be able to triage your issue in a timely manner. Note that you can use [Markdown](https://guides.github.com/features/mastering-markdown/) to format lists and code.
73+
placeholder: Steps to reproduce
74+
validations:
75+
required: true
76+
- type: textarea
77+
id: expected
78+
attributes:
79+
label: What is expected?
80+
validations:
81+
required: true
82+
- type: textarea
83+
id: actually-happening
84+
attributes:
85+
label: What is actually happening?
86+
validations:
87+
required: true
88+
- type: textarea
89+
id: system-info
90+
attributes:
91+
label: System Info
92+
description: Output of `npx envinfo --system --npmPackages json-editor-vue,vanilla-jsoneditor,vue,@vue/composition-api,nuxt --binaries --browsers`
93+
render: shell
94+
placeholder: System, Binaries, Browsers
95+
- type: textarea
96+
id: additional-comments
97+
attributes:
98+
label: Any additional comments?
99+
description: e.g. some background/context of how you ran into this bug.

.github/ISSUE_TEMPLATE/config.yml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: "\U0001F680 New feature proposal"
2+
description: Suggest an idea for this project
3+
labels: [":sparkles: feature request"]
4+
body:
5+
- type: checkboxes
6+
attributes:
7+
label: "Before you start, make sure to:"
8+
description: More than half issues of json-editor-vue turned out to be invalid or irrelevant.
9+
options:
10+
- label: Read the [doc](https://github.com/cloydlau/json-editor-vue/blob/main/README.md)
11+
required: true
12+
- label: Be aware that json-editor-vue is only a Vue wrapper for [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor)
13+
required: true
14+
- label: Have a try at the latest version
15+
required: true
16+
- label: Search to see if your issue already exists
17+
required: true
18+
- label: Look for / ask questions on [Stack Overflow](https://stackoverflow.com/questions/ask)
19+
required: false
20+
- type: textarea
21+
id: problem-description
22+
attributes:
23+
label: What problem does this feature solve?
24+
description: |
25+
Explain your use case, context, and rationale behind this feature request. More importantly, what is the **end user experience** you are trying to build that led to the need for this feature?
26+
placeholder: Problem description
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: proposed-API
31+
attributes:
32+
label: What does the proposed API look like?
33+
description: |
34+
Describe how you propose to solve the problem and provide code samples of how the API would work once implemented. Note that you can use [Markdown](https://guides.github.com/features/mastering-markdown/) to format your code blocks.
35+
placeholder: Steps to reproduce
36+
validations:
37+
required: true

.github/bug-repro-guidelines.md

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## About Bug Reproductions
2+
3+
A bug reproduction is a piece of code that can run and demonstrate how a bug can happen。
4+
5+
### Text is not enough
6+
7+
It's impossible to fix a bug from mere text descriptions。First,it's very difficult to precisely describe a technical problem while keeping it easy to follow;Second,the real cause may very well be something that you forgot to even mention。A reproduction is the only way that can reliably help us understand what is going on,so please provide one。
8+
9+
### A repro must be runnable
10+
11+
Screenshots or videos are NOT reproductions!They only show that the bug exists,but do not provide enough information on why it happens。Only runnable code provides the most complete context and allows us to properly debug the scenario。That said,in some cases videos/gifs can help explain interaction issues that are hard to describe in text。
12+
13+
### A repro should be minimal
14+
15+
Some users would give us a link to a real project and hope we can help them figure out what is wrong。We generally do not accept such requests because:
16+
17+
You are already familiar with your codebase,but we are not。It is extremely time-consuming to hunt a bug in a big and unfamiliar codebase。
18+
19+
The problematic behavior may very well be caused by your code rather than by a bug in json-editor-vue。
20+
21+
A minimal reproduction means it demonstrates the bug,and the bug only。It should only contain the bare minimum amount of code that can reliably cause the bug。Try your best to get rid of anything that aren't directly related to the problem。
22+
23+
### How to create a repro
24+
25+
For Vue 3 core reproductions,try reproducing it in [The SFC Playground](https://sfc.vuejs.org/)
26+
27+
If it cannot be reproduced in the playground and requires a proper build setup,try [StackBlitz](https://vite.new/vue)
28+
29+
If neither of these are suitable,you can always provide a GitHub repository。

0 commit comments

Comments
 (0)