Skip to content

Commit 282f7f2

Browse files
authored
Merge pull request #77 from selbekk/add-react-17-support
Add react 17 support
2 parents bc4abee + b02f852 commit 282f7f2

File tree

4 files changed

+2869
-1279
lines changed

4 files changed

+2869
-1279
lines changed

.babelrc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
{
2-
"presets": ["react", "env"],
2+
"presets": ["@babel/preset-react", "@babel/preset-env"],
33
"plugins": [
4-
"transform-class-properties",
5-
"transform-es2015-modules-umd",
6-
"transform-object-rest-spread"
4+
"@babel/plugin-proposal-class-properties"
5+
76
]
87
}

package.json

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
"version": "0.0.0-semantically-released",
44
"description": "A red hot validation library for React",
55
"main": "dist/index.js",
6-
"keywords": ["validation", "react", "react validation"],
6+
"keywords": [
7+
"validation",
8+
"react",
9+
"react validation"
10+
],
711
"license": "MIT",
812
"repository": {
913
"type": "git",
@@ -14,38 +18,40 @@
1418
"build": "babel --out-dir dist --ignore *.spec.js src",
1519
"precommit": "pretty-quick --staged",
1620
"commit": "git-cz",
17-
"test": "jest",
18-
"test:watch": "jest --watch --coverage",
21+
"test": "jest src",
22+
"test:watch": "jest --watch --coverage src",
1923
"test:coverage": "jest --coverage",
2024
"semantic-release": "semantic-release",
2125
"travis-deploy-once": "travis-deploy-once"
2226
},
2327
"devDependencies": {
24-
"babel-cli": "^6.26.0",
25-
"babel-plugin-transform-class-properties": "^6.24.1",
26-
"babel-plugin-transform-es2015-modules-umd": "^6.24.1",
27-
"babel-plugin-transform-object-rest-spread": "^6.26.0",
28-
"babel-preset-env": "^1.6.1",
29-
"babel-preset-react": "^6.24.1",
28+
"@babel/cli": "^7.13.0",
29+
"@babel/core": "^7.13.8",
30+
"@babel/plugin-proposal-class-properties": "^7.13.0",
31+
"@babel/preset-env": "^7.13.8",
32+
"@babel/preset-react": "^7.12.13",
33+
"@testing-library/react": "^11.2.5",
3034
"commitizen": "^2.9.6",
3135
"cz-conventional-changelog": "^2.1.0",
32-
"dom-testing-library": "^1.1.0",
3336
"husky": "^0.14.3",
34-
"jest": "^22.4.3",
37+
"jest": "^26.6.3",
3538
"prettier": "^1.11.1",
3639
"pretty-quick": "^1.4.1",
37-
"react": "^16.3.1",
38-
"react-dom": "^16.3.1",
39-
"react-testing-library": "^6.0.0",
40+
"react": "17",
41+
"react-dom": "17",
42+
"regenerator-runtime": "^0.13.7",
4043
"rimraf": "^2.6.2",
4144
"semantic-release": "^15.1.5",
4245
"travis-deploy-once": "^4.4.1"
4346
},
4447
"peerDependencies": {
45-
"react": "^16.3.1",
46-
"react-dom": "^16.3.1"
48+
"react": "^16.3.1 || 17.x",
49+
"react-dom": "^16.3.1 || 17.x"
4750
},
48-
"files": ["README.md", "dist"],
51+
"files": [
52+
"README.md",
53+
"dist"
54+
],
4955
"config": {
5056
"commitizen": {
5157
"path": "node_modules/cz-conventional-changelog"

src/__tests__/integration-tests.spec.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1+
import { cleanup, fireEvent, render } from '@testing-library/react';
12
import React, { Fragment } from 'react';
2-
import { render, fireEvent, cleanup } from 'react-testing-library';
3-
4-
import { Form, Validation, FormValidation, ValidatorsProvider } from '..';
5-
3+
import { Form, FormValidation, Validation, ValidatorsProvider } from '..';
4+
import 'regenerator-runtime';
65
const ExampleForm = ({ fields, errors }) => (
76
<Fragment>
87
<div>
@@ -41,6 +40,7 @@ const ExampleForm = ({ fields, errors }) => (
4140
<span data-testid="delayed-error">{errors.delayed}</span>
4241
)}
4342
</div>
43+
<input type="reset" data-testid="reset-button" value="Reset" />
4444
</Fragment>
4545
);
4646

@@ -116,13 +116,13 @@ describe('<FormValidation />', () => {
116116

117117
it('calls the onReset prop', () => {
118118
const resetSpy = jest.fn();
119-
const { container } = render(
119+
const { getByTestId } = render(
120120
<FormValidation config={exampleConfig} onReset={resetSpy}>
121121
{props => <ExampleForm {...props} />}
122122
</FormValidation>,
123123
);
124124

125-
fireEvent(container.querySelector('form'), new Event('reset'));
125+
fireEvent.click(getByTestId('reset-button'));
126126

127127
expect(resetSpy).toHaveBeenCalledTimes(1);
128128
});
@@ -161,7 +161,7 @@ describe('<FormValidation />', () => {
161161

162162
it('calls the onUpdate prop with the correct params', () => {
163163
const updateSpy = jest.fn();
164-
const { container, getByLabelText } = render(
164+
const { getByTestId, getByLabelText } = render(
165165
<FormValidation config={exampleConfig} onUpdate={updateSpy}>
166166
{props => <ExampleForm {...props} />}
167167
</FormValidation>,
@@ -213,7 +213,7 @@ describe('<FormValidation />', () => {
213213
submitted: false,
214214
});
215215

216-
fireEvent(container.querySelector('form'), new Event('reset'));
216+
fireEvent.click(getByTestId('reset-button'));
217217

218218
expect(updateSpy).toHaveBeenCalledTimes(3); // reset
219219
expect(updateSpy).toHaveBeenCalledWith({

0 commit comments

Comments
 (0)