Skip to content

Commit a18e7fe

Browse files
committed
chore: add GitHub issue/PR templates and funding
- Bug report and feature request issue templates (YAML format) - Pull request template with checklist - GitHub Sponsors funding configuration
1 parent ee9d004 commit a18e7fe

File tree

5 files changed

+213
-0
lines changed

5 files changed

+213
-0
lines changed

.github/FUNDING.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# These are supported funding model platforms
2+
3+
github: [sebastian-software]
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: 🐛 Bug Report
2+
description: Report a bug or unexpected behavior
3+
labels: ["bug", "triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to report a bug! Please fill out the form below.
9+
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: Bug Description
14+
description: A clear and concise description of the bug.
15+
placeholder: When I do X, Y happens instead of Z...
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: reproduction
21+
attributes:
22+
label: Reproduction
23+
description: |
24+
Steps to reproduce the behavior. Ideally, provide a minimal code example.
25+
placeholder: |
26+
```tsx
27+
// Code that triggers the issue
28+
const message = "Hello World"
29+
```
30+
31+
Expected: No error (it's inside a function that returns a technical value)
32+
Actual: Error "String appears to be user-visible text"
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: expected
38+
attributes:
39+
label: Expected Behavior
40+
description: What did you expect to happen?
41+
validations:
42+
required: true
43+
44+
- type: input
45+
id: version
46+
attributes:
47+
label: Plugin Version
48+
description: What version of eslint-plugin-lingui-typescript are you using?
49+
placeholder: "1.6.0"
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
id: environment
55+
attributes:
56+
label: Environment
57+
description: |
58+
Please provide your environment details.
59+
value: |
60+
- Node.js:
61+
- ESLint:
62+
- TypeScript:
63+
- typescript-eslint:
64+
validations:
65+
required: true
66+
67+
- type: textarea
68+
id: eslint-config
69+
attributes:
70+
label: ESLint Configuration
71+
description: |
72+
Relevant parts of your ESLint config (eslint.config.ts or similar).
73+
render: typescript
74+
placeholder: |
75+
import linguiPlugin from "eslint-plugin-lingui-typescript"
76+
77+
export default [
78+
linguiPlugin.configs["flat/recommended"],
79+
// ...
80+
]
81+
82+
- type: textarea
83+
id: additional
84+
attributes:
85+
label: Additional Context
86+
description: Any other context about the problem (screenshots, related issues, etc.)

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 📖 Documentation
4+
url: https://github.com/sebastian-software/eslint-plugin-lingui-typescript#readme
5+
about: Check the README for usage and configuration
6+
- name: 💬 Discussions
7+
url: https://github.com/sebastian-software/eslint-plugin-lingui-typescript/discussions
8+
about: Ask questions and discuss ideas
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: 💡 Feature Request
2+
description: Suggest a new feature or improvement
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for suggesting a feature! Please describe what you'd like to see.
9+
10+
- type: textarea
11+
id: problem
12+
attributes:
13+
label: Problem Statement
14+
description: |
15+
Is your feature request related to a problem? Describe the use case.
16+
placeholder: |
17+
I'm frustrated when the rule flags strings inside [...] because [...]
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: solution
23+
attributes:
24+
label: Proposed Solution
25+
description: |
26+
Describe the solution you'd like to see.
27+
placeholder: |
28+
The rule should automatically detect [...] and not report these strings.
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: alternatives
34+
attributes:
35+
label: Alternatives Considered
36+
description: |
37+
Have you considered any alternative solutions or workarounds?
38+
placeholder: |
39+
Currently I'm using `ignorePattern` to work around this, but it's not ideal because [...]
40+
41+
- type: textarea
42+
id: code-example
43+
attributes:
44+
label: Code Example
45+
description: |
46+
If applicable, provide code examples showing the desired behavior.
47+
render: typescript
48+
placeholder: |
49+
// This should be valid (not reported)
50+
const x = "..."
51+
52+
// This should be invalid (reported)
53+
const y = "..."
54+
55+
- type: dropdown
56+
id: rule
57+
attributes:
58+
label: Related Rule
59+
description: Which rule is this feature request related to?
60+
options:
61+
- no-unlocalized-strings
62+
- no-single-variables-to-translate
63+
- no-single-tag-to-translate
64+
- no-nested-macros
65+
- no-expression-in-message
66+
- t-call-in-function
67+
- consistent-plural-format
68+
- text-restrictions
69+
- New rule
70+
- Plugin infrastructure
71+
72+
- type: checkboxes
73+
id: contribution
74+
attributes:
75+
label: Contribution
76+
options:
77+
- label: I'm willing to submit a PR for this feature

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Description
2+
3+
<!-- Describe your changes in detail. What problem does this solve? -->
4+
5+
## Related Issue
6+
7+
<!-- Link to the issue this PR addresses, if any -->
8+
Fixes #
9+
10+
## Type of Change
11+
12+
<!-- Mark the relevant option with an "x" -->
13+
14+
- [ ] 🐛 Bug fix (non-breaking change that fixes an issue)
15+
- [ ] ✨ New feature (non-breaking change that adds functionality)
16+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
17+
- [ ] 📖 Documentation update
18+
- [ ] 🧹 Refactoring (no functional changes)
19+
- [ ] ✅ Test update
20+
21+
## Checklist
22+
23+
<!-- Mark completed items with an "x" -->
24+
25+
- [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) guidelines
26+
- [ ] My code follows the project's code style
27+
- [ ] I have added tests that prove my fix/feature works
28+
- [ ] All new and existing tests pass
29+
- [ ] I have updated the documentation (if applicable)
30+
- [ ] My commits follow [Conventional Commits](https://www.conventionalcommits.org/)
31+
32+
## Test Plan
33+
34+
<!-- How did you test your changes? -->
35+
36+
## Additional Notes
37+
38+
<!-- Any additional information that reviewers should know -->
39+

0 commit comments

Comments
 (0)