Commit 1e234e1580 for woocommerce

commit 1e234e15806b693f6c26a19696674aa085035619
Author: theAverageDev (Luca Tumedei) <luca@theaveragedev.com>
Date:   Mon Feb 9 12:02:39 2026 +0100

    Add TypeScript support scaffolding for e2e-pw tests (#63188)

diff --git a/plugins/woocommerce/changelog/e2e-pw-ts-conversion-01 b/plugins/woocommerce/changelog/e2e-pw-ts-conversion-01
new file mode 100644
index 0000000000..cc58516e8c
--- /dev/null
+++ b/plugins/woocommerce/changelog/e2e-pw-ts-conversion-01
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+
+Scaffold support files for TypeScript conversion of e2e-pw tests.
diff --git a/plugins/woocommerce/tests/e2e-pw/.eslintrc.cjs b/plugins/woocommerce/tests/e2e-pw/.eslintrc.cjs
new file mode 100644
index 0000000000..079adc1763
--- /dev/null
+++ b/plugins/woocommerce/tests/e2e-pw/.eslintrc.cjs
@@ -0,0 +1,41 @@
+module.exports = {
+	extends: [ 'plugin:playwright/recommended' ],
+	rules: {
+		'playwright/no-wait-for-timeout': 'error',
+		'playwright/no-skipped-test': 'off',
+		'no-console': 'off',
+		'jest/no-test-callback': 'off',
+		'jest/no-disabled-tests': 'off',
+		'jest/valid-expect': 'off',
+		'jest/expect-expect': 'off',
+		'jest/no-standalone-expect': 'off',
+		'jest/valid-title': 'off',
+		'testing-library/await-async-utils': 'off',
+		/*
+		 * The e2e-pw tests use dependencies from the parent woocommerce package.
+		 * This configuration tells ESLint to check both the local package.json
+		 * and the parent package.json when validating imports.
+		 */
+		'import/no-extraneous-dependencies': [
+			'warn',
+			{
+				packageDir: [ '.', '../..' ],
+			},
+		],
+	},
+	overrides: [
+		/*
+		 * The default ESLint parser will not handle TypeScript syntax.
+		 * This override switches to the TypeScript parser for .ts and .tsx
+		 * files so that ESLint can lint them without reporting parse errors.
+		 */
+		{
+			files: [ '**/*.ts', '**/*.tsx' ],
+			parser: '@typescript-eslint/parser',
+			parserOptions: {
+				ecmaVersion: 'latest',
+				sourceType: 'module',
+			},
+		},
+	],
+};
diff --git a/plugins/woocommerce/tests/e2e-pw/.eslintrc.js b/plugins/woocommerce/tests/e2e-pw/.eslintrc.js
deleted file mode 100644
index d46c97dcb8..0000000000
--- a/plugins/woocommerce/tests/e2e-pw/.eslintrc.js
+++ /dev/null
@@ -1,15 +0,0 @@
-module.exports = {
-	extends: [ 'plugin:playwright/recommended' ],
-	rules: {
-		'playwright/no-wait-for-timeout': 'error',
-		'playwright/no-skipped-test': 'off',
-		'no-console': 'off',
-		'jest/no-test-callback': 'off',
-		'jest/no-disabled-tests': 'off',
-		'jest/valid-expect': 'off',
-		'jest/expect-expect': 'off',
-		'jest/no-standalone-expect': 'off',
-		'jest/valid-title': 'off',
-		'testing-library/await-async-utils': 'off',
-	},
-};
diff --git a/plugins/woocommerce/tests/e2e-pw/tsconfig.json b/plugins/woocommerce/tests/e2e-pw/tsconfig.json
new file mode 100644
index 0000000000..561db06483
--- /dev/null
+++ b/plugins/woocommerce/tests/e2e-pw/tsconfig.json
@@ -0,0 +1,34 @@
+{
+	"$schema": "https://json.schemastore.org/tsconfig.json",
+	"compilerOptions": {
+		"target": "esnext",
+		"module": "esnext",
+		"moduleResolution": "node",
+		"baseUrl": ".",
+		"esModuleInterop": true,
+		"allowSyntheticDefaultImports": true,
+		"resolveJsonModule": true,
+		"sourceMap": true,
+		"strict": true,
+		"strictNullChecks": true,
+		"skipLibCheck": true,
+		"noEmit": true,
+		"allowJs": true,
+		"checkJs": false,
+		"lib": [
+			"dom",
+			"esnext"
+		],
+		"types": [
+			"node"
+		]
+	},
+	"include": [
+		"**/*"
+	],
+	"exclude": [
+		"node_modules",
+		"test-results",
+		"playwright-report"
+	]
+}