-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit bd356a6
Showing
18 changed files
with
4,838 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# EditorConfig is awesome: https://editorconfig.org/ | ||
root = true | ||
|
||
[*] | ||
end_of_line = lf | ||
indent_style = space | ||
indent_size = 2 | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
max_line_length = 100 | ||
insert_final_newline = true | ||
|
||
[*.md] | ||
max_line_length = 0 | ||
trim_trailing_whitespace = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
node_modules | ||
package-lock.json | ||
coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"env": { | ||
"es2021": true, | ||
"node": true | ||
}, | ||
"extends": ["airbnb-base", "prettier"], | ||
"parserOptions": { | ||
"ecmaVersion": 13, | ||
"sourceType": "module" | ||
}, | ||
"plugins": ["prettier"], | ||
"rules": { | ||
"prettier/prettier": "error" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
name: Bug report 🐛 | ||
description: Create a bug report for jest-prop-types. | ||
labels: ['needs triage'] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Please provide a searchable summary of the issue in the title above ⬆️. | ||
Thanks for contributing by creating an issue! ❤️ | ||
- type: textarea | ||
attributes: | ||
label: Current behavior 😯 | ||
description: Describe what happens instead of the expected behavior. | ||
- type: textarea | ||
attributes: | ||
label: Expected behavior 🤔 | ||
description: Describe what should happen. | ||
- type: textarea | ||
attributes: | ||
label: Steps to reproduce 🕹 | ||
description: | | ||
Please provide the step by step that led you to the error. Issues that we can't reproduce will be closed. | ||
value: | | ||
Steps: | ||
1. | ||
2. | ||
3. | ||
4. | ||
- type: textarea | ||
attributes: | ||
label: Context 🔦 | ||
description: What are you trying to accomplish? How has this issue affected you? Providing context helps us come up with a solution that is more useful in the real world. | ||
- type: textarea | ||
attributes: | ||
label: Your environment 🌎 | ||
description: Run `npx @mui/envinfo` and post the results. | ||
value: | | ||
<details> | ||
<summary>`npx @mui/envinfo`</summary> | ||
``` | ||
Don't forget to mention which browser you used. | ||
Output from `npx @mui/envinfo` goes here. | ||
``` | ||
</details> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: Feature request 💄 | ||
description: Suggest a new idea for jest-prop-types. | ||
labels: ['needs triage'] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Please provide a searchable summary of the issue in the title above ⬆️. | ||
Thanks for contributing by creating an issue! ❤️ | ||
- type: textarea | ||
attributes: | ||
label: Summary 💡 | ||
description: Describe how it should work. | ||
- type: textarea | ||
attributes: | ||
label: Motivation 🔦 | ||
description: What are you trying to accomplish? How has the lack of this feature affected you? Providing context helps us come up with a solution that is more useful in the real world. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<!-- Thanks so much for your PR, your contribution is appreciated! ❤️ --> | ||
|
||
- [ ] I have followed (at least) the [PR section of the contributing guide](https://github.com/vicasas/jest-prop-types/blob/HEAD/CONTRIBUTING.md#sending-a-pull-request). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||
|
||
# dependencies | ||
/node_modules | ||
/.pnp | ||
.pnp.js | ||
|
||
# testing | ||
/coverage | ||
|
||
# production | ||
/build | ||
|
||
# misc | ||
.DS_Store | ||
*.pem | ||
|
||
# debug | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
|
||
# local env files | ||
.env.local | ||
.env.development.local | ||
.env.test.local | ||
.env.production.local |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/sh | ||
. "$(dirname "$0")/_/husky.sh" | ||
|
||
npm run pre-commit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
node_modules | ||
package-lock.json | ||
coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"semi": false, | ||
"singleQuote": true, | ||
"jsxSingleQuote": true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. | ||
|
||
## 1.0.1 | ||
|
||
_Jan 20, 2022_ | ||
|
||
This library is to improve compatibility with prop-types in Jest by failing prop-types bug tests instead of ignoring them. 🎉 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
## Our Standards | ||
|
||
Examples of behavior that contributes to creating a positive environment include: | ||
|
||
- Using welcoming and inclusive language | ||
- Being respectful of differing viewpoints and experiences | ||
- Gracefully accepting constructive criticism | ||
- Focusing on what is best for the community | ||
- Showing empathy towards other community members | ||
|
||
Examples of unacceptable behavior by participants include: | ||
|
||
- The use of sexualized language or imagery and unwelcome sexual attention or advances | ||
- Trolling, insulting/derogatory comments, and personal or political attacks | ||
- Public or private harassment | ||
- Publishing others' private information, such as a physical or electronic address, without explicit permission | ||
- Other conduct which could reasonably be considered inappropriate in a professional setting | ||
|
||
## Our Responsibilities | ||
|
||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. | ||
|
||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. | ||
|
||
## Scope | ||
|
||
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. | ||
|
||
## Enforcement | ||
|
||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email]. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. | ||
|
||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. | ||
|
||
## Attribution | ||
|
||
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, | ||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html | ||
|
||
For answers to common questions about this code of conduct, see | ||
https://www.contributor-covenant.org/faq |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# Contributing to jest-prop-types | ||
|
||
If you're reading this, you're awesome! Thank you for helping us make this project great. Here are a few guidelines that will help you along the way. | ||
|
||
## Code of Conduct | ||
|
||
We have adopted the [Contributor Covenant](https://www.contributor-covenant.org/) as its Code of Conduct, and we expect project participants to adhere to it. | ||
Please read [the full text](/CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated. | ||
|
||
## Your first Pull Request | ||
|
||
Working on your first Pull Request? You can learn how from this free video series: | ||
|
||
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) | ||
|
||
If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment stating that you have started to work on it so other people don't accidentally duplicate your effort. | ||
|
||
If somebody claims an issue but doesn't follow up for more than a week, it's fine to take it over but you should still leave a comment. If there has been no activity on the issue for 7 to 14 days, it is safe to assume that nobody is working on it. | ||
|
||
## Sending a Pull Request | ||
|
||
jest-prop-types is a community project, so Pull Requests are always welcome, but, before working on a large change, it is best to open an issue first to discuss it with the maintainers. | ||
|
||
When in doubt, keep your Pull Requests small. To give a Pull Request the best chance of getting accepted, don't bundle more than one feature or bug fix per Pull Request. It's often best to create two smaller Pull Requests than one big one. | ||
|
||
The step by step | ||
|
||
1. Fork the repository | ||
|
||
2. Clone the fork to your local machine and add upstream remote: | ||
|
||
```sh | ||
git clone https://github.com/<your username>/jest-prop-types.git | ||
cd jest-prop-types | ||
git remote add upstream https://github.com/vicasas/jest-prop-types.git | ||
``` | ||
|
||
3. Synchronize your local `main` branch with the upstream one: | ||
|
||
```sh | ||
git checkout main | ||
git pull upstream main | ||
``` | ||
|
||
4. Install the dependencies with npm: | ||
|
||
```sh | ||
npm install | ||
``` | ||
|
||
5. Create a new topic branch: | ||
|
||
```sh | ||
git checkout -b my-topic-branch | ||
``` | ||
|
||
6. Make changes, commit and push to your fork: | ||
|
||
```sh | ||
git push -u origin HEAD | ||
``` | ||
|
||
7. Go to [the repository](https://github.com/vicasas/jest-prop-types) and make a Pull Request. | ||
|
||
The core team is monitoring for Pull Requests. We will review your Pull Request and either merge it, request changes to it, or close it with an explanation. | ||
|
||
## Coding style | ||
|
||
We are using Prettier to format and Eslint to write better code, following the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript). Make sure your code adheres to the style rules before submitting a pull request. | ||
|
||
We are using husky and lint-staged for a better development experience, every time I commit the linter tasks will run automatically. But you can also run the following commands manually on the console: | ||
|
||
`npm run prettier:fix`: For formatting corrections. | ||
|
||
`npm run eslint:fix`: For code fixes. | ||
|
||
## License | ||
|
||
By contributing your code to the [jest-prop-types](https://github.com/vicasas/jest-prop-types) GitHub repository, you agree to license your contribution under the [MIT license](/LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2022 Victor Casas | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# jest-prop-types | ||
|
||
This little library improves support for accessory types in Jest by failing accessory type bug tests instead of ignoring them. | ||
|
||
Every time the test runs and every time a faulty accessory is sent to your component, the accessory type validation will detect it and cause the test to fail. | ||
|
||
## Installation | ||
|
||
```sh | ||
npm install --save-dev jest-prop-types | ||
``` | ||
|
||
## Usage | ||
|
||
To catch accessory errors and Jest fail the test, you need to add the following to your `jest.config.js` file. | ||
|
||
```js | ||
{ | ||
"setupFiles": [ | ||
"jest-prop-types" | ||
] | ||
} | ||
``` | ||
|
||
### Whit Create React App | ||
|
||
[Create React App](https://create-react-app.dev/) does not allow the use of `setupFiles`, instead add `jest-prop-types` to your `setupTests.js` file. | ||
|
||
```js | ||
import 'jest-prop-types' | ||
``` | ||
|
||
## Contributing | ||
|
||
Read the [contributing guide](/CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements. | ||
|
||
## Changelog | ||
|
||
To see what has changed visit our [CHANGELOG.md](/CHANGELOG.md). | ||
|
||
## License | ||
|
||
This project is licensed under the terms of the [MIT license](/LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
const util = require('util') | ||
|
||
/* eslint-disable no-console */ | ||
console.error = (...args) => { | ||
const message = util.format(...args) | ||
if (/(Invalid prop|Failed prop type)/gi.test(message)) { | ||
throw new Error(message) | ||
} | ||
} |
Oops, something went wrong.