auth0-lock 15.0.0 → 15.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/codeql.yml +1 -1
- package/.github/workflows/npm-release.yml +1 -1
- package/.github/workflows/snyk.yml +1 -1
- package/.github/workflows/test.yml +2 -2
- package/.version +1 -1
- package/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/lib/__tests__/auth_button.js +21 -6
- package/lib/__tests__/connection/database/login_pane.js +12 -5
- package/lib/__tests__/connection/database/reset_password.js +15 -12
- package/lib/__tests__/connection/enterprise/hrd_pane.js +16 -6
- package/lib/__tests__/connection/enterprise/hrd_screen.js +27 -18
- package/lib/__tests__/connection/passwordless/ask_vcode.js +15 -7
- package/lib/__tests__/core/sso/last_login_screen.js +91 -40
- package/lib/__tests__/engine/classic/mfa_login_screen.js +9 -3
- package/lib/__tests__/engine/classic/sign_up_pane.js +16 -6
- package/lib/__tests__/engine/classic/sign_up_screen.js +0 -1
- package/lib/__tests__/field/captcha/arkose.js +7 -0
- package/lib/__tests__/field/captcha/auth0_v2.js +6 -0
- package/lib/__tests__/field/captcha/friendlyCaptcha.js +6 -0
- package/lib/__tests__/field/captcha/hcaptcha.js +6 -0
- package/lib/__tests__/field/captcha/recaptcha_enterprise.js +6 -0
- package/lib/__tests__/field/captcha/recaptchav2.js +6 -0
- package/lib/__tests__/field/captcha/third_party_captcha.js +97 -64
- package/lib/__tests__/field/captcha.js +76 -143
- package/lib/__tests__/field/custom_input.js +7 -5
- package/lib/__tests__/field/email_pane.js +27 -11
- package/lib/__tests__/field/login_pane.js +6 -3
- package/lib/__tests__/field/mfa_code_pane.js +13 -6
- package/lib/__tests__/field/option_selection_pane.js +17 -7
- package/lib/__tests__/field/password_pane.js +8 -10
- package/lib/__tests__/field/phone_number_pane.js +7 -5
- package/lib/__tests__/field/social_buttons_pane.js +12 -9
- package/lib/__tests__/field/username_pane.js +33 -14
- package/lib/__tests__/field/vcode_pane.js +9 -5
- package/lib/__tests__/setup-tests.js +1 -7
- package/lib/__tests__/testUtils.js +27 -42
- package/lib/__tests__/ui/box/global_message.js +75 -42
- package/lib/__tests__/ui/input/email_input.js +4 -4
- package/lib/__tests__/ui/input/password/password_strength.js +8 -7
- package/lib/__tests__/ui/input/password_input.js +18 -14
- package/lib/core/web_api/helper.js +1 -1
- package/lib/i18n.js +1 -1
- package/lib/lock.js +1 -1
- package/lib/passwordless.js +1 -1
- package/package.json +7 -7
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
5
|
var _testUtils = require("../../testUtils");
|
|
6
6
|
var _global_message = _interopRequireDefault(require("ui/box/global_message"));
|
|
7
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
// Helper: render and get the instance via a callback ref (class component)
|
|
15
|
+
var renderWithInstance = function renderWithInstance(element) {
|
|
16
|
+
var instance = null;
|
|
17
|
+
var elementWithRef = /*#__PURE__*/_react.default.cloneElement(element, {
|
|
18
|
+
ref: function ref(r) {
|
|
19
|
+
instance = r;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
var result = (0, _react2.render)(elementWithRef);
|
|
23
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
24
|
+
instance: instance
|
|
25
|
+
});
|
|
26
|
+
};
|
|
8
27
|
describe('GlobalMessage', function () {
|
|
9
28
|
it('renders correctly given a success type', function () {
|
|
10
29
|
(0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
@@ -25,65 +44,77 @@ describe('GlobalMessage', function () {
|
|
|
25
44
|
})).toMatchSnapshot();
|
|
26
45
|
});
|
|
27
46
|
it('should call scrollIntoView if parameter is set and top < 0', function () {
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
47
|
+
var _renderWithInstance = renderWithInstance(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
48
|
+
type: "success",
|
|
49
|
+
message: "foo",
|
|
50
|
+
scrollIntoView: true
|
|
51
|
+
})),
|
|
52
|
+
container = _renderWithInstance.container,
|
|
53
|
+
instance = _renderWithInstance.instance;
|
|
54
|
+
var el = container.firstChild;
|
|
33
55
|
var getBoundingClientRectSpy = jest.fn().mockReturnValue({
|
|
34
56
|
top: -1
|
|
35
57
|
});
|
|
36
58
|
var scrollIntoViewSpy = jest.fn();
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
59
|
+
el.getBoundingClientRect = getBoundingClientRectSpy;
|
|
60
|
+
el.scrollIntoView = scrollIntoViewSpy;
|
|
61
|
+
instance.componentDidMount();
|
|
40
62
|
expect(getBoundingClientRectSpy).toHaveBeenCalled();
|
|
41
63
|
expect(scrollIntoViewSpy).toHaveBeenCalledWith(true);
|
|
42
64
|
});
|
|
43
65
|
it('should not call scrollIntoView if parameter is set and top >= 0', function () {
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
66
|
+
var _renderWithInstance2 = renderWithInstance(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
67
|
+
type: "success",
|
|
68
|
+
message: "foo",
|
|
69
|
+
scrollIntoView: true
|
|
70
|
+
})),
|
|
71
|
+
container = _renderWithInstance2.container,
|
|
72
|
+
instance = _renderWithInstance2.instance;
|
|
73
|
+
var el = container.firstChild;
|
|
49
74
|
var getBoundingClientRectSpy = jest.fn().mockReturnValue({
|
|
50
75
|
top: 0
|
|
51
76
|
});
|
|
52
77
|
var scrollIntoViewSpy = jest.fn();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
78
|
+
el.getBoundingClientRect = getBoundingClientRectSpy;
|
|
79
|
+
el.scrollIntoView = scrollIntoViewSpy;
|
|
80
|
+
instance.componentDidMount();
|
|
56
81
|
expect(getBoundingClientRectSpy).toHaveBeenCalled();
|
|
57
82
|
expect(scrollIntoViewSpy).not.toHaveBeenCalled();
|
|
58
83
|
});
|
|
59
84
|
it('should call scrollIntoView if parameter is not set (default is true)', function () {
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
85
|
+
var _renderWithInstance3 = renderWithInstance(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
86
|
+
type: "success",
|
|
87
|
+
message: "foo"
|
|
88
|
+
})),
|
|
89
|
+
container = _renderWithInstance3.container,
|
|
90
|
+
instance = _renderWithInstance3.instance;
|
|
91
|
+
var el = container.firstChild;
|
|
64
92
|
var getBoundingClientRectSpy = jest.fn().mockReturnValue({
|
|
65
93
|
top: -1
|
|
66
94
|
});
|
|
67
95
|
var scrollIntoViewSpy = jest.fn();
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
96
|
+
el.getBoundingClientRect = getBoundingClientRectSpy;
|
|
97
|
+
el.scrollIntoView = scrollIntoViewSpy;
|
|
98
|
+
instance.componentDidMount();
|
|
71
99
|
expect(getBoundingClientRectSpy).toHaveBeenCalled();
|
|
72
100
|
expect(scrollIntoViewSpy).toHaveBeenCalledWith(true);
|
|
73
101
|
});
|
|
74
102
|
it('should not call scrollIntoView if parameter is set to false', function () {
|
|
75
|
-
var
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
103
|
+
var _renderWithInstance4 = renderWithInstance(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
104
|
+
type: "success",
|
|
105
|
+
message: "foo",
|
|
106
|
+
scrollIntoView: false
|
|
107
|
+
})),
|
|
108
|
+
container = _renderWithInstance4.container,
|
|
109
|
+
instance = _renderWithInstance4.instance;
|
|
110
|
+
var el = container.firstChild;
|
|
80
111
|
var getBoundingClientRectSpy = jest.fn().mockReturnValue({
|
|
81
112
|
top: -1
|
|
82
113
|
});
|
|
83
114
|
var scrollIntoViewSpy = jest.fn();
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
115
|
+
el.getBoundingClientRect = getBoundingClientRectSpy;
|
|
116
|
+
el.scrollIntoView = scrollIntoViewSpy;
|
|
117
|
+
instance.componentDidMount();
|
|
87
118
|
expect(scrollIntoViewSpy).not.toHaveBeenCalled();
|
|
88
119
|
});
|
|
89
120
|
it('should NOT strip out HTML tags if given a React node', function () {
|
|
@@ -92,17 +123,19 @@ describe('GlobalMessage', function () {
|
|
|
92
123
|
__html: '<b>Success!</b>'
|
|
93
124
|
}
|
|
94
125
|
});
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
126
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
127
|
+
type: "success",
|
|
128
|
+
message: message
|
|
129
|
+
})),
|
|
130
|
+
container = _render.container;
|
|
131
|
+
expect(container.innerHTML).toBe('<div class="auth0-global-message auth0-global-message-success"><span class="animated fadeInUp">' + '<span><b>Success!</b></span></span></div>');
|
|
100
132
|
});
|
|
101
133
|
it('should strip out HTML tags if given a string', function () {
|
|
102
|
-
var
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
134
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_global_message.default, {
|
|
135
|
+
type: "success",
|
|
136
|
+
message: "<b>Success!</b>"
|
|
137
|
+
})),
|
|
138
|
+
container = _render2.container;
|
|
139
|
+
expect(container.innerHTML).toBe('<div class="auth0-global-message auth0-global-message-success"><span class="animated fadeInUp">' + '<b>Success!</b></span></div>');
|
|
107
140
|
});
|
|
108
141
|
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
5
|
var _testUtils = require("testUtils");
|
|
6
|
-
var _testUtils2 = require("../../testUtils");
|
|
7
6
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
7
|
jest.mock('ui/input/input_wrap', function () {
|
|
9
8
|
return (0, _testUtils.mockComponent)('input_wrap');
|
|
@@ -22,7 +21,8 @@ describe('EmailInput', function () {
|
|
|
22
21
|
};
|
|
23
22
|
test('renders without issue', function () {
|
|
24
23
|
var Input = getComponent();
|
|
25
|
-
var
|
|
26
|
-
|
|
24
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Input, defaultProps)),
|
|
25
|
+
container = _render.container;
|
|
26
|
+
expect(container.innerHTML).toMatchSnapshot();
|
|
27
27
|
});
|
|
28
28
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
5
|
var _password_strength = _interopRequireDefault(require("../../../../ui/input/password/password_strength"));
|
|
6
6
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
7
|
describe('PasswordStrength', function () {
|
|
@@ -22,12 +22,13 @@ describe('PasswordStrength', function () {
|
|
|
22
22
|
var messages = {
|
|
23
23
|
foo: 'the-message'
|
|
24
24
|
};
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_password_strength.default, {
|
|
26
|
+
policy: policy,
|
|
27
|
+
password: "the-password",
|
|
28
|
+
messages: messages
|
|
29
|
+
})),
|
|
30
|
+
container = _render.container;
|
|
31
|
+
expect(container.innerHTML).toMatchSnapshot();
|
|
31
32
|
});
|
|
32
33
|
});
|
|
33
34
|
});
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
5
|
var _testUtils = require("testUtils");
|
|
6
|
-
var _testUtils2 = require("../../testUtils");
|
|
7
|
-
var _input_wrap = _interopRequireDefault(require("../../../ui/input/input_wrap"));
|
|
8
6
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
7
|
jest.mock('ui/input/input_wrap', function () {
|
|
10
8
|
return (0, _testUtils.mockComponent)('input_wrap');
|
|
@@ -43,15 +41,17 @@ describe('PasswordInput', function () {
|
|
|
43
41
|
};
|
|
44
42
|
test('sends PasswordStrength as the `after` param', function () {
|
|
45
43
|
var Input = getComponent();
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Input, defaultProps)),
|
|
45
|
+
container = _render.container;
|
|
46
|
+
var inputEl = container.querySelector('input');
|
|
47
|
+
_react2.fireEvent.focus(inputEl);
|
|
48
|
+
_react2.fireEvent.change(inputEl, {
|
|
49
49
|
target: {
|
|
50
50
|
value: 'pass'
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
|
-
var props = (0,
|
|
54
|
-
expect(props.after.props).toEqual({
|
|
53
|
+
var props = (0, _testUtils.extractPropsFromWrapper)(container, 'input_wrap');
|
|
54
|
+
expect(props.after && props.after.props).toEqual({
|
|
55
55
|
messages: {
|
|
56
56
|
strengthMessages: 'strengthMessages'
|
|
57
57
|
},
|
|
@@ -64,20 +64,24 @@ describe('PasswordInput', function () {
|
|
|
64
64
|
return true;
|
|
65
65
|
};
|
|
66
66
|
var Input = getComponent();
|
|
67
|
-
var
|
|
68
|
-
|
|
67
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Input, defaultProps)),
|
|
68
|
+
container = _render2.container;
|
|
69
|
+
expect(container.querySelector('input').getAttribute('autocomplete')).toBe('on');
|
|
69
70
|
});
|
|
70
71
|
test('`allowPasswordAutocomplete=false` sets `autoComplete` as off', function () {
|
|
71
72
|
require('core/index').ui.allowPasswordAutocomplete = function () {
|
|
72
73
|
return false;
|
|
73
74
|
};
|
|
74
75
|
var Input = getComponent();
|
|
75
|
-
var
|
|
76
|
-
|
|
76
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Input, defaultProps)),
|
|
77
|
+
container = _render3.container;
|
|
78
|
+
expect(container.querySelector('input').getAttribute('autocomplete')).toBe('off');
|
|
77
79
|
});
|
|
78
80
|
test('shows invalid Hint', function () {
|
|
79
81
|
var Input = getComponent();
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Input, defaultProps)),
|
|
83
|
+
container = _render4.container;
|
|
84
|
+
var inputWrap = container.querySelector('[data-__type="input_wrap"]');
|
|
85
|
+
expect((0, _testUtils.getMockProps)(inputWrap).invalidHint).toBe('invalidHint');
|
|
82
86
|
});
|
|
83
87
|
});
|
package/lib/i18n.js
CHANGED
|
@@ -90,7 +90,7 @@ function assertLanguage(m, language, base) {
|
|
|
90
90
|
function syncLang(m, language, _cb) {
|
|
91
91
|
(0, _cdn_utils.load)({
|
|
92
92
|
method: 'registerLanguageDictionary',
|
|
93
|
-
url: "".concat(l.languageBaseUrl(m), "/js/lock/").concat("15.0.
|
|
93
|
+
url: "".concat(l.languageBaseUrl(m), "/js/lock/").concat("15.0.1", "/").concat(language, ".js"),
|
|
94
94
|
check: function check(str) {
|
|
95
95
|
return str && str === language;
|
|
96
96
|
},
|
package/lib/lock.js
CHANGED
|
@@ -36,7 +36,7 @@ var Auth0Lock = exports.default = /*#__PURE__*/function (_Core) {
|
|
|
36
36
|
_inherits(Auth0Lock, _Core);
|
|
37
37
|
return _createClass(Auth0Lock);
|
|
38
38
|
}(_core.default); // telemetry
|
|
39
|
-
Auth0Lock.version = "15.0.
|
|
39
|
+
Auth0Lock.version = "15.0.1";
|
|
40
40
|
|
|
41
41
|
// TODO: should we have different telemetry for classic/passwordless?
|
|
42
42
|
// TODO: should we set telemetry info before each request?
|
package/lib/passwordless.js
CHANGED
|
@@ -36,4 +36,4 @@ var Auth0LockPasswordless = exports.default = /*#__PURE__*/function (_Core) {
|
|
|
36
36
|
_inherits(Auth0LockPasswordless, _Core);
|
|
37
37
|
return _createClass(Auth0LockPasswordless);
|
|
38
38
|
}(_core.default);
|
|
39
|
-
Auth0LockPasswordless.version = "15.0.
|
|
39
|
+
Auth0LockPasswordless.version = "15.0.1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auth0-lock",
|
|
3
|
-
"version": "15.0.
|
|
3
|
+
"version": "15.0.1",
|
|
4
4
|
"description": "Auth0 Lock",
|
|
5
5
|
"author": "Auth0 <support@auth0.com> (http://auth0.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -63,8 +63,10 @@
|
|
|
63
63
|
"@babel/plugin-syntax-import-meta": "^7.0.0",
|
|
64
64
|
"@babel/preset-env": "^7.0.0",
|
|
65
65
|
"@babel/preset-react": "^7.0.0",
|
|
66
|
-
"@cfaester/enzyme-adapter-react-18": "^0.8.0",
|
|
67
66
|
"@google-cloud/translate": "^9.1.0",
|
|
67
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
68
|
+
"@testing-library/react": "^16.3.2",
|
|
69
|
+
"@testing-library/user-event": "^14.6.1",
|
|
68
70
|
"@types/auth0-js": "^9.21.6",
|
|
69
71
|
"babel-jest": "^29.3.1",
|
|
70
72
|
"babel-loader": "8.4.1",
|
|
@@ -78,7 +80,6 @@
|
|
|
78
80
|
"cross-env": "^7.0.3",
|
|
79
81
|
"css-loader": "^7.1.2",
|
|
80
82
|
"emojic": "^1.1.17",
|
|
81
|
-
"enzyme": "^3.1.1",
|
|
82
83
|
"es-check": "^6.0.0",
|
|
83
84
|
"eslint": "^8.45.0",
|
|
84
85
|
"eslint-config-prettier": "^8.8.0",
|
|
@@ -109,7 +110,6 @@
|
|
|
109
110
|
"mocha": "^11.5.0",
|
|
110
111
|
"prettier": "^2.4.1",
|
|
111
112
|
"puppeteer": "^24.9.0",
|
|
112
|
-
"react-test-renderer": "^18.2.0",
|
|
113
113
|
"sinon": "^1.15.4",
|
|
114
114
|
"stylus": "^0.64.0",
|
|
115
115
|
"stylus-loader": "^3.0.2",
|
|
@@ -132,8 +132,8 @@
|
|
|
132
132
|
"password-sheriff": "^2.0.0",
|
|
133
133
|
"prop-types": "^15.8.0",
|
|
134
134
|
"qs": "^6.14.1",
|
|
135
|
-
"react": "^18.2.0",
|
|
136
|
-
"react-dom": "^18.2.0",
|
|
135
|
+
"react": "^18.2.0 || ^19.0.0",
|
|
136
|
+
"react-dom": "^18.2.0 || ^19.0.0",
|
|
137
137
|
"react-transition-group": "^4.4.5",
|
|
138
138
|
"url-join": "^1.1.0",
|
|
139
139
|
"validator": "^13.15.22"
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
"<rootDir>/src/",
|
|
159
159
|
"<rootDir>/src/__tests__"
|
|
160
160
|
],
|
|
161
|
-
"
|
|
161
|
+
"setupFilesAfterEnv": [
|
|
162
162
|
"<rootDir>/src/__tests__/setup-tests.js"
|
|
163
163
|
],
|
|
164
164
|
"coveragePathIgnorePatterns": [
|