Skip to content

Commit 1b92132

Browse files
committed
feat: 🎸 First release
1 parent 69026cd commit 1b92132

19 files changed

+3821
-211
lines changed

.eslintignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
dist
2+
node_modules
3+
jest.config.ts
4+
babel.config.js
5+
rollup.config.js
6+
jest.setup.ts
7+
tsconfig.json
8+
coverage
9+
temp
10+
commitlint.config.js

.eslintrc.json

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{
2+
"root": true,
3+
"parser": "@typescript-eslint/parser",
4+
"parserOptions": {
5+
"ecmaVersion": 11,
6+
"ecmaFeatures": {
7+
"jsx": true
8+
},
9+
"project": "./tsconfig.json"
10+
},
11+
"settings": {
12+
"import/resolver": {
13+
"node": {
14+
"moduleDirectory": ["node_modules", "src/"]
15+
}
16+
},
17+
"react": {
18+
"pragma": "React",
19+
"version": "detect"
20+
}
21+
},
22+
"plugins": ["react", "react-hooks"],
23+
"extends": [
24+
"eslint:recommended",
25+
"plugin:react-hooks/recommended",
26+
"prettier",
27+
"plugin:react/recommended",
28+
"plugin:@typescript-eslint/recommended",
29+
"plugin:import/typescript",
30+
"airbnb",
31+
"airbnb-typescript",
32+
"plugin:prettier/recommended"
33+
],
34+
"rules": {
35+
"react-hooks/rules-of-hooks": "error",
36+
"react-hooks/exhaustive-deps": "warn",
37+
"react/prop-types": "off",
38+
"react/jsx-uses-react": "error",
39+
"react/jsx-uses-vars": "error",
40+
"no-console": ["error", { "allow": ["warn", "error"] }],
41+
"react/react-in-jsx-scope": "off",
42+
"react/display-name": 0,
43+
"import/no-extraneous-dependencies": 0,
44+
"import/prefer-default-export": 0,
45+
"import/no-cycle": 0,
46+
"@typescript-eslint/no-explicit-any": 0,
47+
"@typescript-eslint/lines-between-class-members": "off",
48+
"prettier/prettier": ["error"],
49+
"consistent-return": 0,
50+
"@typescript-eslint/no-throw-literal": 0,
51+
"no-underscore-dangle": 0,
52+
"react/function-component-definition": 0,
53+
"testing-library/render-result-naming-convention": "off",
54+
"import/order": [
55+
"error",
56+
{
57+
"groups": [
58+
["builtin", "external"],
59+
["internal", "parent", "sibling", "index"]
60+
],
61+
"pathGroups": [
62+
{ "pattern": "assets/**", "group": "sibling", "position": "after" },
63+
{
64+
"pattern": "@external/**/*.css",
65+
"group": "sibling",
66+
"position": "after"
67+
},
68+
{
69+
"pattern": "*.css",
70+
"group": "index",
71+
"patternOptions": { "matchBase": true },
72+
"position": "after"
73+
}
74+
],
75+
"warnOnUnassignedImports": true,
76+
"pathGroupsExcludedImportTypes": ["css"],
77+
"newlines-between": "always"
78+
}
79+
]
80+
},
81+
"overrides": [
82+
{
83+
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
84+
"rules": {
85+
"testing-library/render-result-naming-convention": "off"
86+
}
87+
}
88+
]
89+
}

.husky/pre-commit

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
yarn commitlint --edit "$1"
5+
yarn lint
6+
yarn test

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
legacy-peer-deps=true

.prettierignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Add files here to ignore them from prettier formatting
2+
3+
/dist
4+
/coverage

Code_of_Conduct.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make
6+
participation in our project and our community a harassment-free experience for everyone, regardless of age, body size,
7+
disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education,
8+
socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
9+
10+
## Our Standards
11+
12+
Examples of behavior that contributes to creating a positive environment include:
13+
14+
- Using welcoming and inclusive language
15+
- Being respectful of differing viewpoints and experiences
16+
- Gracefully accepting constructive criticism
17+
- Focusing on what is best for the community
18+
- Showing empathy towards other community members
19+
20+
Examples of unacceptable behavior by participants include:
21+
22+
- The use of sexualized language or imagery and unwelcome sexual attention or advances
23+
- Trolling, insulting/derogatory comments, and personal or political attacks
24+
- Public or private harassment
25+
- Publishing others' private information, such as a physical or electronic address, without explicit permission
26+
- Other conduct which could reasonably be considered inappropriate in a professional setting
27+
28+
## Our Responsibilities
29+
30+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take
31+
appropriate and fair corrective action in response to any instances of unacceptable behavior.
32+
33+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
34+
issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any
35+
contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
36+
37+
## Scope
38+
39+
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the
40+
project or its community in public spaces. Examples of representing a project or community include using an official
41+
project e-mail address, posting via an official social media account, or acting as an appointed representative at an
42+
online or offline event. Representation of a project may be further defined and clarified by project maintainers.
43+
44+
## Enforcement
45+
46+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at
47+
maciekpyrc@gmail.com. All complaints will be reviewed and investigated and will result in a response that is deemed
48+
necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to
49+
the reporter of an incident. Further details of specific enforcement policies may be posted separately.
50+
51+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent
52+
repercussions as determined by other members of the project's leadership.
53+
54+
## Attribution
55+
56+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at
57+
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
58+
59+
[homepage]: https://www.contributor-covenant.org
60+
61+
For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq

