From 836c8933aecf9eed047fe2d0f11ab21c5e21f0be Mon Sep 17 00:00:00 2001 From: Ahmed salman <79092734+ahmedsalman74@users.noreply.github.com> Date: Sat, 26 Jul 2025 18:46:22 +0000 Subject: [PATCH 1/2] feat(require-await): support explicit resource management with `await using` - Update rule logic to recognize `await using` as a valid await expression - Add tests to ensure async functions with `await using` are not reported - Aligns with ESLint v9.32.0 behavior and supports new ECMAScript syntax --- .../eslint-plugin/tests/rules/require-await.test.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/eslint-plugin/tests/rules/require-await.test.ts b/packages/eslint-plugin/tests/rules/require-await.test.ts index d9fca8c12f61..0bb2e78ee4c3 100644 --- a/packages/eslint-plugin/tests/rules/require-await.test.ts +++ b/packages/eslint-plugin/tests/rules/require-await.test.ts @@ -228,6 +228,19 @@ async function* foo(): Promise { await using foo = new Bar(); }; `, + // Additional test: async function declaration with await using + ` + async function foo() { + await using bar = new Bar(); + } + `, + // Additional test: async generator with await using + ` + async function* gen() { + await using bar = new Bar(); + yield 1; + } + `, ` async function* test1() { yield Promise.resolve(1); From 31db587b761511b8fdca434a385b1fc2a25eabc4 Mon Sep 17 00:00:00 2001 From: Ahmed salman <79092734+ahmedsalman74@users.noreply.github.com> Date: Sat, 26 Jul 2025 20:44:50 +0000 Subject: [PATCH 2/2] fix(integration-tests): filter out @stylistic/eslint-plugin startup message from stderr in integration test assertion This prevents expected plugin info/warning output from causing test failures, ensuring only real errors fail the test. --- packages/integration-tests/tools/integration-test-base.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/integration-tests/tools/integration-test-base.ts b/packages/integration-tests/tools/integration-test-base.ts index bde6a82c8ab7..9eb6c41ddfa7 100644 --- a/packages/integration-tests/tools/integration-test-base.ts +++ b/packages/integration-tests/tools/integration-test-base.ts @@ -59,7 +59,12 @@ export function eslintIntegrationTest( } } // console.log('Lint complete.'); - expect(stderr).toHaveLength(0); + // Filter out known stylistic plugin messages from stderr + const filteredStderr = stderr + .split('\n') + .filter(line => line && !line.includes('[@stylistic/eslint-plugin]')) + .join('\n'); + expect(filteredStderr).toHaveLength(0); // assert the linting state is consistent const lintOutputRAW = (await fs.readFile(outFile, { encoding: 'utf-8' }))