@testing-library/react-hooks
Advanced tools
Comparing version 4.0.0 to 5.0.0-beta.1
@@ -7,2 +7,4 @@ "use strict"; | ||
var _cleanup = require("./core/cleanup"); | ||
var _pure = require("./pure"); | ||
@@ -20,8 +22,2 @@ | ||
}); | ||
// Automatically registers cleanup in supported testing frameworks | ||
if (typeof afterEach === 'function' && !process.env.RHTL_SKIP_AUTO_CLEANUP) { | ||
afterEach(async () => { | ||
await (0, _pure.cleanup)(); | ||
}); | ||
} | ||
(0, _cleanup.autoRegisterCleanup)(); |
@@ -1,19 +0,4 @@ | ||
import React from 'react'; | ||
import { act } from 'react-test-renderer'; | ||
import { cleanup, addCleanup, removeCleanup } from './cleanup'; | ||
declare function renderHook<TProps, TResult>(callback: (props: TProps) => TResult, { initialProps, wrapper }?: { | ||
initialProps?: TProps; | ||
wrapper?: React.ComponentType<TProps>; | ||
}): { | ||
waitFor: (callback: () => boolean | void, { interval, timeout, suppressErrors }?: import("./asyncUtils").WaitOptions) => Promise<void>; | ||
waitForNextUpdate: ({ timeout }?: Pick<import("./asyncUtils").WaitOptions, "timeout">) => Promise<void>; | ||
waitForValueToChange: (selector: () => unknown, options?: import("./asyncUtils").WaitOptions) => Promise<void>; | ||
result: { | ||
readonly all: (Error | TResult | undefined)[]; | ||
readonly current: TResult; | ||
readonly error: Error | undefined; | ||
}; | ||
rerender: (newProps?: typeof initialProps) => void; | ||
unmount: () => void; | ||
}; | ||
export { renderHook, cleanup, addCleanup, removeCleanup, act }; | ||
declare const renderHook: <TProps, TResult>() => import("./types").RenderHook<TProps, TResult, import("./types").Renderer<TProps>>, act: import("./types").Act, cleanup: () => void, addCleanup: (callback: () => void | Promise<void>) => () => void, removeCleanup: (callback: () => void | Promise<void>) => void; | ||
export { renderHook, act, cleanup, addCleanup, removeCleanup }; | ||
export * from './types'; | ||
export * from './types/react'; |
222
lib/pure.js
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.renderHook = renderHook; | ||
Object.defineProperty(exports, "act", { | ||
enumerable: true, | ||
get: function () { | ||
return _reactTestRenderer.act; | ||
} | ||
}); | ||
Object.defineProperty(exports, "cleanup", { | ||
enumerable: true, | ||
get: function () { | ||
return _cleanup.cleanup; | ||
} | ||
}); | ||
Object.defineProperty(exports, "addCleanup", { | ||
enumerable: true, | ||
get: function () { | ||
return _cleanup.addCleanup; | ||
} | ||
}); | ||
Object.defineProperty(exports, "removeCleanup", { | ||
enumerable: true, | ||
get: function () { | ||
return _cleanup.removeCleanup; | ||
} | ||
}); | ||
var _exportNames = { | ||
renderHook: true, | ||
act: true, | ||
cleanup: true, | ||
addCleanup: true, | ||
removeCleanup: true | ||
}; | ||
exports.removeCleanup = exports.addCleanup = exports.cleanup = exports.act = exports.renderHook = void 0; | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _types = require("./types"); | ||
var _reactTestRenderer = require("react-test-renderer"); | ||
var _asyncUtils = _interopRequireDefault(require("./asyncUtils")); | ||
var _cleanup = require("./cleanup"); | ||
function isPromise(value) { | ||
return typeof value.then === 'function'; | ||
} | ||
function TestHook({ | ||
callback, | ||
hookProps, | ||
onError, | ||
children | ||
}) { | ||
try { | ||
// coerce undefined into TProps, so it maintains the previous behaviour | ||
children(callback(hookProps)); | ||
} catch (err) { | ||
if (isPromise(err)) { | ||
throw err; | ||
} else { | ||
onError(err); | ||
Object.keys(_types).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _types[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function () { | ||
return _types[key]; | ||
} | ||
} | ||
}); | ||
}); | ||
return null; | ||
} | ||
var _react = require("./types/react"); | ||
function Fallback() { | ||
return null; | ||
} | ||
function resultContainer() { | ||
const results = []; | ||
const resolvers = []; | ||
const result = { | ||
get all() { | ||
return results.map(({ | ||
value, | ||
error | ||
}) => error != null ? error : value); | ||
}, | ||
get current() { | ||
const { | ||
value, | ||
error | ||
} = results[results.length - 1]; | ||
if (error) { | ||
throw error; | ||
} | ||
return value; | ||
}, | ||
get error() { | ||
const { | ||
error | ||
} = results[results.length - 1]; | ||
return error; | ||
Object.keys(_react).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _react[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function () { | ||
return _react[key]; | ||
} | ||
}); | ||
}); | ||
const renderers = [{ | ||
required: 'react-test-renderer', | ||
renderer: './native/pure' | ||
}, { | ||
required: 'react-dom', | ||
renderer: './dom/pure' | ||
}]; | ||
}; | ||
function hasDependency(name) { | ||
try { | ||
require(name); | ||
const updateResult = (value, error) => { | ||
results.push({ | ||
value, | ||
error | ||
}); | ||
resolvers.splice(0, resolvers.length).forEach(resolve => resolve()); | ||
}; | ||
return { | ||
result, | ||
addResolver: resolver => { | ||
resolvers.push(resolver); | ||
}, | ||
setValue: value => updateResult(value), | ||
setError: error => updateResult(undefined, error) | ||
}; | ||
return true; | ||
} catch { | ||
return false; | ||
} | ||
} | ||
function renderHook(callback, { | ||
initialProps, | ||
wrapper | ||
} = {}) { | ||
const { | ||
result, | ||
setValue, | ||
setError, | ||
addResolver | ||
} = resultContainer(); | ||
const hookProps = { | ||
current: initialProps | ||
}; | ||
function getRenderer() { | ||
const validRenderer = renderers.find(({ | ||
required | ||
}) => hasDependency(required)); | ||
const wrapUiIfNeeded = innerElement => wrapper ? /*#__PURE__*/_react.default.createElement(wrapper, hookProps.current, innerElement) : innerElement; | ||
const toRender = () => wrapUiIfNeeded( /*#__PURE__*/_react.default.createElement(_react.Suspense, { | ||
fallback: /*#__PURE__*/_react.default.createElement(Fallback, null) | ||
}, /*#__PURE__*/_react.default.createElement(TestHook, { | ||
callback: callback, | ||
hookProps: hookProps.current, | ||
onError: setError | ||
}, setValue))); | ||
let testRenderer; | ||
(0, _reactTestRenderer.act)(() => { | ||
testRenderer = (0, _reactTestRenderer.create)(toRender()); | ||
}); | ||
function unmountHook() { | ||
(0, _reactTestRenderer.act)(() => { | ||
(0, _cleanup.removeCleanup)(unmountHook); | ||
testRenderer.unmount(); | ||
}); | ||
if (validRenderer) { | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
return require(validRenderer.renderer); | ||
} else { | ||
const options = renderers.map(({ | ||
required | ||
}) => ` - ${required}`).sort((a, b) => a.localeCompare(b)).join('/n'); | ||
throw new Error(`Could not auto-detect a React renderer. Are you sure you've installed one of the following\n${options}`); | ||
} | ||
} | ||
(0, _cleanup.addCleanup)(unmountHook); | ||
return { | ||
result, | ||
rerender: function (newProps = hookProps.current) { | ||
hookProps.current = newProps; | ||
(0, _reactTestRenderer.act)(() => { | ||
testRenderer.update(toRender()); | ||
}); | ||
}, | ||
unmount: unmountHook, | ||
...(0, _asyncUtils.default)(addResolver) | ||
}; | ||
} | ||
const { | ||
renderHook, | ||
act, | ||
cleanup, | ||
addCleanup, | ||
removeCleanup | ||
} = getRenderer(); | ||
exports.removeCleanup = removeCleanup; | ||
exports.addCleanup = addCleanup; | ||
exports.cleanup = cleanup; | ||
exports.act = act; | ||
exports.renderHook = renderHook; |
{ | ||
"name": "@testing-library/react-hooks", | ||
"version": "4.0.0", | ||
"version": "5.0.0-beta.1", | ||
"description": "Simple and complete React hooks testing utilities that encourage good testing practices.", | ||
@@ -17,3 +17,6 @@ "main": "lib/index.js", | ||
"src", | ||
"pure.js", | ||
"dom", | ||
"native", | ||
"server", | ||
"pure", | ||
"dont-cleanup-after-each.js" | ||
@@ -31,3 +34,4 @@ ], | ||
"prepare": "npm run build", | ||
"build": "kcd-scripts build --out-dir lib", | ||
"build": "kcd-scripts build --out-dir lib && npm run generate:submodules", | ||
"generate:submodules": "ts-node scripts/generate-submodules.ts", | ||
"test": "kcd-scripts test", | ||
@@ -45,2 +49,3 @@ "typecheck": "kcd-scripts typecheck", | ||
"@types/react": ">=16.9.0", | ||
"@types/react-dom": ">=16.9.0", | ||
"@types/react-test-renderer": ">=16.9.0" | ||
@@ -56,7 +61,9 @@ }, | ||
"docz-utils": "2.3.0", | ||
"eslint": "7.15.0", | ||
"eslint": "7.17.0", | ||
"kcd-scripts": "7.5.3", | ||
"prettier": "^2.2.1", | ||
"react": "17.0.1", | ||
"react-dom": "^17.0.1", | ||
"react-test-renderer": "17.0.1", | ||
"ts-node": "^9.1.1", | ||
"typescript": "4.1.3" | ||
@@ -66,4 +73,16 @@ }, | ||
"react": ">=16.9.0", | ||
"react-dom": ">=16.9.0", | ||
"react-test-renderer": ">=16.9.0" | ||
}, | ||
"peerDependenciesMeta": { | ||
"react": { | ||
"optional": true | ||
}, | ||
"react-dom": { | ||
"optional": true | ||
}, | ||
"react-test-renderer": { | ||
"optional": true | ||
} | ||
} | ||
} |
@@ -29,3 +29,3 @@ <div align="center"> | ||
[![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) | ||
[![All Contributors](https://img.shields.io/github/all-contributors/testing-library/react-hooks-testing-library?color=orange&style=flat-square)](#contributors) | ||
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) | ||
@@ -170,3 +170,3 @@ [![Code of Conduct](https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square)](https://github.com/testing-library/react-hooks-testing-library/blob/master/CODE_OF_CONDUCT.md) | ||
<tr> | ||
<td align="center"><a href="https://github.com/mpeyper"><img src="https://avatars0.githubusercontent.com/u/23029903?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Peyper</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Code">💻</a> <a href="#design-mpeyper" title="Design">🎨</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Documentation">📖</a> <a href="#ideas-mpeyper" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-mpeyper" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#platform-mpeyper" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Tests">⚠️</a> <a href="#tool-mpeyper" title="Tools">🔧</a></td> | ||
<td align="center"><a href="https://github.com/mpeyper"><img src="https://avatars0.githubusercontent.com/u/23029903?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Peyper</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Code">💻</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Documentation">📖</a> <a href="#ideas-mpeyper" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-mpeyper" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-mpeyper" title="Maintenance">🚧</a> <a href="#question-mpeyper" title="Answering Questions">💬</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Tests">⚠️</a></td> | ||
<td align="center"><a href="https://github.com/otofu-square"><img src="https://avatars0.githubusercontent.com/u/10118235?v=4?s=100" width="100px;" alt=""/><br /><sub><b>otofu-square</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=otofu-square" title="Code">💻</a></td> | ||
@@ -194,3 +194,3 @@ <td align="center"><a href="https://github.com/ab18556"><img src="https://avatars2.githubusercontent.com/u/988696?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrick P. Henley</b></sub></a><br /><a href="#ideas-ab18556" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Aab18556" title="Reviewed Pull Requests">👀</a></td> | ||
<td align="center"><a href="https://huchen.dev/"><img src="https://avatars3.githubusercontent.com/u/2078389?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hu Chen</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=huchenme" title="Code">💻</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=huchenme" title="Documentation">📖</a> <a href="#example-huchenme" title="Examples">💡</a></td> | ||
<td align="center"><a href="https://github.com/joshuaellis"><img src="https://avatars0.githubusercontent.com/u/37798644?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/joshuaellis"><img src="https://avatars0.githubusercontent.com/u/37798644?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Documentation">📖</a> <a href="#question-joshuaellis" title="Answering Questions">💬</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Code">💻</a> <a href="#ideas-joshuaellis" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-joshuaellis" title="Maintenance">🚧</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Tests">⚠️</a></td> | ||
<td align="center"><a href="https://github.com/Goldziher"><img src="https://avatars1.githubusercontent.com/u/30733348?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Na'aman Hirschfeld</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=Goldziher" title="Code">💻</a></td> | ||
@@ -205,3 +205,29 @@ </tr> | ||
<td align="center"><a href="https://github.com/jensmeindertsma"><img src="https://avatars3.githubusercontent.com/u/64677517?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jens Meindertsma</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jensmeindertsma" title="Code">💻</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jensmeindertsma" title="Tests">⚠️</a></td> | ||
<td align="center"><a href="https://github.com/marcosvega91"><img src="https://avatars2.githubusercontent.com/u/5365582?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marco Moretti</b></sub></a><br /><a href="#infra-marcosvega91" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://www.parkside.at/"><img src="https://avatars0.githubusercontent.com/u/27507295?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Martin V.</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=ndresx" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/erozak"><img src="https://avatars3.githubusercontent.com/u/22066282?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Erozak</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=erozak" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://nickmccurdy.com/"><img src="https://avatars0.githubusercontent.com/u/927220?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick McCurdy</b></sub></a><br /><a href="#maintenance-nickmccurdy" title="Maintenance">🚧</a></td> | ||
<td align="center"><a href="https://codepen.io/aryyya/"><img src="https://avatars1.githubusercontent.com/u/29365565?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Arya</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=aryyya" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://numb86.net/"><img src="https://avatars1.githubusercontent.com/u/16703337?v=4?s=100" width="100px;" alt=""/><br /><sub><b>numb86</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=numb86" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/foray1010"><img src="https://avatars3.githubusercontent.com/u/3212221?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alex Young</b></sub></a><br /><a href="#maintenance-foray1010" title="Maintenance">🚧</a></td> | ||
<td align="center"><a href="https://blam.sh/"><img src="https://avatars1.githubusercontent.com/u/3645856?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Lambert</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=benjdlambert" title="Documentation">📖</a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://github.com/ElRatonDeFuego"><img src="https://avatars1.githubusercontent.com/u/12750934?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Cho-Lerat</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=ElRatonDeFuego" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/evanharmon"><img src="https://avatars1.githubusercontent.com/u/8229989?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Evan Harmon</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=evanharmon" title="Documentation">📖</a></td> | ||
<td align="center"><a href="http://codedaily.io/"><img src="https://avatars1.githubusercontent.com/u/1714673?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Brown</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=browniefed" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/kahwee"><img src="https://avatars1.githubusercontent.com/u/262105?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KahWee Teng</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=kahwee" title="Documentation">📖</a></td> | ||
<td align="center"><a href="http://shagabutdinov.com/"><img src="https://avatars2.githubusercontent.com/u/1635613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Leonid Shagabutdinov</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=shagabutdinov" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://levibutcher.dev/"><img src="https://avatars2.githubusercontent.com/u/31522433?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Levi Butcher</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=LeviButcher" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/7michele7"><img src="https://avatars2.githubusercontent.com/u/17926167?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michele Settepani</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=7michele7" title="Documentation">📖</a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://github.com/samnoh"><img src="https://avatars1.githubusercontent.com/u/14857416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sam</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=samnoh" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/tanaypratap"><img src="https://avatars0.githubusercontent.com/u/10216863?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tanay Pratap</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=tanaypratap" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/techanvil"><img src="https://avatars0.githubusercontent.com/u/18395600?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tom Rees-Herdman</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=techanvil" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/iqbal125"><img src="https://avatars2.githubusercontent.com/u/24860061?v=4?s=100" width="100px;" alt=""/><br /><sub><b>iqbal125</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=iqbal125" title="Documentation">📖</a></td> | ||
<td align="center"><a href="https://github.com/cliffzhaobupt"><img src="https://avatars3.githubusercontent.com/u/7374506?v=4?s=100" width="100px;" alt=""/><br /><sub><b>cliffzhaobupt</b></sub></a><br /><a href="#maintenance-cliffzhaobupt" title="Maintenance">🚧</a></td> | ||
</tr> | ||
</table> | ||
@@ -208,0 +234,0 @@ |
@@ -1,10 +0,5 @@ | ||
import { cleanup } from './pure' | ||
import { autoRegisterCleanup } from './core/cleanup' | ||
// Automatically registers cleanup in supported testing frameworks | ||
if (typeof afterEach === 'function' && !process.env.RHTL_SKIP_AUTO_CLEANUP) { | ||
afterEach(async () => { | ||
await cleanup() | ||
}) | ||
} | ||
autoRegisterCleanup() | ||
export * from './pure' |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
71870
70
1317
270
7
15
2
2
1
+ Added@types/react-dom@>=16.9.0
+ Added@types/react-dom@18.3.1(transitive)
+ Addedreact-dom@18.3.1(transitive)