diff --git a/package-lock.json b/package-lock.json index 9bef8cc15b..e565886011 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "@typescript-eslint/parser": "^6.6.0", "@vitejs/plugin-basic-ssl": "^1.0.1", "@vitejs/plugin-react": "^3.1.0", - "@zip.js/zip.js": "^2.4.2", + "@zip.js/zip.js": "^2.7.29", "chokidar": "^3.5.3", "colors": "^1.4.0", "commonmark": "^0.30.0", @@ -2016,9 +2016,15 @@ "peer": true }, "node_modules/@zip.js/zip.js": { - "version": "2.4.2", + "version": "2.7.29", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.29.tgz", + "integrity": "sha512-KtOa3HY7Vi77ctZAVhx2nsKweDTCP4DVBghZkvg5qyIX6T/Z54QlU6f0q2hFhxu5j+LgUDeMMhiv2xj4ZF6snA==", "dev": true, - "license": "BSD-3-Clause" + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=16.5.0" + } }, "node_modules/abbrev": { "version": "1.1.1", @@ -8007,7 +8013,9 @@ "peer": true }, "@zip.js/zip.js": { - "version": "2.4.2", + "version": "2.7.29", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.29.tgz", + "integrity": "sha512-KtOa3HY7Vi77ctZAVhx2nsKweDTCP4DVBghZkvg5qyIX6T/Z54QlU6f0q2hFhxu5j+LgUDeMMhiv2xj4ZF6snA==", "dev": true }, "abbrev": { diff --git a/package.json b/package.json index e201ca557c..6f66bafa30 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@typescript-eslint/parser": "^6.6.0", "@vitejs/plugin-basic-ssl": "^1.0.1", "@vitejs/plugin-react": "^3.1.0", - "@zip.js/zip.js": "^2.4.2", + "@zip.js/zip.js": "^2.7.29", "chokidar": "^3.5.3", "colors": "^1.4.0", "commonmark": "^0.30.0", diff --git a/packages/html-reporter/src/index.tsx b/packages/html-reporter/src/index.tsx index 6f2d3b414f..683113f32a 100644 --- a/packages/html-reporter/src/index.tsx +++ b/packages/html-reporter/src/index.tsx @@ -46,7 +46,7 @@ class ZipReport implements LoadedReport { private _json!: HTMLReport; async load() { - const zipReader = new zipjs.ZipReader(new zipjs.Data64URIReader((window as any).playwrightReportBase64), { useWebWorkers: false }) as zip.ZipReader; + const zipReader = new zipjs.ZipReader(new zipjs.Data64URIReader((window as any).playwrightReportBase64), { useWebWorkers: false }); for (const entry of await zipReader.getEntries()) this._entries.set(entry.filename, entry); this._json = await this.entry('report.json') as HTMLReport; diff --git a/packages/trace-viewer/src/progress.ts b/packages/trace-viewer/src/progress.ts index c230698159..a6f856ee59 100644 --- a/packages/trace-viewer/src/progress.ts +++ b/packages/trace-viewer/src/progress.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -type Progress = (done: number, total: number) => void; +type Progress = (done: number, total: number) => undefined; export function splitProgress(progress: Progress, weights: number[]): Progress[] { const doneList = new Array(weights.length).fill(0); diff --git a/packages/trace-viewer/src/sw.ts b/packages/trace-viewer/src/sw.ts index 4200e3b4c0..2334887fa5 100644 --- a/packages/trace-viewer/src/sw.ts +++ b/packages/trace-viewer/src/sw.ts @@ -37,7 +37,7 @@ const loadedTraces = new Map>(); -async function loadTrace(traceUrl: string, traceFileName: string | null, clientId: string, progress: (done: number, total: number) => void): Promise { +async function loadTrace(traceUrl: string, traceFileName: string | null, clientId: string, progress: (done: number, total: number) => undefined): Promise { await gc(); let set = clientIdToTraceUrls.get(clientId); if (!set) { diff --git a/packages/trace-viewer/src/traceModelBackends.ts b/packages/trace-viewer/src/traceModelBackends.ts index 7c11b4268e..19c5fc2dee 100644 --- a/packages/trace-viewer/src/traceModelBackends.ts +++ b/packages/trace-viewer/src/traceModelBackends.ts @@ -16,23 +16,24 @@ import type zip from '@zip.js/zip.js'; // @ts-ignore -import zipImport from '@zip.js/zip.js/dist/zip-no-worker-inflate.min.js'; +import * as zipImport from '@zip.js/zip.js/lib/zip-no-worker-inflate.js'; import type { TraceModelBackend } from './traceModel'; const zipjs = zipImport as typeof zip; -type Progress = (done: number, total: number) => void; +type Progress = (done: number, total: number) => undefined; export class ZipTraceModelBackend implements TraceModelBackend { - private _zipReader: zip.ZipReader; + private _zipReader: zip.ZipReader; private _entriesPromise: Promise>; private _traceURL: string; constructor(traceURL: string, progress: Progress) { this._traceURL = traceURL; + zipjs.configure({ baseURL: self.location.href } as any); this._zipReader = new zipjs.ZipReader( new zipjs.HttpReader(formatUrl(traceURL), { mode: 'cors', preventHeadRequest: true } as any), - { useWebWorkers: false }) as zip.ZipReader; + { useWebWorkers: false }); this._entriesPromise = this._zipReader.getEntries({ onprogress: progress }).then(entries => { const map = new Map(); for (const entry of entries)