Contributing.md

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
<!-- omit in toc -->
2+
3+
# Contributing
4+
5+
First off, thanks for taking the time to contribute! ❤️
6+
7+
All types of contributions are encouraged and valued. See the
8+
[Table of Contents](#table-of-contents) for different ways to help and details about how this
9+
project handles them. Please make sure to read the relevant section before making your contribution.
10+
It will make it a lot easier for us maintainers and smooth out the experience for all involved. The
11+
community looks forward to your contributions. 🎉
12+
13+
> And if you like the project, but just don't have time to contribute, that's fine. There are other
14+
> easy ways to support the project and show your appreciation, which we would also be very happy
15+
> about:
16+
>
17+
> - Star the project
18+
> - Tweet about it
19+
> - Refer this project in your project's readme
20+
> - Mention the project at local meetups and tell your friends/colleagues
21+
22+
<!-- omit in toc -->
23+
24+
## Table of Contents
25+
26+
- [Contributing](#contributing)
27+
- [Table of Contents](#table-of-contents)
28+
- [I Have a Question](#i-have-a-question)
29+
- [I Want To Contribute](#i-want-to-contribute)
30+
- [Reporting Bugs](#reporting-bugs)
31+
- [Before Submitting a Bug Report](#before-submitting-a-bug-report)
32+
- [How Do I Submit a Good Bug Report?](#how-do-i-submit-a-good-bug-report)
33+
- [Suggesting Enhancements](#suggesting-enhancements)
34+
- [Before Submitting an Enhancement](#before-submitting-an-enhancement)
35+
- [How Do I Submit a Good Enhancement Suggestion?](#how-do-i-submit-a-good-enhancement-suggestion)
36+
- [Your First Code Contribution](#your-first-code-contribution)
37+
- [Improving The Documentation](#improving-the-documentation)
38+
- [Styleguides](#styleguides)
39+
- [Commit Messages](#commit-messages)
40+
- [Join The Project Team](#join-the-project-team)
41+
- [Attribution](#attribution)
42+
43+
## I Have a Question
44+
45+
> If you want to ask a question, we assume that you have read the available documentation or README
46+
47+
Before you ask a question, it is best to search for existing Issues that might help you. In case you
48+
have found a suitable issue and still need clarification, you can write your question in this issue.
49+
It is also advisable to search the internet for answers first.
50+
51+
If you then still feel the need to ask a question and need clarification, we recommend the
52+
following:
53+
54+
- Open an Issue.
55+
- Provide as much context as you can about what you're running into.
56+
- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.
57+
58+
We will then take care of the issue as soon as possible.
59+
60+
<!--
61+
You might want to create a separate issue tag for questions and include it in this description. People should then tag their issues accordingly.
62+
63+
Depending on how large the project is, you may want to outsource the questioning, e.g. to Stack Overflow or Gitter. You may add additional contact and information possibilities:
64+
- IRC
65+
- Slack
66+
- Gitter
67+
- Stack Overflow tag
68+
- Blog
69+
- FAQ
70+
- Roadmap
71+
- E-Mail List
72+
- Forum
73+
-->
74+
75+
## I Want To Contribute
76+
77+
> ### Legal Notice <!-- omit in toc -->
78+
>
79+
> When contributing to this project, you must agree that you have authored 100% of the content, that
80+
> you have the necessary rights to the content and that the content you contribute may be provided
81+
> under the project license.
82+
83+
### Reporting Bugs
84+
85+
<!-- omit in toc -->
86+
87+
#### Before Submitting a Bug Report
88+
89+
A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we
90+
ask you to investigate carefully, collect information and describe the issue in detail in your
91+
report. Please complete the following steps in advance to help us fix any potential bug as fast as
92+
possible.
93+
94+
- Make sure that you are using the latest version.
95+
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible
96+
environment components/versions (Make sure that you have read the documentation. If you are
97+
looking for support, you might want to check [this section](#i-have-a-question)).
98+
- To see if other users have experienced (and potentially already solved) the same issue you are
99+
having, check if there is not already a bug report existing for your bug or error in the bug
100+
tracker.
101+
- Also make sure to search the internet (including Stack Overflow) to see if users outside of the
102+
GitHub community have discussed the issue.
103+
- Collect information about the bug:
104+
- Stack trace (Traceback)
105+
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
106+
- Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what
107+
seems relevant.
108+
- Possibly your input and the output
109+
- Can you reliably reproduce the issue? And can you also reproduce it with older versions?
110+
111+
<!-- omit in toc -->
112+
113+
#### How Do I Submit a Good Bug Report?
114+
115+
> You must never report security related issues, vulnerabilities or bugs including sensitive
116+
> information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by
117+
> email to <>.
118+
119+
<!-- You may add a PGP key to allow the messages to be sent encrypted as well. -->
120+
121+
We use GitHub issues to track bugs and errors. If you run into an issue with the project:
122+
123+
- Open an Issue. (Since we can't be sure at this point whether it is a bug or not, we ask you not to
124+
talk about a bug yet and not to label the issue.)
125+
- Explain the behavior you would expect and the actual behavior.
126+
- Please provide as much context as possible and describe the _reproduction steps_ that someone else
127+
can follow to recreate the issue on their own. This usually includes your code. For good bug
128+
reports you should isolate the problem and create a reduced test case.
129+
- Provide the information you collected in the previous section.
130+
131+
Once it's filed:
132+
133+
- The project team will label the issue accordingly.
134+
- A team member will try to reproduce the issue with your provided steps. If there are no
135+
reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps
136+
and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until
137+
they are reproduced.
138+
- If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly
139+
other tags (such as `critical`), and the issue will be left to be
140+
[implemented by someone](#your-first-code-contribution).
141+
142+
<!-- You might want to create an issue template for bugs and errors that can be used as a guide and that defines the structure of the information to be included. If you do so, reference it here in the description. -->
143+
144+
### Suggesting Enhancements
145+
146+
This section guides you through submitting an enhancement suggestion, **including completely new
147+
features and minor improvements to existing functionality**. Following these guidelines will help
148+
maintainers and the community to understand your suggestion and find related suggestions.
149+
150+
<!-- omit in toc -->
151+
152+
#### Before Submitting an Enhancement
153+
154+
- Make sure that you are using the latest version.
155+
- Read the README carefully and find out if the functionality is already covered, maybe by an
156+
individual configuration.
157+
- Perform a search to see if the enhancement has already been suggested. If it has, add a comment to
158+
the existing issue instead of opening a new one.
159+
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a
160+
strong case to convince the project's developers of the merits of this feature. Keep in mind that
161+
we want features that will be useful to the majority of our users and not just a small subset. If
162+
you're just targeting a minority of users, consider writing an add-on/plugin library.
163+
164+
<!-- omit in toc -->
165+
166+
#### How Do I Submit a Good Enhancement Suggestion?
167+
168+
Enhancement suggestions are tracked as GitHub issues.
169+
170+
- Use a **clear and descriptive title** for the issue to identify the suggestion.
171+
- Provide a **step-by-step description of the suggested enhancement** in as many details as
172+
possible.
173+
- **Describe the current behavior** and **explain which behavior you expected to see instead** and
174+
why. At this point you can also tell which alternatives do not work for you.
175+
- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or
176+
point out the part which the suggestion is related to.
177+
- **Explain why this enhancement would be useful** to most users. You may also want to point out the
178+
other projects that solved it better and which could serve as inspiration.
179+
180+
### Your First Code Contribution
181+
182+
Checkout [this tutorial](https://github.com/firstcontributions/first-contributions) of how to
183+
contribute to any project.
184+
185+
### Improving The Documentation
186+
187+
Anyone can help improve the documentation - it is in this repository and is available to everyone -
188+
if you have an idea how to improve it - send us a pull request and we will try to consider it as
189+
soon as possible!
190+
191+
## Styleguides
192+
193+
Each contribution must meet the conditions of our linter and formatter. When these criteria are not
194+
met, the creator will get the appropriate status from github actions, if issues are not corrected
195+
within two weeks, the pull request will be rejected and closed immediately.
196+
197+
### Commit Messages
198+
199+
Commit messages must follow the
200+
[conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard and present the best
201+
possible description of the changes made, which will later be automatically placed in the release
202+
notes. They must not contain curses or offensive sentences.
203+
204+
## Join The Project Team
205+
206+
Do you want to have a greater impact on the development of the library? Get in touch with us!
207+
208+
## Attribution
209+
210+
This guide is based on the **contributing-gen**.
211+
[Make your own](https://github.com/bttger/contributing-gen)!

commitlint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = { extends: ["@commitlint/config-conventional"] };

0 commit comments

Comments
 (0)