diff --git a/packages/html-reporter/bundle.js b/packages/html-reporter/bundle.ts
similarity index 80%
rename from packages/html-reporter/bundle.js
rename to packages/html-reporter/bundle.ts
index 57d5226869..73408e5ce2 100644
--- a/packages/html-reporter/bundle.js
+++ b/packages/html-reporter/bundle.ts
@@ -16,12 +16,10 @@
import fs, { existsSync } from 'fs';
import path from 'path';
+import type { Plugin, UserConfig } from 'vite';
-/**
- * @returns {import('vite').Plugin}
- */
-export function bundle() {
- let config;
+export function bundle(): Plugin {
+ let config: UserConfig;
return {
name: 'playwright-bundle',
config(c) {
@@ -32,7 +30,7 @@ export function bundle() {
if (!ctx || !ctx.bundle)
return html;
html = html.replace(/(?=/, '');
- for (const [name, value] of Object.entries(ctx.bundle)) {
+ for (const [name, value] of Object.entries(ctx.bundle) as any) {
if (name.endsWith('.map'))
continue;
if (value.code)
@@ -44,13 +42,13 @@ export function bundle() {
},
},
closeBundle: () => {
- if (existsSync(path.join(config.build.outDir, 'index.html'))) {
+ if (existsSync(path.join(config.build!.outDir!, 'index.html'))) {
const targetDir = path.join(__dirname, '..', 'playwright-core', 'lib', 'vite', 'htmlReport');
fs.mkdirSync(targetDir, { recursive: true });
fs.copyFileSync(
- path.join(config.build.outDir, 'index.html'),
- path.join(targetDir, 'index.html'));
+ path.join(config.build!.outDir!, 'index.html'),
+ path.join(targetDir, 'index.html'));
}
},
- }
+ };
}
\ No newline at end of file
diff --git a/packages/html-reporter/src/headerView.spec.tsx b/packages/html-reporter/src/headerView.spec.tsx
index 707ba73cc1..a0b27e6943 100644
--- a/packages/html-reporter/src/headerView.spec.tsx
+++ b/packages/html-reporter/src/headerView.spec.tsx
@@ -27,7 +27,6 @@ test('should render counters', async ({ mount }) => {
flaky: 17,
skipped: 10,
ok: false,
- duration: 100000
}} filterText='' setFilterText={() => {}}>);
await expect(component.locator('a', { hasText: 'All' }).locator('.counter')).toHaveText('100');
await expect(component.locator('a', { hasText: 'Passed' }).locator('.counter')).toHaveText('42');
@@ -46,7 +45,6 @@ test('should toggle filters', async ({ page, mount }) => {
flaky: 17,
skipped: 10,
ok: false,
- duration: 100000
}}
filterText=''
setFilterText={(filterText: string) => filters.push(filterText)}
diff --git a/packages/html-reporter/src/metadataView.tsx b/packages/html-reporter/src/metadataView.tsx
index 7fc6b3a520..d5f3a912df 100644
--- a/packages/html-reporter/src/metadataView.tsx
+++ b/packages/html-reporter/src/metadataView.tsx
@@ -34,16 +34,16 @@ export type Metainfo = {
};
class ErrorBoundary extends React.Component, { error: Error | null, errorInfo: React.ErrorInfo | null }> {
- state: { error: Error | null, errorInfo: React.ErrorInfo | null } = {
+ override state: { error: Error | null, errorInfo: React.ErrorInfo | null } = {
error: null,
errorInfo: null,
};
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
+ override componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
this.setState({ error, errorInfo });
}
- render() {
+ override render() {
if (this.state.error || this.state.errorInfo) {
return (
diff --git a/packages/web/playwright/index.ts b/packages/web/playwright/index.ts
index 0bff9a7ef4..cb53a5548a 100644
--- a/packages/web/playwright/index.ts
+++ b/packages/web/playwright/index.ts
@@ -15,6 +15,6 @@
*/
import '../src/common.css';
-import '../src/theme.ts';
+import '../src/theme';
import '../src/third_party/vscode/codicon.css';
import '../src/third_party/vscode/colors.css';
diff --git a/packages/web/src/components/expandable.tsx b/packages/web/src/components/expandable.tsx
index 8718e2014c..cb3a9b2254 100644
--- a/packages/web/src/components/expandable.tsx
+++ b/packages/web/src/components/expandable.tsx
@@ -19,7 +19,7 @@ import './expandable.css';
export const Expandable: React.FunctionComponent void,
expanded: boolean,
expandOnTitleClick?: boolean,
}>> = ({ title, children, setExpanded, expanded, expandOnTitleClick }) => {
diff --git a/tsconfig.json b/tsconfig.json
index ad039c3c70..669bc6d20d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -24,7 +24,7 @@
"esModuleInterop": true,
"strict": true,
"allowJs": false,
- "jsx": "react",
+ "jsx": "preserve",
"resolveJsonModule": true,
"noEmit": true,
"noImplicitOverride": true,
@@ -34,13 +34,11 @@
"include": ["packages"],
"exclude": [
"packages/*/lib",
- "packages/html-reporter",
"packages/playwright-ct-react",
"packages/playwright-ct-react17",
"packages/playwright-ct-solid",
"packages/playwright-ct-svelte",
"packages/playwright-ct-vue",
- "packages/playwright-ct-vue2",
- "packages/web",
+ "packages/playwright-ct-vue2"
],
}