From 816e577530029c852de2281e027044e4932c5fbe Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Mon, 18 Aug 2025 13:15:20 +0200 Subject: [PATCH] Revert globToRegex removal --- packages/playwright-core/src/protocol/validator.ts | 8 ++++++++ .../src/server/dispatchers/localUtilsDispatcher.ts | 6 ++++++ .../src/utils/isomorphic/protocolMetainfo.ts | 1 + .../src/utils/isomorphic/urlMatch.ts | 2 +- packages/protocol/src/channels.d.ts | 13 +++++++++++++ packages/protocol/src/protocol.yml | 8 ++++++++ 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/protocol/validator.ts b/packages/playwright-core/src/protocol/validator.ts index a6be00e094ae0..7cc9066da70c0 100644 --- a/packages/playwright-core/src/protocol/validator.ts +++ b/packages/playwright-core/src/protocol/validator.ts @@ -358,6 +358,14 @@ scheme.LocalUtilsTraceDiscardedParams = tObject({ stacksId: tString, }); scheme.LocalUtilsTraceDiscardedResult = tOptional(tObject({})); +scheme.LocalUtilsGlobToRegexParams = tObject({ + glob: tString, + baseURL: tOptional(tString), + webSocketUrl: tOptional(tBoolean), +}); +scheme.LocalUtilsGlobToRegexResult = tObject({ + regex: tString, +}); scheme.RootInitializer = tOptional(tObject({})); scheme.RootInitializeParams = tObject({ sdkLanguage: tType('SDKLanguage'), diff --git a/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts b/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts index bcc190eb25a80..94d0332b47a6e 100644 --- a/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts @@ -24,6 +24,7 @@ import { Progress } from '../progress'; import { SocksInterceptor } from '../socksInterceptor'; import { WebSocketTransport } from '../transport'; import { fetchData } from '../utils/network'; +import { resolveGlobToRegexPattern } from '../../utils/isomorphic/urlMatch'; import type { HarBackend } from '../harBackend'; import type { Playwright } from '../playwright'; @@ -116,6 +117,11 @@ export class LocalUtilsDispatcher extends Dispatcher transport.close()); return { pipe, headers: transport.headers }; } + + async globToRegex(params: channels.LocalUtilsGlobToRegexParams, progress: Progress): Promise { + const regex = resolveGlobToRegexPattern(params.baseURL, params.glob, params.webSocketUrl); + return { regex }; + } } async function urlToWSEndpoint(progress: Progress, endpointURL: string): Promise { diff --git a/packages/playwright-core/src/utils/isomorphic/protocolMetainfo.ts b/packages/playwright-core/src/utils/isomorphic/protocolMetainfo.ts index 13646ce5ba912..226f8dc6e92b2 100644 --- a/packages/playwright-core/src/utils/isomorphic/protocolMetainfo.ts +++ b/packages/playwright-core/src/utils/isomorphic/protocolMetainfo.ts @@ -32,6 +32,7 @@ export const methodMetainfo = new Map; addStackToTracingNoReply(params: LocalUtilsAddStackToTracingNoReplyParams, progress?: Progress): Promise; traceDiscarded(params: LocalUtilsTraceDiscardedParams, progress?: Progress): Promise; + globToRegex(params: LocalUtilsGlobToRegexParams, progress?: Progress): Promise; } export type LocalUtilsZipParams = { zipFile: string, @@ -583,6 +584,18 @@ export type LocalUtilsTraceDiscardedOptions = { }; export type LocalUtilsTraceDiscardedResult = void; +export type LocalUtilsGlobToRegexParams = { + glob: string, + baseURL?: string, + webSocketUrl?: boolean, +}; +export type LocalUtilsGlobToRegexOptions = { + baseURL?: string, + webSocketUrl?: boolean, +}; +export type LocalUtilsGlobToRegexResult = { + regex: string, +}; export interface LocalUtilsEvents { } diff --git a/packages/protocol/src/protocol.yml b/packages/protocol/src/protocol.yml index 8bf6248159781..080251712ae74 100644 --- a/packages/protocol/src/protocol.yml +++ b/packages/protocol/src/protocol.yml @@ -766,6 +766,14 @@ LocalUtils: parameters: stacksId: string + globToRegex: + internal: true + parameters: + glob: string + baseURL: string? + webSocketUrl: boolean? + returns: + regex: string Root: type: interface