Skip to content

Commit 2c39396

Browse files
committed
[react] Disable testing-library/no-await-sync-events by default
`@testing-library/react` will require `await act()`. At that point the rule is useless. Kept for backwards compatibility.
1 parent 4f36067 commit 2c39396

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ module.exports = [
328328
| [await-async-queries](docs/rules/await-async-queries.md) | Enforce promises from async queries to be handled | ![badge-angular][] ![badge-dom][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | |
329329
| [await-async-utils](docs/rules/await-async-utils.md) | Enforce promises from async utils to be awaited properly | ![badge-angular][] ![badge-dom][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | |
330330
| [consistent-data-testid](docs/rules/consistent-data-testid.md) | Ensures consistent usage of `data-testid` | | | |
331-
| [no-await-sync-events](docs/rules/no-await-sync-events.md) | Disallow unnecessary `await` for sync events | ![badge-angular][] ![badge-dom][] ![badge-react][] | | |
331+
| [no-await-sync-events](docs/rules/no-await-sync-events.md) | Disallow unnecessary `await` for sync events | ![badge-angular][] ![badge-dom][] | | |
332332
| [no-await-sync-queries](docs/rules/no-await-sync-queries.md) | Disallow unnecessary `await` for sync queries | ![badge-angular][] ![badge-dom][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | |
333333
| [no-container](docs/rules/no-container.md) | Disallow the use of `container` methods | ![badge-angular][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | |
334334
| [no-debugging-utils](docs/rules/no-debugging-utils.md) | Disallow the use of debugging utilities like `debug` | | ![badge-angular][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | |

docs/rules/no-await-sync-events.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Disallow unnecessary `await` for sync events (`testing-library/no-await-sync-events`)
22

3-
💼 This rule is enabled in the following configs: `angular`, `dom`, `react`.
3+
💼 This rule is enabled in the following configs: `angular`, `dom`.
44

55
<!-- end auto-generated rule header -->
66

@@ -110,6 +110,7 @@ module.exports = {
110110

111111
## When Not To Use It
112112

113+
- When you're using `@testing-library/react` in version 17 and above.
113114
- `"fire-event"` option: should be disabled only for those Testing Library packages where fire-event methods are async.
114115
- `"user-event"` option: should be disabled only if using v14 or greater.
115116

lib/configs/react.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export = {
1212
'testing-library/await-async-queries': 'error',
1313
'testing-library/await-async-utils': 'error',
1414
'testing-library/no-await-sync-events': [
15-
'error',
15+
false,
1616
{ eventModules: ['fire-event'] },
1717
],
1818
'testing-library/no-await-sync-queries': 'error',

lib/rules/no-await-sync-events.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ export default createTestingLibraryRule<Options, MessageIds>({
3131
recommendedConfig: {
3232
dom: ['error', { eventModules: DEFAULT_EVENT_MODULES }],
3333
angular: ['error', { eventModules: DEFAULT_EVENT_MODULES }],
34-
react: ['error', { eventModules: DEFAULT_EVENT_MODULES }],
34+
// @testing-library/react >= 17.0 requires `await act()` and therefore `await fireEvent()`
35+
react: [false, { eventModules: DEFAULT_EVENT_MODULES }],
3536
vue: false,
3637
svelte: false,
3738
marko: false,

0 commit comments

Comments
 (0)