From a3b0f0cba86dd6ead900f0635ef4351dfcccc6c7 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Wed, 10 Jul 2024 22:32:08 +0200 Subject: [PATCH] chore: address deprecated Vite warnings (#31618) --- package.json | 2 +- packages/html-reporter/bundle.ts | 6 +++--- packages/html-reporter/package.json | 1 + packages/html-reporter/playwright.config.ts | 3 ++- packages/html-reporter/tsconfig.node.json | 6 ++++-- packages/recorder/package.json | 1 + packages/trace-viewer/{bundle.js => bundle.ts} | 15 +++++---------- packages/trace-viewer/package.json | 1 + packages/trace-viewer/tsconfig.node.json | 6 ++++-- packages/trace-viewer/vite.config.ts | 3 +-- packages/trace-viewer/vite.sw.config.ts | 3 +-- tsconfig.json | 5 +++-- 12 files changed, 27 insertions(+), 25 deletions(-) rename packages/trace-viewer/{bundle.js => bundle.ts} (86%) diff --git a/package.json b/package.json index 6d03ae29c4..179497da7b 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "ct": "playwright test tests/components/test-all.spec.js --reporter=list", "test": "playwright test --config=tests/library/playwright.config.ts", "eslint": "eslint --cache --report-unused-disable-directives --ext ts,tsx,js,jsx,mjs .", - "tsc": "tsc -p .", + "tsc": "tsc -p . && tsc -p packages/html-reporter/", "build-installer": "babel -s --extensions \".ts\" --out-dir packages/playwright-core/lib/utils/ packages/playwright-core/src/utils", "doc": "node utils/doclint/cli.js", "lint": "npm run eslint && npm run tsc && npm run doc && npm run check-deps && node utils/generate_channels.js && node utils/generate_types/ && npm run lint-tests && npm run test-types && npm run lint-packages", diff --git a/packages/html-reporter/bundle.ts b/packages/html-reporter/bundle.ts index 73408e5ce2..7dd1c651e1 100644 --- a/packages/html-reporter/bundle.ts +++ b/packages/html-reporter/bundle.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import fs, { existsSync } from 'fs'; +import fs from 'fs'; import path from 'path'; import type { Plugin, UserConfig } from 'vite'; @@ -26,7 +26,7 @@ export function bundle(): Plugin { config = c; }, transformIndexHtml: { - transform(html, ctx) { + handler(html, ctx) { if (!ctx || !ctx.bundle) return html; html = html.replace(/(?=/, ''); @@ -42,7 +42,7 @@ export function bundle(): Plugin { }, }, closeBundle: () => { - if (existsSync(path.join(config.build!.outDir!, 'index.html'))) { + if (fs.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( diff --git a/packages/html-reporter/package.json b/packages/html-reporter/package.json index 62d5d95bfd..bdd0485a07 100644 --- a/packages/html-reporter/package.json +++ b/packages/html-reporter/package.json @@ -2,6 +2,7 @@ "name": "html-reporter", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build && tsc", diff --git a/packages/html-reporter/playwright.config.ts b/packages/html-reporter/playwright.config.ts index ec2ff3c42f..1e6cb8b8a3 100644 --- a/packages/html-reporter/playwright.config.ts +++ b/packages/html-reporter/playwright.config.ts @@ -16,6 +16,7 @@ import { devices, defineConfig } from '@playwright/experimental-ct-react'; import path from 'path'; +import url from 'url'; export default defineConfig({ testDir: 'src', @@ -28,7 +29,7 @@ export default defineConfig({ ctViteConfig: { resolve: { alias: { - '@web': path.resolve(__dirname, '../web/src'), + '@web': path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), '../web/src'), }, } }, diff --git a/packages/html-reporter/tsconfig.node.json b/packages/html-reporter/tsconfig.node.json index e993792cb1..5ea435ac82 100644 --- a/packages/html-reporter/tsconfig.node.json +++ b/packages/html-reporter/tsconfig.node.json @@ -2,7 +2,9 @@ "compilerOptions": { "composite": true, "module": "esnext", - "moduleResolution": "node" + "moduleResolution": "node", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true }, - "include": ["vite.config.ts"] + "include": ["playwright.config.ts", "vite.config.ts", "bundle.ts"] } diff --git a/packages/recorder/package.json b/packages/recorder/package.json index 0641d13367..8482a7a7db 100644 --- a/packages/recorder/package.json +++ b/packages/recorder/package.json @@ -2,6 +2,7 @@ "name": "recorder", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build && tsc", diff --git a/packages/trace-viewer/bundle.js b/packages/trace-viewer/bundle.ts similarity index 86% rename from packages/trace-viewer/bundle.js rename to packages/trace-viewer/bundle.ts index f751f76c5c..eaf09a6cc3 100644 --- a/packages/trace-viewer/bundle.js +++ b/packages/trace-viewer/bundle.ts @@ -14,23 +14,18 @@ * limitations under the License. */ -/** - * @returns {import('vite').Plugin} - */ -export function bundle() { - let config; +import type { Plugin } from 'vite'; + +export function bundle(): Plugin { return { name: 'playwright-bundle', - config(c) { - config = c; - }, transformIndexHtml: { - transform(html, ctx) { + handler(html, ctx) { if (!ctx || !ctx.bundle) return html; // Workaround vite issue that we cannot exclude some scripts from preprocessing. return html.replace(/(?=/, '').replace('', ''); }, }, - } + }; } \ No newline at end of file diff --git a/packages/trace-viewer/package.json b/packages/trace-viewer/package.json index 069d430495..e1b745bf83 100644 --- a/packages/trace-viewer/package.json +++ b/packages/trace-viewer/package.json @@ -2,6 +2,7 @@ "name": "trace-viewer", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build && tsc", diff --git a/packages/trace-viewer/tsconfig.node.json b/packages/trace-viewer/tsconfig.node.json index e993792cb1..77fef63cae 100644 --- a/packages/trace-viewer/tsconfig.node.json +++ b/packages/trace-viewer/tsconfig.node.json @@ -2,7 +2,9 @@ "compilerOptions": { "composite": true, "module": "esnext", - "moduleResolution": "node" + "moduleResolution": "node", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true }, - "include": ["vite.config.ts"] + "include": ["vite.config.ts", "vite.sw.config.ts", "bundle.ts"] } diff --git a/packages/trace-viewer/vite.config.ts b/packages/trace-viewer/vite.config.ts index a051466a94..13310ca0f7 100644 --- a/packages/trace-viewer/vite.config.ts +++ b/packages/trace-viewer/vite.config.ts @@ -16,9 +16,8 @@ import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; -// @ts-ignore import { bundle } from './bundle'; -import * as path from 'path'; +import path from 'path'; // https://vitejs.dev/config/ export default defineConfig({ diff --git a/packages/trace-viewer/vite.sw.config.ts b/packages/trace-viewer/vite.sw.config.ts index 28d771c0f9..c0dba9f124 100644 --- a/packages/trace-viewer/vite.sw.config.ts +++ b/packages/trace-viewer/vite.sw.config.ts @@ -16,9 +16,8 @@ import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; -// @ts-ignore import { bundle } from './bundle'; -import * as path from 'path'; +import path from 'path'; // https://vitejs.dev/config/ export default defineConfig({ diff --git a/tsconfig.json b/tsconfig.json index 56d9996996..acb0e0d63d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,7 +24,7 @@ "esModuleInterop": true, "strict": true, "allowJs": false, - "jsx": "preserve", + "jsx": "react-jsx", "resolveJsonModule": true, "noEmit": true, "noImplicitOverride": true, @@ -35,5 +35,6 @@ "include": ["packages"], "exclude": [ "packages/*/lib", - ], + "packages/html-reporter/", + ] }