chore: migrate @recorder to @playwright/recorder

This commit is contained in:
Max Schmitt 2024-12-13 16:41:57 -08:00
parent 91d4b82dfb
commit 5ca7e4b1ff
30 changed files with 39 additions and 42 deletions

9
package-lock.json generated
View file

@ -1503,6 +1503,10 @@
"resolved": "packages/playwright-ct-vue", "resolved": "packages/playwright-ct-vue",
"link": true "link": true
}, },
"node_modules/@playwright/recorder": {
"resolved": "packages/recorder",
"link": true
},
"node_modules/@playwright/test": { "node_modules/@playwright/test": {
"resolved": "packages/playwright-test", "resolved": "packages/playwright-test",
"link": true "link": true
@ -6072,10 +6076,6 @@
"node": ">=8.10.0" "node": ">=8.10.0"
} }
}, },
"node_modules/recorder": {
"resolved": "packages/recorder",
"link": true
},
"node_modules/reflect.getprototypeof": { "node_modules/reflect.getprototypeof": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
@ -7958,6 +7958,7 @@
} }
}, },
"packages/recorder": { "packages/recorder": {
"name": "@playwright/recorder",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"yaml": "^2.6.0" "yaml": "^2.6.0"

View file

@ -16,7 +16,7 @@
import type { BrowserContextOptions } from '../../../types/types'; import type { BrowserContextOptions } from '../../../types/types';
import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { sanitizeDeviceOptions, toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language'; import { sanitizeDeviceOptions, toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language';
import { escapeWithQuotes, asLocator } from '../../utils'; import { escapeWithQuotes, asLocator } from '../../utils';
import { deviceDescriptors } from '../deviceDescriptors'; import { deviceDescriptors } from '../deviceDescriptors';

View file

@ -16,7 +16,7 @@
import type { BrowserContextOptions } from '../../../types/types'; import type { BrowserContextOptions } from '../../../types/types';
import type * as types from '../types'; import type * as types from '../types';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types';
import { toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language'; import { toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language';
import { deviceDescriptors } from '../deviceDescriptors'; import { deviceDescriptors } from '../deviceDescriptors';

View file

@ -16,7 +16,7 @@
import type { BrowserContextOptions } from '../../../types/types'; import type { BrowserContextOptions } from '../../../types/types';
import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { sanitizeDeviceOptions, toSignalMap, toKeyboardModifiers, toClickOptionsForSourceCode } from './language'; import { sanitizeDeviceOptions, toSignalMap, toKeyboardModifiers, toClickOptionsForSourceCode } from './language';
import { deviceDescriptors } from '../deviceDescriptors'; import { deviceDescriptors } from '../deviceDescriptors';
import { escapeWithQuotes, asLocator } from '../../utils'; import { escapeWithQuotes, asLocator } from '../../utils';

View file

@ -15,7 +15,7 @@
*/ */
import { asLocator } from '../../utils'; import { asLocator } from '../../utils';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types';
export class JsonlLanguageGenerator implements LanguageGenerator { export class JsonlLanguageGenerator implements LanguageGenerator {

View file

@ -15,7 +15,7 @@
*/ */
import type { BrowserContextOptions } from '../../..'; import type { BrowserContextOptions } from '../../..';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type * as types from '../types'; import type * as types from '../types';
import type { LanguageGenerator, LanguageGeneratorOptions } from './types'; import type { LanguageGenerator, LanguageGeneratorOptions } from './types';

View file

@ -16,7 +16,7 @@
import type { BrowserContextOptions } from '../../../types/types'; import type { BrowserContextOptions } from '../../../types/types';
import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { sanitizeDeviceOptions, toSignalMap, toKeyboardModifiers, toClickOptionsForSourceCode } from './language'; import { sanitizeDeviceOptions, toSignalMap, toKeyboardModifiers, toClickOptionsForSourceCode } from './language';
import { escapeWithQuotes, toSnakeCase, asLocator } from '../../utils'; import { escapeWithQuotes, toSnakeCase, asLocator } from '../../utils';
import { deviceDescriptors } from '../deviceDescriptors'; import { deviceDescriptors } from '../deviceDescriptors';

View file

@ -15,7 +15,7 @@
*/ */
import type { BrowserContextOptions, LaunchOptions } from '../../../types/types'; import type { BrowserContextOptions, LaunchOptions } from '../../../types/types';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type { Language } from '../../utils'; import type { Language } from '../../utils';
export type { Language } from '../../utils'; export type { Language } from '../../utils';

View file

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
import type { ElementInfo, Mode, Source } from '@recorder/recorderTypes'; import type { ElementInfo, Mode, Source } from '@playwright/recorder/src/recorderTypes';
import { gracefullyProcessExitDoNotHang } from '../utils/processLauncher'; import { gracefullyProcessExitDoNotHang } from '../utils/processLauncher';
import type { Browser } from './browser'; import type { Browser } from './browser';
import type { BrowserContext } from './browserContext'; import type { BrowserContext } from './browserContext';

View file

@ -14,8 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
import type { ElementInfo, Mode, OverlayState, UIState } from '@recorder/recorderTypes'; import type { ElementInfo, Mode, OverlayState, UIState } from '@playwright/recorder/src/recorderTypes';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type { InjectedScript } from '../injectedScript'; import type { InjectedScript } from '../injectedScript';
import { Recorder } from './recorder'; import { Recorder } from './recorder';
import type { RecorderDelegate } from './recorder'; import type { RecorderDelegate } from './recorder';

View file

@ -14,10 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type { InjectedScript } from '../injectedScript'; import type { InjectedScript } from '../injectedScript';
import type { Point } from '../../../common/types'; import type { Point } from '../../../common/types';
import type { ElementInfo, Mode, OverlayState, UIState } from '@recorder/recorderTypes'; import type { ElementInfo, Mode, OverlayState, UIState } from '@playwright/recorder/src/recorderTypes';
import type { ElementText } from '../selectorUtils'; import type { ElementText } from '../selectorUtils';
import type { Highlight, HighlightOptions } from '../highlight'; import type { Highlight, HighlightOptions } from '../highlight';
import clipPaths from './clipPaths'; import clipPaths from './clipPaths';

View file

@ -15,7 +15,7 @@
*/ */
import type * as channels from '@protocol/channels'; import type * as channels from '@protocol/channels';
import type { CallLog, CallLogStatus, ElementInfo, EventData, Mode, OverlayState, Source, UIState } from '@recorder/recorderTypes'; import type { CallLog, CallLogStatus, ElementInfo, EventData, Mode, OverlayState, Source, UIState } from '@playwright/recorder/src/recorderTypes';
import * as fs from 'fs'; import * as fs from 'fs';
import type { Point } from '../common/types'; import type { Point } from '../common/types';
import * as consoleApiSource from '../generated/consoleApiSource'; import * as consoleApiSource from '../generated/consoleApiSource';
@ -28,7 +28,7 @@ import type { CallMetadata, InstrumentationListener, SdkObject } from './instrum
import { ContextRecorder, generateFrameSelector } from './recorder/contextRecorder'; import { ContextRecorder, generateFrameSelector } from './recorder/contextRecorder';
import type { IRecorderAppFactory, IRecorderApp, IRecorder } from './recorder/recorderFrontend'; import type { IRecorderAppFactory, IRecorderApp, IRecorder } from './recorder/recorderFrontend';
import { metadataToCallLog } from './recorder/recorderUtils'; import { metadataToCallLog } from './recorder/recorderUtils';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { buildFullSelector } from '../utils/isomorphic/recorderUtils'; import { buildFullSelector } from '../utils/isomorphic/recorderUtils';
import { stringifySelector } from '../utils/isomorphic/selectorParser'; import { stringifySelector } from '../utils/isomorphic/selectorParser';
import type { Frame } from './frames'; import type { Frame } from './frames';

View file

@ -15,7 +15,7 @@
*/ */
import type * as channels from '@protocol/channels'; import type * as channels from '@protocol/channels';
import type { Source } from '@recorder/recorderTypes'; import type { Source } from '@playwright/recorder/src/recorderTypes';
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
import * as recorderSource from '../../generated/pollingRecorderSource'; import * as recorderSource from '../../generated/pollingRecorderSource';
import { eventsHelper, monotonicTime, quoteCSSAttributeValue, type RegisteredListener } from '../../utils'; import { eventsHelper, monotonicTime, quoteCSSAttributeValue, type RegisteredListener } from '../../utils';
@ -26,7 +26,7 @@ import { languageSet } from '../codegen/languages';
import type { Dialog } from '../dialog'; import type { Dialog } from '../dialog';
import { Frame } from '../frames'; import { Frame } from '../frames';
import { Page } from '../page'; import { Page } from '../page';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { ThrottledFile } from './throttledFile'; import { ThrottledFile } from './throttledFile';
import { RecorderCollection } from './recorderCollection'; import { RecorderCollection } from './recorderCollection';
import { generateCode } from '../codegen/language'; import { generateCode } from '../codegen/language';

View file

@ -20,14 +20,14 @@ import type { Page } from '../page';
import { ProgressController } from '../progress'; import { ProgressController } from '../progress';
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
import { serverSideCallMetadata } from '../instrumentation'; import { serverSideCallMetadata } from '../instrumentation';
import type { CallLog, ElementInfo, Mode, Source } from '@recorder/recorderTypes'; import type { CallLog, ElementInfo, Mode, Source } from '@playwright/recorder/src/recorderTypes';
import { isUnderTest } from '../../utils'; import { isUnderTest } from '../../utils';
import { mime } from '../../utilsBundle'; import { mime } from '../../utilsBundle';
import { syncLocalStorageWithSettings } from '../launchApp'; import { syncLocalStorageWithSettings } from '../launchApp';
import type { BrowserContext } from '../browserContext'; import type { BrowserContext } from '../browserContext';
import { launchApp } from '../launchApp'; import { launchApp } from '../launchApp';
import type { IRecorder, IRecorderApp, IRecorderAppFactory } from './recorderFrontend'; import type { IRecorder, IRecorderApp, IRecorderAppFactory } from './recorderFrontend';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
export class EmptyRecorderApp extends EventEmitter implements IRecorderApp { export class EmptyRecorderApp extends EventEmitter implements IRecorderApp {
wsEndpointForTest: undefined; wsEndpointForTest: undefined;

View file

@ -18,7 +18,7 @@ import { EventEmitter } from 'events';
import type { Frame } from '../frames'; import type { Frame } from '../frames';
import type { Page } from '../page'; import type { Page } from '../page';
import type { Signal } from '../../../../recorder/src/actions'; import type { Signal } from '../../../../recorder/src/actions';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { monotonicTime } from '../../utils/time'; import { monotonicTime } from '../../utils/time';
import { callMetadataForAction, collapseActions } from './recorderUtils'; import { callMetadataForAction, collapseActions } from './recorderUtils';
import { serializeError } from '../errors'; import { serializeError } from '../errors';

View file

@ -14,8 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type { CallLog, Mode, Source, ElementInfo } from '@recorder/recorderTypes'; import type { CallLog, Mode, Source, ElementInfo } from '@playwright/recorder/src/recorderTypes';
import type { EventEmitter } from 'events'; import type { EventEmitter } from 'events';
export interface IRecorder { export interface IRecorder {

View file

@ -15,7 +15,7 @@
*/ */
import path from 'path'; import path from 'path';
import type { CallLog, ElementInfo, Mode, Source } from '@recorder/recorderTypes'; import type { CallLog, ElementInfo, Mode, Source } from '@playwright/recorder/src/recorderTypes';
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
import type { IRecorder, IRecorderApp, IRecorderAppFactory } from './recorderFrontend'; import type { IRecorder, IRecorderApp, IRecorderAppFactory } from './recorderFrontend';
import { installRootRedirect, openTraceViewerApp, startTraceViewerServer } from '../trace/viewer/traceViewer'; import { installRootRedirect, openTraceViewerApp, startTraceViewerServer } from '../trace/viewer/traceViewer';
@ -24,7 +24,7 @@ import type { BrowserContext } from '../browserContext';
import type { HttpServer, Transport } from '../../utils/httpServer'; import type { HttpServer, Transport } from '../../utils/httpServer';
import type { Page } from '../page'; import type { Page } from '../page';
import { ManualPromise } from '../../utils/manualPromise'; import { ManualPromise } from '../../utils/manualPromise';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
export class RecorderInTraceViewer extends EventEmitter implements IRecorderApp { export class RecorderInTraceViewer extends EventEmitter implements IRecorderApp {
readonly wsEndpointForTest: string | undefined; readonly wsEndpointForTest: string | undefined;

View file

@ -18,7 +18,7 @@ import { serializeExpectedTextValues } from '../../utils';
import { toKeyboardModifiers } from '../codegen/language'; import { toKeyboardModifiers } from '../codegen/language';
import type { CallMetadata } from '../instrumentation'; import type { CallMetadata } from '../instrumentation';
import type { Page } from '../page'; import type { Page } from '../page';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import type * as types from '../types'; import type * as types from '../types';
import { mainFrameForAction } from './recorderUtils'; import { mainFrameForAction } from './recorderUtils';
import { buildFullSelector } from '../../utils/isomorphic/recorderUtils'; import { buildFullSelector } from '../../utils/isomorphic/recorderUtils';

View file

@ -15,10 +15,10 @@
*/ */
import type { CallMetadata } from '../instrumentation'; import type { CallMetadata } from '../instrumentation';
import type { CallLog, CallLogStatus } from '@recorder/recorderTypes'; import type { CallLog, CallLogStatus } from '@playwright/recorder/src/recorderTypes';
import type { Page } from '../page'; import type { Page } from '../page';
import type { Frame } from '../frames'; import type { Frame } from '../frames';
import type * as actions from '@recorder/actions'; import type * as actions from '@playwright/recorder/src/actions';
import { createGuid } from '../../utils'; import { createGuid } from '../../utils';
import { buildFullSelector, traceParamsForAction } from '../../utils/isomorphic/recorderUtils'; import { buildFullSelector, traceParamsForAction } from '../../utils/isomorphic/recorderUtils';

View file

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
import type * as recorderActions from '@recorder/actions'; import type * as recorderActions from '@playwright/recorder/src/actions';
import type * as channels from '@protocol/channels'; import type * as channels from '@protocol/channels';
import type * as types from '../../server/types'; import type * as types from '../../server/types';

View file

@ -1,5 +1,5 @@
{ {
"name": "recorder", "name": "@playwright/recorder",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",

View file

@ -19,7 +19,6 @@
"paths": { "paths": {
"@isomorphic/*": ["../playwright-core/src/utils/isomorphic/*"], "@isomorphic/*": ["../playwright-core/src/utils/isomorphic/*"],
"@protocol/*": ["../protocol/src/*"], "@protocol/*": ["../protocol/src/*"],
"@recorder/*": ["../recorder/src/*"],
"@web/*": ["../web/src/*"], "@web/*": ["../web/src/*"],
} }
}, },

View file

@ -14,7 +14,7 @@
limitations under the License. limitations under the License.
*/ */
import type * as actionTypes from '@recorder/actions'; import type * as actionTypes from '@playwright/recorder/src/actions';
import { ListView } from '@web/components/listView'; import { ListView } from '@web/components/listView';
import * as React from 'react'; import * as React from 'react';
import '../actionList.css'; import '../actionList.css';

View file

@ -14,8 +14,8 @@
limitations under the License. limitations under the License.
*/ */
import type * as actionTypes from '@recorder/actions'; import type * as actionTypes from '@playwright/recorder/src/actions';
import type { Mode, Source } from '@recorder/recorderTypes'; import type { Mode, Source } from '@playwright/recorder/src/recorderTypes';
import * as React from 'react'; import * as React from 'react';
export const BackendContext = React.createContext<Backend | undefined>(undefined); export const BackendContext = React.createContext<Backend | undefined>(undefined);

View file

@ -14,7 +14,7 @@
limitations under the License. limitations under the License.
*/ */
import type * as actionTypes from '@recorder/actions'; import type * as actionTypes from '@playwright/recorder/src/actions';
import { SourceChooser } from '@web/components/sourceChooser'; import { SourceChooser } from '@web/components/sourceChooser';
import { SplitView } from '@web/components/splitView'; import { SplitView } from '@web/components/splitView';
import type { TabbedPaneTabModel } from '@web/components/tabbedPane'; import type { TabbedPaneTabModel } from '@web/components/tabbedPane';

View file

@ -29,7 +29,7 @@ import type { Language } from '@isomorphic/locatorGenerators';
import { locatorOrSelectorAsSelector } from '@isomorphic/locatorParser'; import { locatorOrSelectorAsSelector } from '@isomorphic/locatorParser';
import { TabbedPaneTab } from '@web/components/tabbedPane'; import { TabbedPaneTab } from '@web/components/tabbedPane';
import { BrowserFrame } from './browserFrame'; import { BrowserFrame } from './browserFrame';
import type { ElementInfo } from '@recorder/recorderTypes'; import type { ElementInfo } from '@playwright/recorder/src/recorderTypes';
export const SnapshotTabsView: React.FunctionComponent<{ export const SnapshotTabsView: React.FunctionComponent<{
action: ActionTraceEvent | undefined, action: ActionTraceEvent | undefined,

View file

@ -19,7 +19,6 @@
"@injected/*": ["../playwright-core/src/server/injected/*"], "@injected/*": ["../playwright-core/src/server/injected/*"],
"@isomorphic/*": ["../playwright-core/src/utils/isomorphic/*"], "@isomorphic/*": ["../playwright-core/src/utils/isomorphic/*"],
"@protocol/*": ["../protocol/src/*"], "@protocol/*": ["../protocol/src/*"],
"@recorder/*": ["../recorder/src/*"],
"@testIsomorphic/*": ["../playwright/src/isomorphic/*"], "@testIsomorphic/*": ["../playwright/src/isomorphic/*"],
"@trace/*": ["../trace/src/*"], "@trace/*": ["../trace/src/*"],
"@web/*": ["../web/src/*"], "@web/*": ["../web/src/*"],

View file

@ -15,7 +15,7 @@
*/ */
import * as React from 'react'; import * as React from 'react';
import type { Source } from '@recorder/recorderTypes'; import type { Source } from '@playwright/recorder/src/recorderTypes';
export const SourceChooser: React.FC<{ export const SourceChooser: React.FC<{
sources: Source[], sources: Source[],

View file

@ -13,7 +13,6 @@
"paths": { "paths": {
"@isomorphic/*": ["packages/playwright-core/src/utils/isomorphic/*"], "@isomorphic/*": ["packages/playwright-core/src/utils/isomorphic/*"],
"@protocol/*": ["packages/protocol/src/*"], "@protocol/*": ["packages/protocol/src/*"],
"@recorder/*": ["packages/recorder/src/*"],
"@trace/*": ["packages/trace/src/*"], "@trace/*": ["packages/trace/src/*"],
"@web/*": ["packages/web/src/*"], "@web/*": ["packages/web/src/*"],
}, },

View file

@ -14,7 +14,6 @@
"@injected/*": ["./packages/playwright-core/src/server/injected/*"], "@injected/*": ["./packages/playwright-core/src/server/injected/*"],
"@isomorphic/*": ["./packages/playwright-core/src/utils/isomorphic/*"], "@isomorphic/*": ["./packages/playwright-core/src/utils/isomorphic/*"],
"@protocol/*": ["./packages/protocol/src/*"], "@protocol/*": ["./packages/protocol/src/*"],
"@recorder/*": ["./packages/recorder/src/*"],
"@testIsomorphic/*": ["./packages/playwright/src/isomorphic/*"], "@testIsomorphic/*": ["./packages/playwright/src/isomorphic/*"],
"@trace/*": ["./packages/trace/src/*"], "@trace/*": ["./packages/trace/src/*"],
"@web/*": ["./packages/web/src/*"], "@web/*": ["./packages/web/src/*"],