New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

playwright

Package Overview
Dependencies
Maintainers
0
Versions
4808
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

playwright - npm Package Compare versions

Comparing version 1.51.0-alpha-2025-02-19 to 1.51.0-alpha-2025-02-26

lib/worker/floatingPromiseScope.js

28

lib/common/config.js

@@ -10,8 +10,7 @@ "use strict";

exports.toReporters = toReporters;
var fs = _interopRequireWildcard(require("fs"));
var os = _interopRequireWildcard(require("os"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _os = _interopRequireDefault(require("os"));
var _path = _interopRequireDefault(require("path"));
var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -44,3 +43,2 @@ * Copyright Microsoft Corporation. All rights reserved.

this.singleTSConfigPath = void 0;
this.populateGitInfo = void 0;
this.cliArgs = [];

@@ -66,3 +64,3 @@ this.cliGrep = void 0;

const packageJsonPath = (0, _util.getPackageJsonPath)(configDir);
const packageJsonDir = packageJsonPath ? path.dirname(packageJsonPath) : process.cwd();
const packageJsonDir = packageJsonPath ? _path.default.dirname(packageJsonPath) : process.cwd();
this.configDir = configDir;

@@ -75,3 +73,2 @@ this.configCLIOverrides = configCLIOverrides;

this.singleTSConfigPath = pathResolve(configDir, userConfig.tsconfig);
this.populateGitInfo = takeFirst(userConfig.populateGitInfo, defaultPopulateGitInfo);
this.globalSetups = (Array.isArray(userConfig.globalSetup) ? userConfig.globalSetup : [userConfig.globalSetup]).map(s => resolveScript(s, configDir)).filter(script => script !== undefined);

@@ -90,3 +87,3 @@ this.globalTeardowns = (Array.isArray(userConfig.globalTeardown) ? userConfig.globalTeardown : [userConfig.globalTeardown]).map(s => resolveScript(s, configDir)).filter(script => script !== undefined);

globalTeardown: (_this$globalTeardowns = this.globalTeardowns[0]) !== null && _this$globalTeardowns !== void 0 ? _this$globalTeardowns : null,
globalTimeout: takeFirst(configCLIOverrides.globalTimeout, userConfig.globalTimeout, 0),
globalTimeout: takeFirst(configCLIOverrides.debug ? 0 : undefined, configCLIOverrides.globalTimeout, userConfig.globalTimeout, 0),
grep: takeFirst(userConfig.grep, defaultGrep),

@@ -118,3 +115,3 @@ grepInvert: takeFirst(userConfig.grepInvert, null),

if (workers.endsWith('%')) {
const cpus = os.cpus().length;
const cpus = _os.default.cpus().length;
this.config.workers = Math.max(1, Math.floor(cpus * (parseInt(workers, 10) / 100)));

@@ -181,3 +178,3 @@ } else {

grepInvert: takeFirst(projectConfig.grepInvert, config.grepInvert, null),
outputDir: takeFirst(configCLIOverrides.outputDir, pathResolve(configDir, projectConfig.outputDir), pathResolve(configDir, config.outputDir), path.join(packageJsonDir, 'test-results')),
outputDir: takeFirst(configCLIOverrides.outputDir, pathResolve(configDir, projectConfig.outputDir), pathResolve(configDir, config.outputDir), _path.default.join(packageJsonDir, 'test-results')),
// Note: we either apply the cli override for repeatEach or not, depending on whether the

@@ -202,3 +199,3 @@ // project is top-level vs dependency. See collectProjectsAndTestFiles in loadUtils.

const stylePaths = Array.isArray(this.expect.toHaveScreenshot.stylePath) ? this.expect.toHaveScreenshot.stylePath : [this.expect.toHaveScreenshot.stylePath];
this.expect.toHaveScreenshot.stylePath = stylePaths.map(stylePath => path.resolve(configDir, stylePath));
this.expect.toHaveScreenshot.stylePath = stylePaths.map(stylePath => _path.default.resolve(configDir, stylePath));
}

@@ -218,3 +215,3 @@ this.respectGitIgnore = takeFirst(projectConfig.respectGitIgnore, config.respectGitIgnore, !projectConfig.testDir && !config.testDir);

if (!relative) return undefined;
return path.resolve(baseDir, relative);
return _path.default.resolve(baseDir, relative);
}

@@ -270,4 +267,4 @@ function resolveReporters(reporters, rootDir) {

if (!id) return undefined;
const localPath = path.resolve(rootDir, id);
if (fs.existsSync(localPath)) return localPath;
const localPath = _path.default.resolve(rootDir, id);
if (_fs.default.existsSync(localPath)) return localPath;
return require.resolve(id, {

@@ -279,3 +276,2 @@ paths: [rootDir]

const defaultReporter = exports.defaultReporter = process.env.CI ? 'dot' : 'list';
const defaultPopulateGitInfo = process.env.GITHUB_ACTIONS === 'true';
const configInternalSymbol = Symbol('configInternalSymbol');

@@ -282,0 +278,0 @@ function getProjectId(project) {

@@ -13,4 +13,4 @@ "use strict";

exports.restartWithExperimentalTsEsm = restartWithExperimentalTsEsm;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -23,4 +23,3 @@ var _transform = require("../transform/transform");

var _esmUtils = require("../transform/esmUtils");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -216,2 +215,6 @@ * Copyright Microsoft Corporation. All rights reserved.

}
if ('tsconfig' in config && config.tsconfig !== undefined) {
if (typeof config.tsconfig !== 'string') throw (0, _util.errorWithFile)(file, `config.tsconfig must be a string`);
if (!_fs.default.existsSync(_path.default.resolve(file, '..', config.tsconfig))) throw (0, _util.errorWithFile)(file, `config.tsconfig does not exist`);
}
}

@@ -258,7 +261,7 @@ function validateProject(file, project, title) {

function resolveConfigLocation(configFile) {
const configFileOrDirectory = configFile ? path.resolve(process.cwd(), configFile) : process.cwd();
const configFileOrDirectory = configFile ? _path.default.resolve(process.cwd(), configFile) : process.cwd();
const resolvedConfigFile = resolveConfigFile(configFileOrDirectory);
return {
resolvedConfigFile,
configDir: resolvedConfigFile ? path.dirname(resolvedConfigFile) : configFileOrDirectory
configDir: resolvedConfigFile ? _path.default.dirname(resolvedConfigFile) : configFileOrDirectory
};

@@ -268,12 +271,12 @@ }

const resolveConfig = configFile => {
if (fs.existsSync(configFile)) return configFile;
if (_fs.default.existsSync(configFile)) return configFile;
};
const resolveConfigFileFromDirectory = directory => {
for (const ext of ['.ts', '.js', '.mts', '.mjs', '.cts', '.cjs']) {
const configFile = resolveConfig(path.resolve(directory, 'playwright.config' + ext));
const configFile = resolveConfig(_path.default.resolve(directory, 'playwright.config' + ext));
if (configFile) return configFile;
}
};
if (!fs.existsSync(configFileOrDirectory)) throw new Error(`${configFileOrDirectory} does not exist`);
if (fs.statSync(configFileOrDirectory).isDirectory()) {
if (!_fs.default.existsSync(configFileOrDirectory)) throw new Error(`${configFileOrDirectory} does not exist`);
if (_fs.default.statSync(configFileOrDirectory).isDirectory()) {
// When passed a directory, look for a config file inside.

@@ -280,0 +283,0 @@ const configFile = resolveConfigFileFromDirectory(configFileOrDirectory);

@@ -13,8 +13,7 @@ "use strict";

exports.stopCollectingFileDeps = stopCollectingFileDeps;
var url = _interopRequireWildcard(require("url"));
var _url = _interopRequireDefault(require("url"));
var _compilationCache = require("../transform/compilationCache");
var _portTransport = require("../transform/portTransport");
var _transform = require("../transform/transform");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -48,3 +47,3 @@ * Copyright (c) Microsoft Corporation.

// register will wait until the loader is initialized.
require('node:module').register(url.pathToFileURL(require.resolve('../transform/esmLoader')), {
require('node:module').register(_url.default.pathToFileURL(require.resolve('../transform/esmLoader')), {
data: {

@@ -51,0 +50,0 @@ port: port2

@@ -10,6 +10,5 @@ "use strict";

exports.inheritFixtureNames = inheritFixtureNames;
var crypto = _interopRequireWildcard(require("crypto"));
var _crypto = _interopRequireDefault(require("crypto"));
var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -200,3 +199,3 @@ * Copyright Microsoft Corporation. All rights reserved.

}
const hash = crypto.createHash('sha1');
const hash = _crypto.default.createHash('sha1');
for (const name of names) {

@@ -203,0 +202,0 @@ const registration = this._registrations.get(name);

@@ -14,7 +14,6 @@ "use strict";

exports.filterTestsRemoveEmptySuites = filterTestsRemoveEmptySuites;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -52,3 +51,3 @@ * Copyright Microsoft Corporation. All rights reserved.

function bindFileSuiteToProject(project, suite) {
const relativeFile = path.relative(project.project.testDir, suite.location.file);
const relativeFile = _path.default.relative(project.project.testDir, suite.location.file);
const fileId = (0, _utils.calculateSha1)((0, _utils.toPosixPath)(relativeFile)).slice(0, 20);

@@ -55,0 +54,0 @@

@@ -8,3 +8,3 @@ "use strict";

exports.loadTestFile = loadTestFile;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _util = _interopRequireDefault(require("util"));

@@ -17,5 +17,5 @@ var esmLoaderHost = _interopRequireWildcard(require("./esmLoaderHost"));

var _util2 = require("../util");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -44,3 +44,3 @@ * Copyright Microsoft Corporation. All rights reserved.

if (cachedFileSuites.has(file)) return cachedFileSuites.get(file);
const suite = new _test.Suite(path.relative(rootDir, file) || path.basename(file), 'file');
const suite = new _test.Suite(_path.default.relative(rootDir, file) || _path.default.basename(file), 'file');
suite._requireFile = file;

@@ -84,3 +84,3 @@ suite.location = {

// The file is different, check for a likely source map case.
if (path.extname(mappedFile) !== path.extname(suite.location.file)) suite.location.file = mappedFile;
if (_path.default.extname(mappedFile) !== _path.default.extname(suite.location.file)) suite.location.file = mappedFile;
}

@@ -87,0 +87,0 @@ }

@@ -227,5 +227,8 @@ "use strict";

}
async _step(expectation, title, body, options = {}) {
_step(expectation, title, body, options = {}) {
const testInfo = (0, _globals.currentTestInfo)();
if (!testInfo) throw new Error(`test.step() can only be called from a test`);
return testInfo._floatingPromiseScope.wrapPromiseAPIResult(this._stepInternal(expectation, testInfo, title, body, options));
}
async _stepInternal(expectation, testInfo, title, body, options = {}) {
const step = testInfo._addStep({

@@ -232,0 +235,0 @@ category: 'test.step',

@@ -32,4 +32,4 @@ "use strict";

exports.test = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var playwrightLibrary = _interopRequireWildcard(require("playwright-core"));

@@ -43,2 +43,3 @@ var _utils = require("playwright-core/lib/utils");

function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -61,3 +62,3 @@ * Copyright (c) Microsoft Corporation.

const _baseTest = exports._baseTest = _testType.rootTestType.test;
(0, _utils.setBoxedStackPrefixes)([path.dirname(require.resolve('../package.json'))]);
(0, _utils.setBoxedStackPrefixes)([_path.default.dirname(require.resolve('../package.json'))]);
if (process['__pw_initiator__']) {

@@ -690,4 +691,4 @@ const originalStackTraceLimit = Error.stackTraceLimit;

if (!config || !file) return file;
if (path.isAbsolute(file)) return file;
return path.resolve(path.dirname(config), file);
if (_path.default.isAbsolute(file)) return file;
return _path.default.resolve(_path.default.dirname(config), file);
}

@@ -743,3 +744,3 @@ function resolveClientCerticates(clientCertificates) {

const path = this._createAttachmentPath();
await fs.promises.rename(file, path);
await _fs.default.promises.rename(file, path);
this._attach(path);

@@ -768,3 +769,3 @@ } catch {}

_createTemporaryArtifact(...name) {
const file = path.join(this._artifactsRecorder._artifactsDir, ...name);
const file = _path.default.join(this._artifactsRecorder._artifactsDir, ...name);
return file;

@@ -812,3 +813,3 @@ }

});
await fs.promises.writeFile(path, ariaSnapshot);
await _fs.default.promises.writeFile(path, ariaSnapshot);
});

@@ -815,0 +816,0 @@ }

@@ -7,6 +7,5 @@ "use strict";

exports.fileDependencies = fileDependencies;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _compilationCache = require("./transform/compilationCache");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -29,3 +28,3 @@ * Copyright (c) Microsoft Corporation.

function fileDependencies() {
return Object.fromEntries([...(0, _compilationCache.fileDependenciesForTest)().entries()].map(entry => [path.basename(entry[0]), [...entry[1]].map(f => path.basename(f)).sort()]));
return Object.fromEntries([...(0, _compilationCache.fileDependenciesForTest)().entries()].map(entry => [_path.default.basename(entry[0]), [...entry[1]].map(f => _path.default.basename(f)).sort()]));
}

@@ -300,3 +300,6 @@ "use strict";

const result = (0, _utils.currentZone)().with('stepZone', step).run(callback);
if (result instanceof Promise) return result.then(finalizer).catch(reportStepError);
if (result instanceof Promise) {
const promise = result.then(finalizer).catch(reportStepError);
return testInfo._floatingPromiseScope.wrapPromiseAPIResult(promise);
}
finalizer();

@@ -303,0 +306,0 @@ return result;

@@ -7,4 +7,4 @@ "use strict";

exports.toMatchAriaSnapshot = toMatchAriaSnapshot;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -16,4 +16,3 @@ var _matcherHint = require("./matcherHint");

var _globals = require("../common/globals");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -75,3 +74,3 @@ * Copyright Microsoft Corporation. All rights reserved.

}
expected = await fs.promises.readFile(expectedPath, 'utf8').catch(() => '');
expected = await _fs.default.promises.readFile(expectedPath, 'utf8').catch(() => '');
timeout = (_expectedParam$timeou = expectedParam === null || expectedParam === void 0 ? void 0 : expectedParam.timeout) !== null && _expectedParam$timeou !== void 0 ? _expectedParam$timeou : this.timeout;

@@ -130,7 +129,7 @@ }

if (expectedPath) {
await fs.promises.mkdir(path.dirname(expectedPath), {
await _fs.default.promises.mkdir(_path.default.dirname(expectedPath), {
recursive: true
});
await fs.promises.writeFile(expectedPath, typedReceived.regex, 'utf8');
const relativePath = path.relative(process.cwd(), expectedPath);
await _fs.default.promises.writeFile(expectedPath, typedReceived.regex, 'utf8');
const relativePath = _path.default.relative(process.cwd(), expectedPath);
if (updateSnapshots === 'missing') {

@@ -137,0 +136,0 @@ const message = `A snapshot doesn't exist at ${relativePath}, writing actual.`;

@@ -9,4 +9,4 @@ "use strict";

exports.toMatchSnapshot = toMatchSnapshot;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -17,4 +17,3 @@ var _utilsBundle = require("playwright-core/lib/utilsBundle");

var _globals = require("../common/globals");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -101,3 +100,3 @@ * Copyright Microsoft Corporation. All rights reserved.

expectedPathSegments = Array.isArray(name) ? name : [(0, _util.sanitizeFilePathBeforeExtension)(name)];
const joinedName = Array.isArray(name) ? name.join(path.sep) : (0, _util.sanitizeFilePathBeforeExtension)((0, _util.trimLongString)(name, _util.windowsFilesystemFriendlyLength));
const joinedName = Array.isArray(name) ? name.join(_path.default.sep) : (0, _util.sanitizeFilePathBeforeExtension)((0, _util.trimLongString)(name, _util.windowsFilesystemFriendlyLength));
snapshotNames.namedSnapshotIndex[joinedName] = (snapshotNames.namedSnapshotIndex[joinedName] || 0) + 1;

@@ -134,3 +133,3 @@ const index = snapshotNames.namedSnapshotIndex[joinedName];

this.updateSnapshots = testInfo.config.updateSnapshots;
this.mimeType = (_mime$getType = _utilsBundle.mime.getType(path.basename(this.expectedPath))) !== null && _mime$getType !== void 0 ? _mime$getType : 'application/octet-string';
this.mimeType = (_mime$getType = _utilsBundle.mime.getType(_path.default.basename(this.expectedPath))) !== null && _mime$getType !== void 0 ? _mime$getType : 'application/octet-string';
this.comparator = (0, _utils.getComparator)(this.mimeType);

@@ -255,8 +254,8 @@ this.testInfo = testInfo;

if (this.isNot) {
if (!fs.existsSync(helper.expectedPath)) return helper.handleMissingNegated();
const isDifferent = !!helper.comparator(received, fs.readFileSync(helper.expectedPath), helper.options);
if (!_fs.default.existsSync(helper.expectedPath)) return helper.handleMissingNegated();
const isDifferent = !!helper.comparator(received, _fs.default.readFileSync(helper.expectedPath), helper.options);
return isDifferent ? helper.handleDifferentNegated() : helper.handleMatchingNegated();
}
if (!fs.existsSync(helper.expectedPath)) return helper.handleMissing(received, this._stepInfo);
const expected = fs.readFileSync(helper.expectedPath);
if (!_fs.default.existsSync(helper.expectedPath)) return helper.handleMissing(received, this._stepInfo);
const expected = _fs.default.readFileSync(helper.expectedPath);
if (helper.updateSnapshots === 'all') {

@@ -286,3 +285,3 @@ if (!(0, _utils.compareBuffersOrStrings)(received, expected)) return helper.handleMatching();

if (typeof nameOrOptions === 'object' && !Array.isArray(nameOrOptions)) name = nameOrOptions.name;else name = nameOrOptions;
return Array.isArray(name) ? name.join(path.sep) : name || '';
return Array.isArray(name) ? name.join(_path.default.sep) : name || '';
}

@@ -303,3 +302,3 @@ async function toHaveScreenshot(pageOrLocator, nameOrOptions = {}, optOptions = {}) {

const helper = new SnapshotHelper(testInfo, 'toHaveScreenshot', locator, 'png', configOptions, nameOrOptions, optOptions);
if (!helper.expectedPath.toLowerCase().endsWith('.png')) throw new Error(`Screenshot name "${path.basename(helper.expectedPath)}" must have '.png' extension`);
if (!helper.expectedPath.toLowerCase().endsWith('.png')) throw new Error(`Screenshot name "${_path.default.basename(helper.expectedPath)}" must have '.png' extension`);
(0, _util.expectTypes)(pageOrLocator, ['Page', 'Locator'], 'toHaveScreenshot');

@@ -326,3 +325,3 @@ const style = await loadScreenshotStyles(helper.options.stylePath);

};
const hasSnapshot = fs.existsSync(helper.expectedPath);
const hasSnapshot = _fs.default.existsSync(helper.expectedPath);
if (this.isNot) {

@@ -334,3 +333,3 @@ if (!hasSnapshot) return helper.handleMissingNegated();

// are actually the same in the end.
expectScreenshotOptions.expected = await fs.promises.readFile(helper.expectedPath);
expectScreenshotOptions.expected = await _fs.default.promises.readFile(helper.expectedPath);
const isDifferent = !(await page._expectScreenshot(expectScreenshotOptions)).errorMessage;

@@ -367,3 +366,3 @@ return isDifferent ? helper.handleDifferentNegated() : helper.handleMatchingNegated();

// - regular matcher (i.e. not a `.not`)
const expected = await fs.promises.readFile(helper.expectedPath);
const expected = await _fs.default.promises.readFile(helper.expectedPath);
expectScreenshotOptions.expected = helper.updateSnapshots === 'all' ? undefined : expected;

@@ -398,6 +397,6 @@ const {

function writeFileSync(aPath, content) {
fs.mkdirSync(path.dirname(aPath), {
_fs.default.mkdirSync(_path.default.dirname(aPath), {
recursive: true
});
fs.writeFileSync(aPath, content);
_fs.default.writeFileSync(aPath, content);
}

@@ -420,3 +419,3 @@ function indent(lines, tab) {

const styles = await Promise.all(stylePaths.map(async stylePath => {
const text = await fs.promises.readFile(stylePath, 'utf8');
const text = await _fs.default.promises.readFile(stylePath, 'utf8');
return text.trim();

@@ -423,0 +422,0 @@ }));

@@ -28,3 +28,4 @@ "use strict";

const addGitCommitInfoPlugin = fullConfig => {
if (fullConfig.populateGitInfo) fullConfig.plugins.push({
const commitProperty = fullConfig.config.metadata['git.commit.info'];
if (commitProperty && typeof commitProperty === 'object' && Object.keys(commitProperty).length === 0) fullConfig.plugins.push({
factory: gitCommitInfo

@@ -38,9 +39,6 @@ });

setup: async (config, configDir) => {
const fromEnv = await linksFromEnv();
const fromCLI = await gitStatusFromCLI((options === null || options === void 0 ? void 0 : options.directory) || configDir, fromEnv);
const commitInfo = await linksFromEnv();
await enrichStatusFromCLI((options === null || options === void 0 ? void 0 : options.directory) || configDir, commitInfo);
config.metadata = config.metadata || {};
config.metadata['git.commit.info'] = {
...fromEnv,
...fromCLI
};
config.metadata['git.commit.info'] = commitInfo;
}

@@ -53,9 +51,24 @@ };

// Jenkins: https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
if (process.env.BUILD_URL) out['ci.link'] = process.env.BUILD_URL;
if (process.env.BUILD_URL) {
out.ci = out.ci || {};
out.ci.link = process.env.BUILD_URL;
}
// GitLab: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
if (process.env.CI_PROJECT_URL && process.env.CI_COMMIT_SHA) out['revision.link'] = `${process.env.CI_PROJECT_URL}/-/commit/${process.env.CI_COMMIT_SHA}`;
if (process.env.CI_JOB_URL) out['ci.link'] = process.env.CI_JOB_URL;
if (process.env.CI_PROJECT_URL && process.env.CI_COMMIT_SHA) {
out.revision = out.revision || {};
out.revision.link = `${process.env.CI_PROJECT_URL}/-/commit/${process.env.CI_COMMIT_SHA}`;
}
if (process.env.CI_JOB_URL) {
out.ci = out.ci || {};
out.ci.link = process.env.CI_JOB_URL;
}
// GitHub: https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables
if (process.env.GITHUB_SERVER_URL && process.env.GITHUB_REPOSITORY && process.env.GITHUB_SHA) out['revision.link'] = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/commit/${process.env.GITHUB_SHA}`;
if (process.env.GITHUB_SERVER_URL && process.env.GITHUB_REPOSITORY && process.env.GITHUB_RUN_ID) out['ci.link'] = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`;
if (process.env.GITHUB_SERVER_URL && process.env.GITHUB_REPOSITORY && process.env.GITHUB_SHA) {
out.revision = out.revision || {};
out.revision.link = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/commit/${process.env.GITHUB_SHA}`;
}
if (process.env.GITHUB_SERVER_URL && process.env.GITHUB_REPOSITORY && process.env.GITHUB_RUN_ID) {
out.ci = out.ci || {};
out.ci.link = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`;
}
if (process.env.GITHUB_EVENT_PATH) {

@@ -65,5 +78,6 @@ try {

if (json.pull_request) {
out['pull.title'] = json.pull_request.title;
out['pull.link'] = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/pull/${json.pull_request.number}`;
out['pull.base'] = json.pull_request.base.ref;
out.pull_request = out.pull_request || {};
out.pull_request.title = json.pull_request.title;
out.pull_request.link = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/pull/${json.pull_request.number}`;
out.pull_request.base = json.pull_request.base.ref;
}

@@ -74,3 +88,4 @@ } catch {}

}
async function gitStatusFromCLI(gitDir, envInfo) {
async function enrichStatusFromCLI(gitDir, commitInfo) {
var _commitInfo$pull_requ;
const separator = `:${(0, _utils.createGuid)().slice(0, 4)}:`;

@@ -87,12 +102,14 @@ const commitInfoResult = await (0, _utils.spawnAsync)('git', ['show', '-s', `--format=%H${separator}%s${separator}%an${separator}%ae${separator}%ct`, 'HEAD'], {

timestamp = Number.isInteger(timestamp) ? timestamp * 1000 : 0;
const result = {
'revision.id': id,
'revision.author': author,
'revision.email': email,
'revision.subject': subject,
'revision.timestamp': timestamp
commitInfo.revision = {
...commitInfo.revision,
id,
author,
email,
subject,
timestamp
};
const diffLimit = 1_000_000; // 1MB
if (envInfo['pull.base']) {
const pullDiffResult = await (0, _utils.spawnAsync)('git', ['diff', envInfo['pull.base']], {
if ((_commitInfo$pull_requ = commitInfo.pull_request) !== null && _commitInfo$pull_requ !== void 0 && _commitInfo$pull_requ.base) {
var _commitInfo$pull_requ2;
const pullDiffResult = await (0, _utils.spawnAsync)('git', ['diff', (_commitInfo$pull_requ2 = commitInfo.pull_request) === null || _commitInfo$pull_requ2 === void 0 ? void 0 : _commitInfo$pull_requ2.base], {
stdio: 'pipe',

@@ -102,3 +119,3 @@ cwd: gitDir,

});
if (!pullDiffResult.code) result['pull.diff'] = pullDiffResult.stdout.substring(0, diffLimit);
if (!pullDiffResult.code) commitInfo.pull_request.diff = pullDiffResult.stdout.substring(0, diffLimit);
} else {

@@ -110,5 +127,4 @@ const diffResult = await (0, _utils.spawnAsync)('git', ['diff', 'HEAD~1'], {

});
if (!diffResult.code) result['revision.diff'] = diffResult.stdout.substring(0, diffLimit);
if (!diffResult.code) commitInfo.revision.diff = diffResult.stdout.substring(0, diffLimit);
}
return result;
}

@@ -7,8 +7,7 @@ "use strict";

exports.webServerPluginsForConfig = exports.webServer = exports.WebServerPlugin = void 0;
var net = _interopRequireWildcard(require("net"));
var path = _interopRequireWildcard(require("path"));
var _net = _interopRequireDefault(require("net"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _utilsBundle = require("playwright-core/lib/utilsBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -53,3 +52,3 @@ * Copyright (c) Microsoft Corporation.

this._isAvailableCallback = this._options.url ? getIsAvailableFunction(this._options.url, this._checkPortOnly, !!this._options.ignoreHTTPSErrors, (_this$_reporter$onStd = this._reporter.onStdErr) === null || _this$_reporter$onStd === void 0 ? void 0 : _this$_reporter$onStd.bind(this._reporter)) : undefined;
this._options.cwd = this._options.cwd ? path.resolve(configDir, this._options.cwd) : configDir;
this._options.cwd = this._options.cwd ? _path.default.resolve(configDir, this._options.cwd) : configDir;
try {

@@ -150,3 +149,3 @@ await this._startProcess();

const innerIsPortUsed = host => new Promise(resolve => {
const conn = net.connect(port, host).on('error', () => {
const conn = _net.default.connect(port, host).on('error', () => {
resolve(false);

@@ -153,0 +152,0 @@ }).on('connect', () => {

@@ -13,4 +13,4 @@ "use strict";

exports.withRunnerAndMutedWrite = withRunnerAndMutedWrite;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _program = require("playwright-core/lib/cli/program");

@@ -30,2 +30,3 @@ var _utils = require("playwright-core/lib/utils");

function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -103,3 +104,3 @@ * Copyright (c) Microsoft Corporation.

command.action(async (files, options) => {
const resolvedFiles = files.map(file => path.resolve(process.cwd(), file));
const resolvedFiles = files.map(file => _path.default.resolve(process.cwd(), file));
await withRunnerAndMutedWrite(options.config, runner => runner.findRelatedTestFiles(resolvedFiles));

@@ -264,4 +265,4 @@ });

if (!config) return;
const dir = path.resolve(process.cwd(), reportDir || '');
const dirStat = await fs.promises.stat(dir).catch(e => null);
const dir = _path.default.resolve(process.cwd(), reportDir || '');
const dirStat = await _fs.default.promises.stat(dir).catch(e => null);
if (!dirStat) throw new Error('Directory does not exist: ' + dir);

@@ -284,3 +285,3 @@ if (!dirStat.isDirectory()) throw new Error(`"${dir}" is not a directory`);

maxFailures: options.x ? 1 : options.maxFailures ? parseInt(options.maxFailures, 10) : undefined,
outputDir: options.output ? path.resolve(process.cwd(), options.output) : undefined,
outputDir: options.output ? _path.default.resolve(process.cwd(), options.output) : undefined,
quiet: options.quiet ? options.quiet : undefined,

@@ -292,3 +293,3 @@ repeatEach: options.repeatEach ? parseInt(options.repeatEach, 10) : undefined,

timeout: options.timeout ? parseInt(options.timeout, 10) : undefined,
tsconfig: options.tsconfig ? path.resolve(process.cwd(), options.tsconfig) : undefined,
tsconfig: options.tsconfig ? _path.default.resolve(process.cwd(), options.tsconfig) : undefined,
ignoreSnapshots: options.ignoreSnapshots ? !!options.ignoreSnapshots : undefined,

@@ -324,2 +325,3 @@ updateSnapshots,

}
if (overrides.tsconfig && !_fs.default.existsSync(overrides.tsconfig)) throw new Error(`--tsconfig "${options.tsconfig}" does not exist`);
return overrides;

@@ -350,4 +352,4 @@ }

if (_config.builtInReporters.includes(id)) return id;
const localPath = path.resolve(process.cwd(), id);
if (fs.existsSync(localPath)) return localPath;
const localPath = _path.default.resolve(process.cwd(), id);
if (_fs.default.existsSync(localPath)) return localPath;
return require.resolve(id, {

@@ -354,0 +356,0 @@ paths: [process.cwd()]

@@ -20,3 +20,3 @@ "use strict";

exports.terminalScreen = void 0;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -26,4 +26,3 @@ var _utilsBundle = require("playwright-core/lib/utilsBundle");

var _utilsBundle2 = require("../utilsBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -253,2 +252,3 @@ * Copyright (c) Microsoft Corporation.

this._printSlowTests();
this._printWarnings();
this._printSummary(summaryMessage);

@@ -269,2 +269,24 @@ }

}
_printWarnings() {
const warningTests = this.suite.allTests().filter(test => test.annotations.some(a => a.type === 'warning'));
const encounteredWarnings = new Map();
for (const test of warningTests) {
for (const annotation of test.annotations) {
if (annotation.type !== 'warning' || annotation.description === undefined) continue;
let tests = encounteredWarnings.get(annotation.description);
if (!tests) {
tests = [];
encounteredWarnings.set(annotation.description, tests);
}
tests.push(test);
}
}
for (const [description, tests] of encounteredWarnings) {
console.log(this.screen.colors.yellow(' Warning: ') + description);
for (const test of tests) console.log(this.formatTestHeader(test, {
indent: ' ',
mode: 'default'
}));
}
}
_printSummary(summary) {

@@ -316,3 +338,3 @@ if (summary.trim()) console.log(summary);

if (attachment.path) {
const relativePath = path.relative(process.cwd(), attachment.path);
const relativePath = _path.default.relative(process.cwd(), attachment.path);
resultLines.push(screen.colors.cyan(` ${relativePath}`));

@@ -375,4 +397,4 @@ // Make this extensible

function relativeFilePath(screen, config, file) {
if (screen.resolveFiles === 'cwd') return path.relative(process.cwd(), file);
return path.relative(config.rootDir, file);
if (screen.resolveFiles === 'cwd') return _path.default.relative(process.cwd(), file);
return _path.default.relative(config.rootDir, file);
}

@@ -464,3 +486,3 @@ function relativeTestPath(screen, config, test) {

for (const line of stackLines) {
const frame = (0, _utils.parseStackFrame)(line, path.sep, !!process.env.PWDEBUGIMPL);
const frame = (0, _utils.parseStackFrame)(line, _path.default.sep, !!process.env.PWDEBUGIMPL);
if (!frame || !frame.file) continue;

@@ -541,7 +563,7 @@ if (belongsToNodeModules(frame.file)) continue;

function belongsToNodeModules(file) {
return file.includes(`${path.sep}node_modules${path.sep}`);
return file.includes(`${_path.default.sep}node_modules${_path.default.sep}`);
}
function resolveFromEnv(name) {
const value = process.env[name];
if (value) return path.resolve(process.cwd(), value);
if (value) return _path.default.resolve(process.cwd(), value);
return undefined;

@@ -556,3 +578,3 @@ }

let outputFile = resolveFromEnv(`PLAYWRIGHT_${name}_OUTPUT_FILE`);
if (!outputFile && options.outputFile) outputFile = path.resolve(options.configDir, options.outputFile);
if (!outputFile && options.outputFile) outputFile = _path.default.resolve(options.configDir, options.outputFile);
if (outputFile) return {

@@ -562,3 +584,3 @@ outputFile

let outputDir = resolveFromEnv(`PLAYWRIGHT_${name}_OUTPUT_DIR`);
if (!outputDir && options.outputDir) outputDir = path.resolve(options.configDir, options.outputDir);
if (!outputDir && options.outputDir) outputDir = _path.default.resolve(options.configDir, options.outputDir);
if (!outputDir && options.default) outputDir = (0, _util.resolveReporterOutputPath)(options.default.outputDir, options.configDir, undefined);

@@ -568,3 +590,3 @@ if (!outputDir) outputDir = options.configDir;

if (!reportName) return undefined;
outputFile = path.resolve(outputDir, reportName);
outputFile = _path.default.resolve(outputDir, reportName);
return {

@@ -571,0 +593,0 @@ outputFile,

@@ -7,4 +7,4 @@ "use strict";

exports.currentBlobReportVersion = exports.BlobReporter = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _stream = require("stream");

@@ -16,4 +16,3 @@ var _utils = require("playwright-core/lib/utils");

var _teleEmitter = require("./teleEmitter");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -55,3 +54,3 @@ * Copyright (c) Microsoft Corporation.

shard: (_config$shard = config.shard) !== null && _config$shard !== void 0 ? _config$shard : undefined,
pathSeparator: path.sep
pathSeparator: _path.default.sep
};

@@ -74,3 +73,3 @@ this._messages.push({

zipFile.on('error', error => zipFinishPromise.reject(error));
zipFile.outputStream.pipe(fs.createWriteStream(zipFileName)).on('close', () => {
zipFile.outputStream.pipe(_fs.default.createWriteStream(zipFileName)).on('close', () => {
zipFinishPromise.resolve(undefined);

@@ -83,3 +82,3 @@ }).on('error', error => zipFinishPromise.reject(error));

var _fs$statSync;
if (!((_fs$statSync = fs.statSync(originalPath, {
if (!((_fs$statSync = _fs.default.statSync(originalPath, {
throwIfNoEntry: false

@@ -107,3 +106,3 @@ })) !== null && _fs$statSync !== void 0 && _fs$statSync.isFile())) continue;

if (!process.env.PWTEST_BLOB_DO_NOT_REMOVE) await (0, _utils.removeFolders)([outputDir]);
await fs.promises.mkdir(path.dirname(outputFile), {
await _fs.default.promises.mkdir(_path.default.dirname(outputFile), {
recursive: true

@@ -110,0 +109,0 @@ });

@@ -7,8 +7,7 @@ "use strict";

exports.default = exports.GitHubReporter = void 0;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _utilsBundle = require("playwright-core/lib/utilsBundle");
var _base = require("./base");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -78,3 +77,3 @@ * Copyright (c) Microsoft Corporation.

this.getSlowTests().forEach(([file, duration]) => {
const filePath = workspaceRelativePath(path.join(process.cwd(), file));
const filePath = workspaceRelativePath(_path.default.join(process.cwd(), file));
this.githubLogger.warning(`${filePath} took ${(0, _utilsBundle.ms)(duration)}`, {

@@ -121,4 +120,4 @@ title: 'Slow Test',

var _process$env$GITHUB_W;
return path.relative((_process$env$GITHUB_W = process.env['GITHUB_WORKSPACE']) !== null && _process$env$GITHUB_W !== void 0 ? _process$env$GITHUB_W : '', filePath);
return _path.default.relative((_process$env$GITHUB_W = process.env['GITHUB_WORKSPACE']) !== null && _process$env$GITHUB_W !== void 0 ? _process$env$GITHUB_W : '', filePath);
}
var _default = exports.default = GitHubReporter;

@@ -9,4 +9,4 @@ "use strict";

exports.startHtmlReportServer = startHtmlReportServer;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _stream = require("stream");

@@ -19,4 +19,3 @@ var _utils = require("playwright-core/lib/utils");

var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -107,4 +106,4 @@ * Copyright (c) Microsoft Corporation.

_isSubdirectory(parentDir, dir) {
const relativePath = path.relative(parentDir, dir);
return !!relativePath && !relativePath.startsWith('..') && !path.isAbsolute(relativePath);
const relativePath = _path.default.relative(parentDir, dir);
return !!relativePath && !relativePath.startsWith('..') && !_path.default.isAbsolute(relativePath);
}

@@ -131,3 +130,3 @@ onError(error) {

const packageManagerCommand = (0, _utils.getPackageManagerExecCommand)();
const relativeReportPath = this._outputFolder === standaloneDefaultFolder() ? '' : ' ' + path.relative(process.cwd(), this._outputFolder);
const relativeReportPath = this._outputFolder === standaloneDefaultFolder() ? '' : ' ' + _path.default.relative(process.cwd(), this._outputFolder);
const hostArg = this._host ? ` --host ${this._host}` : '';

@@ -146,3 +145,3 @@ const portArg = this._port ? ` --port ${this._port}` : '';

const envValue = process.env.PLAYWRIGHT_HTML_OUTPUT_DIR || process.env.PLAYWRIGHT_HTML_REPORT;
return envValue ? path.resolve(envValue) : undefined;
return envValue ? _path.default.resolve(envValue) : undefined;
}

@@ -166,3 +165,3 @@ function getHtmlReportOptionProcessEnv() {

try {
(0, _utils.assert)(fs.statSync(folder).isDirectory());
(0, _utils.assert)(_fs.default.statSync(folder).isDirectory());
} catch (e) {

@@ -203,3 +202,3 @@ console.log(_utils.colors.red(`No report found at "${folder}"`));

if (relativePath === '/') relativePath = '/index.html';
const absolutePath = path.join(folder, ...relativePath.split('/'));
const absolutePath = _path.default.join(folder, ...relativePath.split('/'));
return server.serveFile(request, response, absolutePath);

@@ -219,3 +218,3 @@ });

this._reportFolder = outputDir;
fs.mkdirSync(this._reportFolder, {
_fs.default.mkdirSync(this._reportFolder, {
recursive: true

@@ -308,3 +307,3 @@ });

if (process.env.PW_HMR === '1') {
const redirectFile = path.join(this._reportFolder, 'index.html');
const redirectFile = _path.default.join(this._reportFolder, 'index.html');
await this._writeReportData(redirectFile);

@@ -323,3 +322,3 @@ async function redirect() {

}
fs.appendFileSync(redirectFile, `<script>(${redirect.toString()})()</script>`);
_fs.default.appendFileSync(redirectFile, `<script>(${redirect.toString()})()</script>`);
return {

@@ -332,23 +331,23 @@ ok,

// Copy app.
const appFolder = path.join(require.resolve('playwright-core'), '..', 'lib', 'vite', 'htmlReport');
await (0, _utils.copyFileAndMakeWritable)(path.join(appFolder, 'index.html'), path.join(this._reportFolder, 'index.html'));
const appFolder = _path.default.join(require.resolve('playwright-core'), '..', 'lib', 'vite', 'htmlReport');
await (0, _utils.copyFileAndMakeWritable)(_path.default.join(appFolder, 'index.html'), _path.default.join(this._reportFolder, 'index.html'));
// Copy trace viewer.
if (this._hasTraces) {
const traceViewerFolder = path.join(require.resolve('playwright-core'), '..', 'lib', 'vite', 'traceViewer');
const traceViewerTargetFolder = path.join(this._reportFolder, 'trace');
const traceViewerAssetsTargetFolder = path.join(traceViewerTargetFolder, 'assets');
fs.mkdirSync(traceViewerAssetsTargetFolder, {
const traceViewerFolder = _path.default.join(require.resolve('playwright-core'), '..', 'lib', 'vite', 'traceViewer');
const traceViewerTargetFolder = _path.default.join(this._reportFolder, 'trace');
const traceViewerAssetsTargetFolder = _path.default.join(traceViewerTargetFolder, 'assets');
_fs.default.mkdirSync(traceViewerAssetsTargetFolder, {
recursive: true
});
for (const file of fs.readdirSync(traceViewerFolder)) {
for (const file of _fs.default.readdirSync(traceViewerFolder)) {
if (file.endsWith('.map') || file.includes('watch') || file.includes('assets')) continue;
await (0, _utils.copyFileAndMakeWritable)(path.join(traceViewerFolder, file), path.join(traceViewerTargetFolder, file));
await (0, _utils.copyFileAndMakeWritable)(_path.default.join(traceViewerFolder, file), _path.default.join(traceViewerTargetFolder, file));
}
for (const file of fs.readdirSync(path.join(traceViewerFolder, 'assets'))) {
for (const file of _fs.default.readdirSync(_path.default.join(traceViewerFolder, 'assets'))) {
if (file.endsWith('.map') || file.includes('xtermModule')) continue;
await (0, _utils.copyFileAndMakeWritable)(path.join(traceViewerFolder, 'assets', file), path.join(traceViewerAssetsTargetFolder, file));
await (0, _utils.copyFileAndMakeWritable)(_path.default.join(traceViewerFolder, 'assets', file), _path.default.join(traceViewerAssetsTargetFolder, file));
}
}
await this._writeReportData(path.join(this._reportFolder, 'index.html'));
await this._writeReportData(_path.default.join(this._reportFolder, 'index.html'));
return {

@@ -360,6 +359,6 @@ ok,

async _writeReportData(filePath) {
fs.appendFileSync(filePath, '<script>\nwindow.playwrightReportBase64 = "data:application/zip;base64,');
_fs.default.appendFileSync(filePath, '<script>\nwindow.playwrightReportBase64 = "data:application/zip;base64,');
await new Promise(f => {
this._dataZipFile.end(undefined, () => {
this._dataZipFile.outputStream.pipe(new Base64Encoder()).pipe(fs.createWriteStream(filePath, {
this._dataZipFile.outputStream.pipe(new Base64Encoder()).pipe(_fs.default.createWriteStream(filePath, {
flags: 'a'

@@ -369,3 +368,3 @@ })).on('close', f);

});
fs.appendFileSync(filePath, '";</script>');
_fs.default.appendFileSync(filePath, '";</script>');
}

@@ -446,3 +445,3 @@ _addDataFile(fileName, data) {

try {
const body = fs.readFileSync(a.path, {
const body = _fs.default.readFileSync(a.path, {
encoding: 'utf-8'

@@ -460,9 +459,9 @@ });

try {
const buffer = fs.readFileSync(a.path);
const sha1 = (0, _utils.calculateSha1)(buffer) + path.extname(a.path);
const buffer = _fs.default.readFileSync(a.path);
const sha1 = (0, _utils.calculateSha1)(buffer) + _path.default.extname(a.path);
fileName = this._attachmentsBaseURL + sha1;
fs.mkdirSync(path.join(this._reportFolder, 'data'), {
_fs.default.mkdirSync(_path.default.join(this._reportFolder, 'data'), {
recursive: true
});
fs.writeFileSync(path.join(this._reportFolder, 'data', sha1), buffer);
_fs.default.writeFileSync(_path.default.join(this._reportFolder, 'data', sha1), buffer);
} catch (e) {}

@@ -492,8 +491,8 @@ return {

}
fs.mkdirSync(path.join(this._reportFolder, 'data'), {
_fs.default.mkdirSync(_path.default.join(this._reportFolder, 'data'), {
recursive: true
});
const extension = (0, _utils.sanitizeForFilePath)(path.extname(a.name).replace(/^\./, '')) || _utilsBundle.mime.getExtension(a.contentType) || 'dat';
const extension = (0, _utils.sanitizeForFilePath)(_path.default.extname(a.name).replace(/^\./, '')) || _utilsBundle.mime.getExtension(a.contentType) || 'dat';
const sha1 = (0, _utils.calculateSha1)(a.body) + '.' + extension;
fs.writeFileSync(path.join(this._reportFolder, 'data', sha1), a.body);
_fs.default.writeFileSync(_path.default.join(this._reportFolder, 'data', sha1), a.body);
return {

@@ -555,3 +554,3 @@ name: a.name,

if (!location) return undefined;
const file = (0, _utils.toPosixPath)(path.relative(this._config.rootDir, location.file));
const file = (0, _utils.toPosixPath)(_path.default.relative(this._config.rootDir, location.file));
return {

@@ -643,3 +642,3 @@ file,

try {
source = fs.readFileSync(file, 'utf-8') + '\n//';
source = _fs.default.readFileSync(file, 'utf-8') + '\n//';
} catch (e) {

@@ -646,0 +645,0 @@ continue;

@@ -7,3 +7,3 @@ "use strict";

exports.InternalReporter = void 0;
var fs = _interopRequireWildcard(require("fs"));
var _fs = _interopRequireDefault(require("fs"));
var _utils = require("playwright-core/lib/utils");

@@ -14,4 +14,3 @@ var _base = require("./base");

var _babelBundle = require("../transform/babelBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -121,3 +120,3 @@ * Copyright (c) Microsoft Corporation.

const tokens = [];
const source = fs.readFileSync(location.file, 'utf8');
const source = _fs.default.readFileSync(location.file, 'utf8');
const codeFrame = (0, _babelBundle.codeFrameColumns)(source, {

@@ -129,3 +128,3 @@ start: location

// Convert /var/folders to /private/var/folders on Mac.
if (!file || fs.realpathSync(file) !== location.file) {
if (!file || _fs.default.realpathSync(file) !== location.file) {
tokens.push(_base.internalScreen.colors.gray(` at `) + `${(0, _base.relativeFilePath)(_base.internalScreen, config, location.file)}:${location.line}`);

@@ -132,0 +131,0 @@ tokens.push('');

@@ -8,9 +8,8 @@ "use strict";

exports.serializePatterns = serializePatterns;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _base = require("./base");
var _config = require("../common/config");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -125,3 +124,3 @@ * Copyright (c) Microsoft Corporation.

return {
file: (0, _utils.toPosixPath)(path.relative(this.config.rootDir, location.file)),
file: (0, _utils.toPosixPath)(_path.default.relative(this.config.rootDir, location.file)),
line: location.line,

@@ -145,3 +144,3 @@ column: location.column

for (const spec of from.specs || []) {
const toSpec = to.specs.find(s => s.title === spec.title && s.file === (0, _utils.toPosixPath)(path.relative(this.config.rootDir, spec.file)) && s.line === spec.line && s.column === spec.column);
const toSpec = to.specs.find(s => s.title === spec.title && s.file === (0, _utils.toPosixPath)(_path.default.relative(this.config.rootDir, spec.file)) && s.line === spec.line && s.column === spec.column);
if (toSpec) toSpec.tests.push(...spec.tests);else to.specs.push(spec);

@@ -225,6 +224,6 @@ }

if (resolvedOutputFile) {
await fs.promises.mkdir(path.dirname(resolvedOutputFile), {
await _fs.default.promises.mkdir(_path.default.dirname(resolvedOutputFile), {
recursive: true
});
await fs.promises.writeFile(resolvedOutputFile, reportString);
await _fs.default.promises.writeFile(resolvedOutputFile, reportString);
} else {

@@ -231,0 +230,0 @@ console.log(reportString);

@@ -7,8 +7,7 @@ "use strict";

exports.default = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _base = require("./base");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -84,6 +83,6 @@ * Copyright (c) Microsoft Corporation.

if (this.resolvedOutputFile) {
await fs.promises.mkdir(path.dirname(this.resolvedOutputFile), {
await _fs.default.promises.mkdir(_path.default.dirname(this.resolvedOutputFile), {
recursive: true
});
await fs.promises.writeFile(this.resolvedOutputFile, reportString);
await _fs.default.promises.writeFile(this.resolvedOutputFile, reportString);
} else {

@@ -170,3 +169,3 @@ console.log(reportString);

attributes: {
message: `${path.basename(test.location.file)}:${test.location.line}:${test.location.column} ${test.title}`,
message: `${_path.default.basename(test.location.file)}:${test.location.line}:${test.location.column} ${test.title}`,
type: 'FAILURE'

@@ -184,5 +183,5 @@ },

if (!attachment.path) continue;
let attachmentPath = path.relative(this.configDir, attachment.path);
let attachmentPath = _path.default.relative(this.configDir, attachment.path);
try {
if (this.resolvedOutputFile) attachmentPath = path.relative(path.dirname(this.resolvedOutputFile), attachment.path);
if (this.resolvedOutputFile) attachmentPath = _path.default.relative(_path.default.dirname(this.resolvedOutputFile), attachment.path);
} catch {

@@ -192,3 +191,3 @@ systemOut.push(`\nWarning: Unable to make attachment path ${attachment.path} relative to report output file ${this.resolvedOutputFile}`);

try {
await fs.promises.access(attachment.path);
await _fs.default.promises.access(attachment.path);
systemOut.push(`\n[[ATTACHMENT|${attachmentPath}]]\n`);

@@ -195,0 +194,0 @@ } catch {

@@ -7,8 +7,7 @@ "use strict";

exports.default = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _util = require("../util");
var _base = require("./base");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -68,6 +67,6 @@ * Copyright (c) Microsoft Corporation.

const reportFile = (0, _util.resolveReporterOutputPath)('report.md', this._options.configDir, this._options.outputFile);
await fs.promises.mkdir(path.dirname(reportFile), {
await _fs.default.promises.mkdir(_path.default.dirname(reportFile), {
recursive: true
});
await fs.promises.writeFile(reportFile, lines.join('\n'));
await _fs.default.promises.writeFile(reportFile, lines.join('\n'));
}

@@ -74,0 +73,0 @@ _printTestList(prefix, tests, lines, suffix) {

@@ -7,4 +7,4 @@ "use strict";

exports.createMergedReport = createMergedReport;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -17,4 +17,3 @@ var _blob = require("./blob");

var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -50,3 +49,3 @@ * Copyright (c) Microsoft Corporation.

// If explicit config is provided, use platform path separator, otherwise use the one from the report (if any).
const pathSeparator = rootDirOverride ? path.sep : (_eventData$pathSepara = eventData.pathSeparatorFromMetadata) !== null && _eventData$pathSepara !== void 0 ? _eventData$pathSepara : path.sep;
const pathSeparator = rootDirOverride ? _path.default.sep : (_eventData$pathSepara = eventData.pathSeparatorFromMetadata) !== null && _eventData$pathSepara !== void 0 ? _eventData$pathSepara : _path.default.sep;
const receiver = new _teleReceiver.TeleReporterReceiver(multiplexer, {

@@ -72,3 +71,3 @@ mergeProjects: false,

} of eventData.reports) {
const reportJsonl = await fs.promises.readFile(reportFile);
const reportJsonl = await _fs.default.promises.readFile(reportFile);
const events = parseTestEvents(reportJsonl);

@@ -110,3 +109,3 @@ new _stringInternPool.JsonStringInternalizer(stringPool).traverse(events);

const shardEvents = [];
await fs.promises.mkdir(path.join(dir, 'resources'), {
await _fs.default.promises.mkdir(_path.default.join(dir, 'resources'), {
recursive: true

@@ -116,3 +115,3 @@ });

for (const file of shardFiles) {
const absolutePath = path.join(dir, file);
const absolutePath = _path.default.join(dir, file);
printStatus(`extracting: ${(0, _util.relativeFilePath)(absolutePath)}`);

@@ -122,3 +121,3 @@ const zipFile = new _utils.ZipFile(absolutePath);

for (const entryName of entryNames.sort()) {
let fileName = path.join(dir, entryName);
let fileName = _path.default.join(dir, entryName);
const content = await zipFile.read(entryName);

@@ -141,3 +140,3 @@ if (entryName.endsWith('.jsonl')) {

}
await fs.promises.writeFile(fileName, content);
await _fs.default.promises.writeFile(fileName, content);
}

@@ -277,3 +276,3 @@ zipFile.close();

async function sortedShardFiles(dir) {
const files = await fs.promises.readdir(dir);
const files = await _fs.default.promises.readdir(dir);
return files.filter(file => file.endsWith('.zip')).sort();

@@ -293,3 +292,3 @@ }

}
const extension = path.extname(name);
const extension = _path.default.extname(name);
name = name.substring(0, name.length - extension.length);

@@ -381,3 +380,3 @@ let index = 0;

if (!attachment.path) continue;
attachment.path = path.join(this._resourceDir, attachment.path);
attachment.path = _path.default.join(this._resourceDir, attachment.path);
}

@@ -390,4 +389,4 @@ }

this._to = void 0;
this._from = from !== null && from !== void 0 ? from : path.sep === '/' ? '\\' : '/';
this._to = path.sep;
this._from = from !== null && from !== void 0 ? from : _path.default.sep === '/' ? '\\' : '/';
this._to = _path.default.sep;
}

@@ -394,0 +393,0 @@ patchEvent(jsonEvent) {

@@ -7,7 +7,6 @@ "use strict";

exports.TeleReporterEmitter = void 0;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _teleReceiver = require("../isomorphic/teleReceiver");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -274,5 +273,5 @@ * Copyright (c) Microsoft Corporation.

if (!absolutePath) return absolutePath;
return path.relative(this._rootDir, absolutePath);
return _path.default.relative(this._rootDir, absolutePath);
}
}
exports.TeleReporterEmitter = TeleReporterEmitter;

@@ -7,7 +7,6 @@ "use strict";

exports.LastRunReporter = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _projectUtils = require("./projectUtils");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -36,3 +35,3 @@ * Copyright Microsoft Corporation. All rights reserved.

const [project] = (0, _projectUtils.filterProjects)(config.projects, config.cliProjectFilter);
if (project) this._lastRunFile = path.join(project.project.outputDir, '.last-run.json');
if (project) this._lastRunFile = _path.default.join(project.project.outputDir, '.last-run.json');
}

@@ -42,3 +41,3 @@ async filterLastFailed() {

try {
const lastRunInfo = JSON.parse(await fs.promises.readFile(this._lastRunFile, 'utf8'));
const lastRunInfo = JSON.parse(await _fs.default.promises.readFile(this._lastRunFile, 'utf8'));
this._config.lastFailedTestIdMatcher = id => lastRunInfo.failedTests.includes(id);

@@ -59,3 +58,3 @@ } catch {}

if (!this._lastRunFile || this._config.cliListOnly) return;
await fs.promises.mkdir(path.dirname(this._lastRunFile), {
await _fs.default.promises.mkdir(_path.default.dirname(this._lastRunFile), {
recursive: true

@@ -68,5 +67,5 @@ });

}, undefined, 2);
await fs.promises.writeFile(this._lastRunFile, lastRunReport);
await _fs.default.promises.writeFile(this._lastRunFile, lastRunReport);
}
}
exports.LastRunReporter = LastRunReporter;

@@ -11,3 +11,3 @@ "use strict";

exports.loadReporter = loadReporter;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _loaderHost = require("./loaderHost");

@@ -22,4 +22,3 @@ var _util = require("../util");

var _utilsBundle = require("../utilsBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -104,4 +103,4 @@ * Copyright Microsoft Corporation. All rights reserved.

if (allTestFiles.has(dependency)) {
const importer = path.relative(config.config.rootDir, file);
const importee = path.relative(config.config.rootDir, dependency);
const importer = _path.default.relative(config.config.rootDir, file);
const importee = _path.default.relative(config.config.rootDir, dependency);
errors.push({

@@ -177,3 +176,3 @@ message: `Error: test file "${importer}" should not import test file "${importee}"`,

if (onlyTestsAndSuites.length > 0) {
const configFilePath = config.config.configFile ? path.relative(config.config.rootDir, config.config.configFile) : undefined;
const configFilePath = config.config.configFile ? _path.default.relative(config.config.rootDir, config.config.configFile) : undefined;
errors.push(...createForbidOnlyErrors(onlyTestsAndSuites, config.configCLIOverrides.forbidOnly, configFilePath));

@@ -294,3 +293,3 @@ }

if (!testOrSuite.location) return '';
return `${path.relative(rootDir, testOrSuite.location.file)}:${testOrSuite.location.line}`;
return `${_path.default.relative(rootDir, testOrSuite.location.file)}:${testOrSuite.location.line}`;
}

@@ -304,6 +303,6 @@ async function requireOrImportDefaultFunction(file, expectConstructor) {

function loadGlobalHook(config, file) {
return requireOrImportDefaultFunction(path.resolve(config.config.rootDir, file), false);
return requireOrImportDefaultFunction(_path.default.resolve(config.config.rootDir, file), false);
}
function loadReporter(config, file) {
return requireOrImportDefaultFunction(config ? path.resolve(config.config.rootDir, file) : file, true);
return requireOrImportDefaultFunction(config ? _path.default.resolve(config.config.rootDir, file) : file, true);
}

@@ -317,3 +316,3 @@ function sourceMapSources(file, cache) {

const sourceMapData = typeof (sourceMap === null || sourceMap === void 0 ? void 0 : sourceMap.map) === 'string' ? JSON.parse(sourceMap.map) : sourceMap === null || sourceMap === void 0 ? void 0 : sourceMap.map;
if (sourceMapData !== null && sourceMapData !== void 0 && sourceMapData.sources) sources = sourceMapData.sources.map(source => path.resolve(path.dirname(file), source));
if (sourceMapData !== null && sourceMapData !== void 0 && sourceMapData.sources) sources = sourceMapData.sources.map(source => _path.default.resolve(_path.default.dirname(file), source));
} finally {

@@ -320,0 +319,0 @@ cache.set(file, sources);

@@ -11,4 +11,4 @@ "use strict";

exports.filterProjects = filterProjects;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _util = require("util");

@@ -18,4 +18,3 @@ var _utils = require("playwright-core/lib/utils");

var _util2 = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -37,4 +36,4 @@ * Copyright Microsoft Corporation. All rights reserved.

const readFileAsync = (0, _util.promisify)(fs.readFile);
const readDirAsync = (0, _util.promisify)(fs.readdir);
const readFileAsync = (0, _util.promisify)(_fs.default.readFile);
const readDirAsync = (0, _util.promisify)(_fs.default.readdir);
function wildcardPatternToRegExp(pattern) {

@@ -127,3 +126,3 @@ return new RegExp('^' + pattern.split('*').map(_utils.escapeRegExp).join('.*') + '$', 'ig');

const extensions = new Set(['.js', '.ts', '.mjs', '.mts', '.cjs', '.cts', '.jsx', '.tsx', '.mjsx', '.mtsx', '.cjsx', '.ctsx']);
const testFileExtension = file => extensions.has(path.extname(file));
const testFileExtension = file => extensions.has(_path.default.extname(file));
const allFiles = await cachedCollectFiles(project.project.testDir, project.respectGitIgnore, fsCache);

@@ -150,4 +149,4 @@ const testMatch = (0, _util2.createFileMatcher)(project.project.testMatch);

async function collectFiles(testDir, respectGitIgnore) {
if (!fs.existsSync(testDir)) return [];
if (!fs.statSync(testDir).isDirectory()) return [];
if (!_fs.default.existsSync(testDir)) return [];
if (!_fs.default.statSync(testDir).isDirectory()) return [];
const checkIgnores = (entryPath, rules, isDirectory, parentStatus) => {

@@ -158,3 +157,3 @@ let status = parentStatus;

if (status === 'included' === ruleIncludes) continue;
const relative = path.relative(rule.dir, entryPath);
const relative = _path.default.relative(rule.dir, entryPath);
if (rule.match('/' + relative) || rule.match(relative)) {

@@ -182,3 +181,3 @@ // Matches "/dir/file" or "dir/file"

if (gitignore) {
const content = await readFileAsync(path.join(dir, gitignore.name), 'utf8');
const content = await readFileAsync(_path.default.join(dir, gitignore.name), 'utf8');
const newRules = content.split(/\r?\n/).map(s => {

@@ -204,3 +203,3 @@ s = s.trim();

if (entry.isDirectory() && entry.name === 'node_modules') continue;
const entryPath = path.join(dir, entry.name);
const entryPath = _path.default.join(dir, entry.name);
const entryStatus = checkIgnores(entryPath, rules, entry.isDirectory(), status);

@@ -207,0 +206,0 @@ if (entry.isDirectory() && entryStatus !== 'ignored') await visit(entryPath, rules, entryStatus);else if (entry.isFile() && entryStatus === 'included') files.push(entryPath);

@@ -9,4 +9,4 @@ "use strict";

exports.clearSuggestedRebaselines = clearSuggestedRebaselines;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -16,4 +16,3 @@ var _utilsBundle = require("playwright-core/lib/utilsBundle");

var _babelBundle = require("../transform/babelBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -54,5 +53,5 @@ * Copyright (c) Microsoft Corporation.

const gitCache = new Map();
const patchFile = path.join(project.project.outputDir, 'rebaselines.patch');
const patchFile = _path.default.join(project.project.outputDir, 'rebaselines.patch');
for (const fileName of [...suggestedRebaselines.keys()].sort()) {
const source = await fs.promises.readFile(fileName, 'utf8');
const source = await _fs.default.promises.readFile(fileName, 'utf8');
const lines = source.split('\n');

@@ -95,11 +94,11 @@ const replacements = suggestedRebaselines.get(fileName);

for (const range of ranges) result = result.substring(0, range.start) + range.newText + result.substring(range.end);
const relativeName = path.relative(process.cwd(), fileName);
const relativeName = _path.default.relative(process.cwd(), fileName);
files.push(relativeName);
if (config.config.updateSourceMethod === 'overwrite') {
await fs.promises.writeFile(fileName, result);
await _fs.default.promises.writeFile(fileName, result);
} else if (config.config.updateSourceMethod === '3way') {
await fs.promises.writeFile(fileName, applyPatchWithConflictMarkers(source, result));
await _fs.default.promises.writeFile(fileName, applyPatchWithConflictMarkers(source, result));
} else {
const gitFolder = findGitRoot(path.dirname(fileName), gitCache);
const relativeToGit = path.relative(gitFolder || process.cwd(), fileName);
const gitFolder = findGitRoot(_path.default.dirname(fileName), gitCache);
const relativeToGit = _path.default.relative(gitFolder || process.cwd(), fileName);
patches.push(createPatch(relativeToGit, source, result));

@@ -111,7 +110,7 @@ }

if (config.config.updateSourceMethod === 'patch') {
await fs.promises.mkdir(path.dirname(patchFile), {
await _fs.default.promises.mkdir(_path.default.dirname(patchFile), {
recursive: true
});
await fs.promises.writeFile(patchFile, patches.join('\n'));
reporter.onStdErr(`\n ` + _utils.colors.cyan('git apply ' + path.relative(process.cwd(), patchFile)) + '\n');
await _fs.default.promises.writeFile(patchFile, patches.join('\n'));
reporter.onStdErr(`\n ` + _utils.colors.cyan('git apply ' + _path.default.relative(process.cwd(), patchFile)) + '\n');
}

@@ -129,8 +128,8 @@ }

if (result !== undefined) return result;
const gitPath = path.join(dir, '.git');
if (fs.existsSync(gitPath) && fs.lstatSync(gitPath).isDirectory()) {
const gitPath = _path.default.join(dir, '.git');
if (_fs.default.existsSync(gitPath) && _fs.default.lstatSync(gitPath).isDirectory()) {
cache.set(dir, dir);
return dir;
}
const parentDir = path.dirname(dir);
const parentDir = _path.default.dirname(dir);
if (dir === parentDir) {

@@ -137,0 +136,0 @@ cache.set(dir, null);

@@ -9,3 +9,3 @@ "use strict";

exports.createReporters = createReporters;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -25,4 +25,2 @@ var _loadUtils = require("./loadUtils");

function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/**

@@ -142,3 +140,3 @@ * Copyright Microsoft Corporation. All rights reserved.

const [, projectName,, ...titles] = test.titlePath();
const location = `${path.relative(this.config.rootDir, test.location.file)}:${test.location.line}:${test.location.column}`;
const location = `${_path.default.relative(this.config.rootDir, test.location.file)}:${test.location.line}:${test.location.column}`;
const projectTitle = projectName ? `[${projectName}] › ` : '';

@@ -145,0 +143,0 @@ // eslint-disable-next-line no-console

@@ -18,4 +18,4 @@ "use strict";

exports.runTasksDeferCleanup = runTasksDeferCleanup;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _util = require("util");

@@ -35,4 +35,3 @@ var _utils = require("playwright-core/lib/utils");

var _util2 = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -54,3 +53,3 @@ * Copyright Microsoft Corporation. All rights reserved.

const readDirAsync = (0, _util.promisify)(fs.readdir);
const readDirAsync = (0, _util.promisify)(_fs.default.readdir);
class TestRun {

@@ -207,3 +206,3 @@ constructor(config, reporter) {

const entries = await readDirAsync(outputDir).catch(e => []);
await Promise.all(entries.map(entry => (0, _utils.removeFolders)([path.join(outputDir, entry)])));
await Promise.all(entries.map(entry => (0, _utils.removeFolders)([_path.default.join(outputDir, entry)])));
} else {

@@ -228,3 +227,3 @@ throw error;

const suites = files.map(file => {
const title = path.relative(testRun.config.config.rootDir, file);
const title = _path.default.relative(testRun.config.config.rootDir, file);
const suite = new _test.Suite(title, 'file');

@@ -231,0 +230,0 @@ suite.location = {

@@ -10,4 +10,4 @@ "use strict";

exports.runUIMode = runUIMode;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _server = require("playwright-core/lib/server");

@@ -30,4 +30,2 @@ var _utils = require("playwright-core/lib/utils");

function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/**

@@ -575,5 +573,5 @@ * Copyright Microsoft Corporation. All rights reserved.

const relativeTemplateDir = use.ctTemplateDir || 'playwright';
const templateDir = await fs.promises.realpath(path.normalize(path.join(config.configDir, relativeTemplateDir))).catch(() => undefined);
const templateDir = await _fs.default.promises.realpath(_path.default.normalize(_path.default.join(config.configDir, relativeTemplateDir))).catch(() => undefined);
if (!templateDir) return null;
const outDir = use.ctCacheDir ? path.resolve(config.configDir, use.ctCacheDir) : path.resolve(templateDir, '.cache');
const outDir = use.ctCacheDir ? _path.default.resolve(config.configDir, use.ctCacheDir) : _path.default.resolve(templateDir, '.cache');
return {

@@ -580,0 +578,0 @@ outDir,

@@ -8,6 +8,4 @@ "use strict";

var _child_process = _interopRequireDefault(require("child_process"));
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _compilationCache = require("../transform/compilationCache");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }

@@ -54,6 +52,6 @@ /**

}
const untrackedFiles = gitFileList(`ls-files --others --exclude-standard`).map(file => path.join(configDir, file));
const untrackedFiles = gitFileList(`ls-files --others --exclude-standard`).map(file => _path.default.join(configDir, file));
const [gitRoot] = gitFileList('rev-parse --show-toplevel');
const trackedFilesWithChanges = gitFileList(`diff ${baseCommit} --name-only`).map(file => path.join(gitRoot, file));
const trackedFilesWithChanges = gitFileList(`diff ${baseCommit} --name-only`).map(file => _path.default.join(gitRoot, file));
return new Set((0, _compilationCache.affectedTestFiles)([...untrackedFiles, ...trackedFilesWithChanges]));
}

@@ -7,3 +7,3 @@ "use strict";

exports.runWatchModeLoop = runWatchModeLoop;
var path = _interopRequireWildcard(require("path"));
var _path = _interopRequireDefault(require("path"));
var _readline = _interopRequireDefault(require("readline"));

@@ -20,4 +20,2 @@ var _stream = require("stream");

function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/**

@@ -99,3 +97,3 @@ * Copyright Microsoft Corporation. All rights reserved.

const teleSuiteUpdater = new _teleSuiteUpdater.TeleSuiteUpdater({
pathSeparator: path.sep,
pathSeparator: _path.default.sep,
onUpdate() {}

@@ -401,3 +399,3 @@ });

process.stdout.write(`${_utils.colors.dim(`${dirtyTestFiles.size} test ${dirtyTestFiles.size === 1 ? 'file' : 'files'} changed:`)}\n\n`);
for (const file of dirtyTestFiles) process.stdout.write(` · ${path.relative(rootDir, file)}\n`);
for (const file of dirtyTestFiles) process.stdout.write(` · ${_path.default.relative(rootDir, file)}\n`);
process.stdout.write(`\n${_utils.colors.dim(`Press`)} ${_utils.colors.bold('enter')} ${_utils.colors.dim('to run')}, ${_utils.colors.bold('q')} ${_utils.colors.dim('to quit or')} ${_utils.colors.bold('h')} ${_utils.colors.dim('for more options.')}\n\n`);

@@ -404,0 +402,0 @@ }

@@ -7,4 +7,4 @@ "use strict";

exports.WorkerHost = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -14,4 +14,3 @@ var _processHost = require("./processHost");

var _folders = require("../isomorphic/folders");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -56,7 +55,7 @@ * Copyright Microsoft Corporation. All rights reserved.

config,
artifactsDir: path.join(outputDir, (0, _folders.artifactsFolderName)(workerIndex))
artifactsDir: _path.default.join(outputDir, (0, _folders.artifactsFolderName)(workerIndex))
};
}
async start() {
await fs.promises.mkdir(this._params.artifactsDir, {
await _fs.default.promises.mkdir(this._params.artifactsDir, {
recursive: true

@@ -63,0 +62,0 @@ });

@@ -7,7 +7,6 @@ "use strict";

exports.loadTsConfig = loadTsConfig;
var path = _interopRequireWildcard(require("path"));
var fs = _interopRequireWildcard(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _utilsBundle = require("../utilsBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -54,6 +53,6 @@ * The MIT License (MIT)

if (!referencedConfigFile.endsWith('.json')) referencedConfigFile += '.json';
const currentDir = path.dirname(baseConfigFile);
let resolvedConfigFile = path.resolve(currentDir, referencedConfigFile);
const currentDir = _path.default.dirname(baseConfigFile);
let resolvedConfigFile = _path.default.resolve(currentDir, referencedConfigFile);
// TODO: I don't see how this makes sense, delete in the next minor release.
if (referencedConfigFile.includes('/') && referencedConfigFile.includes('.') && !fs.existsSync(resolvedConfigFile)) resolvedConfigFile = path.join(currentDir, 'node_modules', referencedConfigFile);
if (referencedConfigFile.includes('/') && referencedConfigFile.includes('.') && !_fs.default.existsSync(resolvedConfigFile)) resolvedConfigFile = _path.default.join(currentDir, 'node_modules', referencedConfigFile);
return resolvedConfigFile;

@@ -69,4 +68,4 @@ }

visited.set(configFilePath, result);
if (!fs.existsSync(configFilePath)) return result;
const configString = fs.readFileSync(configFilePath, 'utf-8');
if (!_fs.default.existsSync(configFilePath)) return result;
const configString = _fs.default.readFileSync(configFilePath, 'utf-8');
const cleanedJson = StripBom(configString);

@@ -91,3 +90,3 @@ const parsedConfig = _utilsBundle.json5.parse(cleanedJson);

mapping: parsedConfig.compilerOptions.paths,
pathsBasePath: path.dirname(configFilePath)
pathsBasePath: _path.default.dirname(configFilePath)
};

@@ -98,6 +97,6 @@ }

// This way it is safe to inherit paths between the configs.
result.absoluteBaseUrl = path.resolve(path.dirname(configFilePath), parsedConfig.compilerOptions.baseUrl);
result.absoluteBaseUrl = _path.default.resolve(_path.default.dirname(configFilePath), parsedConfig.compilerOptions.baseUrl);
}
for (const ref of parsedConfig.references || []) references.push(innerLoadTsConfig(resolveConfigFile(configFilePath, ref.path), references, visited));
if (path.basename(configFilePath) === 'jsconfig.json' && result.allowJs === undefined) result.allowJs = true;
if (_path.default.basename(configFilePath) === 'jsconfig.json' && result.allowJs === undefined) result.allowJs = true;
return result;

@@ -104,0 +103,0 @@ }

@@ -22,9 +22,8 @@ "use strict";

exports.stopCollectingFileDeps = stopCollectingFileDeps;
var fs = _interopRequireWildcard(require("fs"));
var os = _interopRequireWildcard(require("os"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _os = _interopRequireDefault(require("os"));
var _path = _interopRequireDefault(require("path"));
var _globals = require("../common/globals");
var _utilsBundle = require("../utilsBundle");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -60,3 +59,3 @@ * Copyright (c) Microsoft Corporation.

const cacheDir = exports.cacheDir = process.env.PWTEST_CACHE_DIR || ((_process$geteuid, _process) => {
if (process.platform === 'win32') return path.join(os.tmpdir(), `playwright-transform-cache`);
if (process.platform === 'win32') return _path.default.join(_os.default.tmpdir(), `playwright-transform-cache`);
// Use `geteuid()` instead of more natural `os.userInfo().username`

@@ -66,3 +65,3 @@ // since `os.userInfo()` is not always available.

// See https://github.com/microsoft/playwright/issues/22721
return path.join(os.tmpdir(), `playwright-transform-cache-` + ((_process$geteuid = (_process = process).geteuid) === null || _process$geteuid === void 0 ? void 0 : _process$geteuid.call(_process)));
return _path.default.join(_os.default.tmpdir(), `playwright-transform-cache-` + ((_process$geteuid = (_process = process).geteuid) === null || _process$geteuid === void 0 ? void 0 : _process$geteuid.call(_process)));
})();

@@ -85,3 +84,3 @@ const sourceMaps = new Map();

return {
map: JSON.parse(fs.readFileSync(sourceMapPath, 'utf-8')),
map: JSON.parse(_fs.default.readFileSync(sourceMapPath, 'utf-8')),
url: source

@@ -112,3 +111,3 @@ };

return {
cachedCode: fs.readFileSync(cache.codePath, 'utf-8')
cachedCode: _fs.default.readFileSync(cache.codePath, 'utf-8')
};

@@ -126,3 +125,3 @@ } catch {

try {
const cachedCode = fs.readFileSync(codePath, 'utf8');
const cachedCode = _fs.default.readFileSync(codePath, 'utf8');
const serializedCache = _innerAddToCompilationCacheAndSerialize(filename, {

@@ -142,8 +141,8 @@ codePath,

if ((0, _globals.isWorkerProcess)()) return {};
fs.mkdirSync(path.dirname(cachePath), {
_fs.default.mkdirSync(_path.default.dirname(cachePath), {
recursive: true
});
if (map) fs.writeFileSync(sourceMapPath, JSON.stringify(map), 'utf8');
if (data.size) fs.writeFileSync(dataPath, JSON.stringify(Object.fromEntries(data.entries()), undefined, 2), 'utf8');
fs.writeFileSync(codePath, code, 'utf8');
if (map) _fs.default.writeFileSync(sourceMapPath, JSON.stringify(map), 'utf8');
if (data.size) _fs.default.writeFileSync(dataPath, JSON.stringify(Object.fromEntries(data.entries()), undefined, 2), 'utf8');
_fs.default.writeFileSync(codePath, code, 'utf8');
const serializedCache = _innerAddToCompilationCacheAndSerialize(filename, {

@@ -182,4 +181,4 @@ codePath,

function calculateCachePath(filePath, hash) {
const fileName = path.basename(filePath, path.extname(filePath)).replace(/\W/g, '') + '_' + hash;
return path.join(cacheDir, hash[0] + hash[1], fileName);
const fileName = _path.default.basename(filePath, _path.default.extname(filePath)).replace(/\W/g, '') + '_' + hash;
return _path.default.join(cacheDir, hash[0] + hash[1], fileName);
}

@@ -248,5 +247,5 @@

// that.
const kPlaywrightInternalPrefix = path.resolve(__dirname, '../../../playwright');
const kPlaywrightInternalPrefix = _path.default.resolve(__dirname, '../../../playwright');
function belongsToNodeModules(file) {
if (file.includes(`${path.sep}node_modules${path.sep}`)) return true;
if (file.includes(`${_path.default.sep}node_modules${_path.default.sep}`)) return true;
if (file.startsWith(kPlaywrightInternalPrefix) && (file.endsWith('.js') || file.endsWith('.mjs'))) return true;

@@ -259,4 +258,4 @@ return false;

if (!cache.dataPath) continue;
if (!fs.existsSync(cache.dataPath)) continue;
const data = JSON.parse(await fs.promises.readFile(cache.dataPath, 'utf8'));
if (!_fs.default.existsSync(cache.dataPath)) continue;
const data = JSON.parse(await _fs.default.promises.readFile(cache.dataPath, 'utf8'));
if (data[pluginName]) result.set(fileName, data[pluginName]);

@@ -263,0 +262,0 @@ }

"use strict";
var fs = _interopRequireWildcard(require("fs"));
var url = _interopRequireWildcard(require("url"));
var _fs = _interopRequireDefault(require("fs"));
var _url = _interopRequireDefault(require("url"));
var _compilationCache = require("./compilationCache");

@@ -9,4 +9,3 @@ var _portTransport = require("./portTransport");

var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -33,5 +32,5 @@ * Copyright (c) Microsoft Corporation.

if (context.parentURL && context.parentURL.startsWith('file://')) {
const filename = url.fileURLToPath(context.parentURL);
const filename = _url.default.fileURLToPath(context.parentURL);
const resolved = (0, _transform.resolveHook)(filename, specifier);
if (resolved !== undefined) specifier = url.pathToFileURL(resolved).toString();
if (resolved !== undefined) specifier = _url.default.pathToFileURL(resolved).toString();
}

@@ -41,3 +40,3 @@ const result = await defaultResolve(specifier, context, defaultResolve);

// (and optionally runner process) after the loading finishes.
if (result !== null && result !== void 0 && result.url && result.url.startsWith('file://')) (_currentFileDepsColle = (0, _compilationCache.currentFileDepsCollector)()) === null || _currentFileDepsColle === void 0 || _currentFileDepsColle.add(url.fileURLToPath(result.url));
if (result !== null && result !== void 0 && result.url && result.url.startsWith('file://')) (_currentFileDepsColle = (0, _compilationCache.currentFileDepsCollector)()) === null || _currentFileDepsColle === void 0 || _currentFileDepsColle.add(_url.default.fileURLToPath(result.url));
return result;

@@ -56,6 +55,6 @@ }

if (!moduleUrl.startsWith('file://')) return defaultLoad(moduleUrl, context, defaultLoad);
const filename = url.fileURLToPath(moduleUrl);
const filename = _url.default.fileURLToPath(moduleUrl);
// Bail for node_modules.
if (!(0, _transform.shouldTransform)(filename)) return defaultLoad(moduleUrl, context, defaultLoad);
const code = fs.readFileSync(filename, 'utf-8');
const code = _fs.default.readFileSync(filename, 'utf-8');
const transformed = (0, _transform.transformHook)(code, filename, moduleUrl);

@@ -62,0 +61,0 @@

@@ -8,5 +8,4 @@ "use strict";

exports.execArgvWithoutExperimentalLoaderOptions = execArgvWithoutExperimentalLoaderOptions;
var url = _interopRequireWildcard(require("url"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var _url = _interopRequireDefault(require("url"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -28,3 +27,3 @@ * Copyright (c) Microsoft Corporation.

const kExperimentalLoaderOptions = ['--no-warnings', `--experimental-loader=${url.pathToFileURL(require.resolve('playwright/lib/transform/esmLoader')).toString()}`];
const kExperimentalLoaderOptions = ['--no-warnings', `--experimental-loader=${_url.default.pathToFileURL(require.resolve('playwright/lib/transform/esmLoader')).toString()}`];
function execArgvWithExperimentalLoaderOptions() {

@@ -31,0 +30,0 @@ return [...process.execArgv, ...kExperimentalLoaderOptions];

@@ -17,6 +17,6 @@ "use strict";

var _crypto = _interopRequireDefault(require("crypto"));
var fs = _interopRequireWildcard(require("fs"));
var _fs = _interopRequireDefault(require("fs"));
var _module = _interopRequireDefault(require("module"));
var path = _interopRequireWildcard(require("path"));
var url = _interopRequireWildcard(require("url"));
var _path = _interopRequireDefault(require("path"));
var _url = _interopRequireDefault(require("url"));
var _tsconfigLoader = require("../third_party/tsconfig-loader");

@@ -26,4 +26,2 @@ var _util = require("../util");

var _compilationCache = require("./compilationCache");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }

@@ -90,7 +88,7 @@ /**

if (_singleTSConfig) return _singleTSConfig;
return loadAndValidateTsconfigsForFolder(path.dirname(file));
return loadAndValidateTsconfigsForFolder(_path.default.dirname(file));
}
function loadAndValidateTsconfigsForFolder(folder) {
const foldersWithConfig = [];
let currentFolder = path.resolve(folder);
let currentFolder = _path.default.resolve(folder);
let result;

@@ -105,4 +103,4 @@ while (true) {

for (const name of ['tsconfig.json', 'jsconfig.json']) {
const configPath = path.join(currentFolder, name);
if (fs.existsSync(configPath)) {
const configPath = _path.default.join(currentFolder, name);
if (_fs.default.existsSync(configPath)) {
const loaded = (0, _tsconfigLoader.loadTsConfig)(configPath);

@@ -114,3 +112,3 @@ result = loaded.map(validateTsConfig);

if (result) break;
const parentFolder = path.resolve(currentFolder, '../');
const parentFolder = _path.default.resolve(currentFolder, '../');
if (currentFolder === parentFolder) break;

@@ -128,3 +126,3 @@ currentFolder = parentFolder;

if (!shouldTransform(filename)) return;
if (isRelativeSpecifier(specifier)) return (0, _util.resolveImportSpecifierAfterMapping)(path.resolve(path.dirname(filename), specifier), false);
if (isRelativeSpecifier(specifier)) return (0, _util.resolveImportSpecifierAfterMapping)(_path.default.resolve(_path.default.dirname(filename), specifier), false);

@@ -169,3 +167,3 @@ /**

if (value.includes('*')) candidate = candidate.replace('*', matchedPartOfSpecifier);
candidate = path.resolve(tsconfig.pathsBase, candidate);
candidate = _path.default.resolve(tsconfig.pathsBase, candidate);
const existing = (0, _util.resolveImportSpecifierAfterMapping)(candidate, true);

@@ -180,3 +178,3 @@ if (existing) {

}
if (path.isAbsolute(specifier)) {
if (_path.default.isAbsolute(specifier)) {
// Handle absolute file paths like `import '/path/to/file'`

@@ -239,3 +237,3 @@ // Do not handle module imports like `import 'fs'`

const isModule = (0, _util.fileIsModule)(file);
const esmImport = () => eval(`import(${JSON.stringify(url.pathToFileURL(file))})`);
const esmImport = () => eval(`import(${JSON.stringify(_url.default.pathToFileURL(file))})`);
if (isModule) return await esmImport();

@@ -286,3 +284,3 @@ const result = require(file);

// Node error stacks for modules use file:// urls instead of paths.
const file = fileName && fileName.startsWith('file://') ? url.fileURLToPath(fileName) : fileName;
const file = fileName && fileName.startsWith('file://') ? _url.default.fileURLToPath(fileName) : fileName;
return {

@@ -289,0 +287,0 @@ file,

@@ -33,5 +33,5 @@ "use strict";

exports.windowsFilesystemFriendlyLength = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var url = _interopRequireWildcard(require("url"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _url = _interopRequireDefault(require("url"));
var _util = _interopRequireDefault(require("util"));

@@ -41,4 +41,2 @@ var _utils = require("playwright-core/lib/utils");

function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/**

@@ -60,4 +58,4 @@ * Copyright (c) Microsoft Corporation.

const PLAYWRIGHT_TEST_PATH = path.join(__dirname, '..');
const PLAYWRIGHT_CORE_PATH = path.dirname(require.resolve('playwright-core/package.json'));
const PLAYWRIGHT_TEST_PATH = _path.default.join(__dirname, '..');
const PLAYWRIGHT_CORE_PATH = _path.default.dirname(require.resolve('playwright-core/package.json'));
function filterStackTrace(e) {

@@ -87,3 +85,3 @@ var _e$stack;

for (const line of rawStack) {
const frame = (0, _utils.parseStackFrame)(line, path.sep, !!process.env.PWDEBUGIMPL);
const frame = (0, _utils.parseStackFrame)(line, _path.default.sep, !!process.env.PWDEBUGIMPL);
if (!frame || !frame.file) continue;

@@ -132,4 +130,4 @@ if (!filterStackFile(frame.file)) continue;

// Check against the file url as well.
if (path.sep === '\\') {
const fileURL = url.pathToFileURL(filePath).href;
if (_path.default.sep === '\\') {
const fileURL = _url.default.pathToFileURL(filePath).href;
for (const re of reList) {

@@ -176,4 +174,4 @@ re.lastIndex = 0;

function relativeFilePath(file) {
if (!path.isAbsolute(file)) return file;
return path.relative(process.cwd(), file);
if (!_path.default.isAbsolute(file)) return file;
return _path.default.relative(process.cwd(), file);
}

@@ -204,3 +202,3 @@ function formatLocation(location) {

function addSuffixToFilePath(filePath, suffix) {
const ext = path.extname(filePath);
const ext = _path.default.extname(filePath);
const base = filePath.substring(0, filePath.length - ext.length);

@@ -210,3 +208,3 @@ return base + suffix + ext;

function sanitizeFilePathBeforeExtension(filePath) {
const ext = path.extname(filePath);
const ext = _path.default.extname(filePath);
const base = filePath.substring(0, filePath.length - ext.length);

@@ -220,4 +218,4 @@ return (0, _utils.sanitizeForFilePath)(base) + ext;

function getContainedPath(parentPath, subPath = '') {
const resolvedPath = path.resolve(parentPath, subPath);
if (resolvedPath === parentPath || resolvedPath.startsWith(parentPath + path.sep)) return resolvedPath;
const resolvedPath = _path.default.resolve(parentPath, subPath);
if (resolvedPath === parentPath || resolvedPath.startsWith(parentPath + _path.default.sep)) return resolvedPath;
return null;

@@ -238,8 +236,8 @@ }

if (cached !== undefined) return cached;
const packageJsonPath = path.join(folderPath, 'package.json');
if (fs.existsSync(packageJsonPath)) {
const packageJsonPath = _path.default.join(folderPath, 'package.json');
if (_fs.default.existsSync(packageJsonPath)) {
folderToPackageJsonPath.set(folderPath, packageJsonPath);
return packageJsonPath;
}
const parentFolder = path.dirname(folderPath);
const parentFolder = _path.default.dirname(folderPath);
if (folderPath === parentFolder) {

@@ -254,6 +252,6 @@ folderToPackageJsonPath.set(folderPath, '');

function resolveReporterOutputPath(defaultValue, configDir, configValue) {
if (configValue) return path.resolve(configDir, configValue);
if (configValue) return _path.default.resolve(configDir, configValue);
let basePath = getPackageJsonPath(configDir);
basePath = basePath ? path.dirname(basePath) : process.cwd();
return path.resolve(basePath, defaultValue);
basePath = basePath ? _path.default.dirname(basePath) : process.cwd();
return _path.default.resolve(basePath, defaultValue);
}

@@ -271,8 +269,8 @@ async function normalizeAndSaveAttachment(outputPath, name, options = {}) {

const sanitizedNamePrefix = (0, _utils.sanitizeForFilePath)(name) + '-';
const dest = path.join(outputPath, 'attachments', sanitizedNamePrefix + hash + path.extname(options.path));
await fs.promises.mkdir(path.dirname(dest), {
const dest = _path.default.join(outputPath, 'attachments', sanitizedNamePrefix + hash + _path.default.extname(options.path));
await _fs.default.promises.mkdir(_path.default.dirname(dest), {
recursive: true
});
await fs.promises.copyFile(options.path, dest);
const contentType = (_options$contentType = options.contentType) !== null && _options$contentType !== void 0 ? _options$contentType : _utilsBundle.mime.getType(path.basename(options.path)) || 'application/octet-stream';
await _fs.default.promises.copyFile(options.path, dest);
const contentType = (_options$contentType = options.contentType) !== null && _options$contentType !== void 0 ? _options$contentType : _utilsBundle.mime.getType(_path.default.basename(options.path)) || 'application/octet-stream';
return {

@@ -296,3 +294,3 @@ name,

if (file.endsWith('.cjs') || file.endsWith('.cts')) return false;
const folder = path.dirname(file);
const folder = _path.default.dirname(file);
return folderIsModule(folder);

@@ -311,3 +309,3 @@ }

try {
mainField = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')).main;
mainField = JSON.parse(_fs.default.readFileSync(packageJsonPath, 'utf8')).main;
} catch {}

@@ -348,3 +346,3 @@ packageJsonMainFieldCache.set(packageJsonPath, mainField);

if (dirExists(resolved)) {
const packageJsonPath = path.join(resolved, 'package.json');
const packageJsonPath = _path.default.join(resolved, 'package.json');
if (afterPathMapping) {

@@ -358,4 +356,4 @@ // Most notably, the module resolution algorithm is not performed after the path mapping.

const mainField = getMainFieldFromPackageJson(packageJsonPath);
const mainFieldResolved = mainField ? resolveImportSpecifierExtension(path.resolve(resolved, mainField)) : undefined;
return mainFieldResolved || resolveImportSpecifierExtension(path.join(resolved, 'index'));
const mainFieldResolved = mainField ? resolveImportSpecifierExtension(_path.default.resolve(resolved, mainField)) : undefined;
return mainFieldResolved || resolveImportSpecifierExtension(_path.default.join(resolved, 'index'));
}

@@ -370,3 +368,3 @@

// following the TypeScript "bundler" mode.
const dirImport = path.join(resolved, 'index');
const dirImport = _path.default.join(resolved, 'index');
return resolveImportSpecifierExtension(dirImport);

@@ -377,3 +375,3 @@ }

var _fs$statSync;
return (_fs$statSync = fs.statSync(resolved, {
return (_fs$statSync = _fs.default.statSync(resolved, {
throwIfNoEntry: false

@@ -384,3 +382,3 @@ })) === null || _fs$statSync === void 0 ? void 0 : _fs$statSync.isFile();

var _fs$statSync2;
return (_fs$statSync2 = fs.statSync(resolved, {
return (_fs$statSync2 = _fs.default.statSync(resolved, {
throwIfNoEntry: false

@@ -391,6 +389,6 @@ })) === null || _fs$statSync2 === void 0 ? void 0 : _fs$statSync2.isDirectory();

try {
if (!fs.existsSync(dir)) return;
if (!_fs.default.existsSync(dir)) return;
// eslint-disable-next-line no-console
console.log(`Removing ${await fs.promises.realpath(dir)}`);
await fs.promises.rm(dir, {
console.log(`Removing ${await _fs.default.promises.realpath(dir)}`);
await _fs.default.promises.rm(dir, {
recursive: true,

@@ -397,0 +395,0 @@ force: true

@@ -7,4 +7,4 @@ "use strict";

exports.TestStepInfoImpl = exports.TestInfoImpl = exports.SkipError = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");

@@ -15,4 +15,4 @@ var _timeoutManager = require("./timeoutManager");

var _util2 = require("./util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var _floatingPromiseScope = require("./floatingPromiseScope");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -74,2 +74,3 @@ * Copyright Microsoft Corporation. All rights reserved.

this._tracing = void 0;
this._floatingPromiseScope = new _floatingPromiseScope.FloatingPromiseScope();
this._wasInterrupted = false;

@@ -137,3 +138,3 @@ this._lastStepId = 0;

this.outputDir = (() => {
const relativeTestFilePath = path.relative(this.project.testDir, this._requireFile.replace(/\.(spec|test)\.(js|ts|jsx|tsx|mjs|mts|cjs|cts)$/, ''));
const relativeTestFilePath = _path.default.relative(this.project.testDir, this._requireFile.replace(/\.(spec|test)\.(js|ts|jsx|tsx|mjs|mts|cjs|cts)$/, ''));
const sanitizedRelativePath = relativeTestFilePath.replace(process.platform === 'win32' ? new RegExp('\\\\', 'g') : new RegExp('/', 'g'), '-');

@@ -145,7 +146,7 @@ const fullTitleWithoutSpec = this.titlePath.slice(1).join(' ');

if (this.repeatEachIndex) testOutputDir += '-repeat' + this.repeatEachIndex;
return path.join(this.project.outputDir, testOutputDir);
return _path.default.join(this.project.outputDir, testOutputDir);
})();
this.snapshotDir = (() => {
const relativeTestFilePath = path.relative(this.project.testDir, this._requireFile);
return path.join(this.project.snapshotDir, relativeTestFilePath + '-snapshots');
const relativeTestFilePath = _path.default.relative(this.project.testDir, this._requireFile);
return _path.default.join(this.project.snapshotDir, relativeTestFilePath + '-snapshots');
})();

@@ -379,3 +380,3 @@ this._attachmentsPush = this.attachments.push.bind(this.attachments);

const outputPath = this._getOutputPath(...pathSegments);
fs.mkdirSync(this.outputDir, {
_fs.default.mkdirSync(this.outputDir, {
recursive: true

@@ -386,3 +387,3 @@ });

_getOutputPath(...pathSegments) {
const joinedPath = path.join(...pathSegments);
const joinedPath = _path.default.join(...pathSegments);
const outputPath = (0, _util.getContainedPath)(this.outputDir, joinedPath);

@@ -397,10 +398,10 @@ if (outputPath) return outputPath;

_resolveSnapshotPath(template, defaultTemplate, pathSegments) {
const subPath = path.join(...pathSegments);
const parsedSubPath = path.parse(subPath);
const relativeTestFilePath = path.relative(this.project.testDir, this._requireFile);
const parsedRelativeTestFilePath = path.parse(relativeTestFilePath);
const subPath = _path.default.join(...pathSegments);
const parsedSubPath = _path.default.parse(subPath);
const relativeTestFilePath = _path.default.relative(this.project.testDir, this._requireFile);
const parsedRelativeTestFilePath = _path.default.parse(relativeTestFilePath);
const projectNamePathSegment = (0, _utils.sanitizeForFilePath)(this.project.name);
const actualTemplate = template || this._projectInternal.snapshotPathTemplate || defaultTemplate;
const snapshotPath = actualTemplate.replace(/\{(.)?testDir\}/g, '$1' + this.project.testDir).replace(/\{(.)?snapshotDir\}/g, '$1' + this.project.snapshotDir).replace(/\{(.)?snapshotSuffix\}/g, this.snapshotSuffix ? '$1' + this.snapshotSuffix : '').replace(/\{(.)?testFileDir\}/g, '$1' + parsedRelativeTestFilePath.dir).replace(/\{(.)?platform\}/g, '$1' + process.platform).replace(/\{(.)?projectName\}/g, projectNamePathSegment ? '$1' + projectNamePathSegment : '').replace(/\{(.)?testName\}/g, '$1' + this._fsSanitizedTestName()).replace(/\{(.)?testFileName\}/g, '$1' + parsedRelativeTestFilePath.base).replace(/\{(.)?testFilePath\}/g, '$1' + relativeTestFilePath).replace(/\{(.)?arg\}/g, '$1' + path.join(parsedSubPath.dir, parsedSubPath.name)).replace(/\{(.)?ext\}/g, parsedSubPath.ext ? '$1' + parsedSubPath.ext : '');
return path.normalize(path.resolve(this._configInternal.configDir, snapshotPath));
const snapshotPath = actualTemplate.replace(/\{(.)?testDir\}/g, '$1' + this.project.testDir).replace(/\{(.)?snapshotDir\}/g, '$1' + this.project.snapshotDir).replace(/\{(.)?snapshotSuffix\}/g, this.snapshotSuffix ? '$1' + this.snapshotSuffix : '').replace(/\{(.)?testFileDir\}/g, '$1' + parsedRelativeTestFilePath.dir).replace(/\{(.)?platform\}/g, '$1' + process.platform).replace(/\{(.)?projectName\}/g, projectNamePathSegment ? '$1' + projectNamePathSegment : '').replace(/\{(.)?testName\}/g, '$1' + this._fsSanitizedTestName()).replace(/\{(.)?testFileName\}/g, '$1' + parsedRelativeTestFilePath.base).replace(/\{(.)?testFilePath\}/g, '$1' + relativeTestFilePath).replace(/\{(.)?arg\}/g, '$1' + _path.default.join(parsedSubPath.dir, parsedSubPath.name)).replace(/\{(.)?ext\}/g, parsedSubPath.ext ? '$1' + parsedSubPath.ext : '');
return _path.default.normalize(_path.default.resolve(this._configInternal.configDir, snapshotPath));
}

@@ -407,0 +408,0 @@ snapshotPath(...pathSegments) {

@@ -7,9 +7,8 @@ "use strict";

exports.testTraceEntryName = exports.TestTracing = void 0;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("playwright-core/lib/utils");
var _zipBundle = require("playwright-core/lib/zipBundle");
var _util = require("../util");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**

@@ -47,3 +46,3 @@ * Copyright Microsoft Corporation. All rights reserved.

this._artifactsDir = artifactsDir;
this._tracesDir = path.join(this._artifactsDir, 'traces');
this._tracesDir = _path.default.join(this._artifactsDir, 'traces');
this._contextCreatedEvent = {

@@ -103,6 +102,6 @@ version,

this._liveTraceFile = {
file: path.join(this._tracesDir, `${this._testInfo.testId}-test.trace`),
file: _path.default.join(this._tracesDir, `${this._testInfo.testId}-test.trace`),
fs: new _utils.SerializedFS()
};
this._liveTraceFile.fs.mkdir(path.dirname(this._liveTraceFile.file));
this._liveTraceFile.fs.mkdir(_path.default.dirname(this._liveTraceFile.file));
const data = this._traceEvents.map(e => JSON.stringify(e)).join('\n') + '\n';

@@ -122,3 +121,3 @@ this._liveTraceFile.fs.writeFile(this._liveTraceFile.file, data);

traceTitle() {
return [path.relative(this._testInfo.project.testDir, this._testInfo.file) + ':' + this._testInfo.line, ...this._testInfo.titlePath.slice(1)].join(' › ');
return [_path.default.relative(this._testInfo.project.testDir, this._testInfo.file) + ':' + this._testInfo.line, ...this._testInfo.titlePath.slice(1)].join(' › ');
}

@@ -133,3 +132,3 @@ generateNextTraceRecordingName() {

_generateNextTraceRecordingPath() {
const file = path.join(this._artifactsDir, (0, _utils.createGuid)() + '.zip');
const file = _path.default.join(this._artifactsDir, (0, _utils.createGuid)() + '.zip');
this._temporaryTraceFiles.push(file);

@@ -159,3 +158,3 @@ return file;

if (this._shouldAbandonTrace()) {
for (const file of this._temporaryTraceFiles) await fs.promises.unlink(file).catch(() => {});
for (const file of this._temporaryTraceFiles) await _fs.default.promises.unlink(file).catch(() => {});
return;

@@ -177,3 +176,3 @@ }

for (const sourceFile of sourceFiles) {
await fs.promises.readFile(sourceFile, 'utf8').then(source => {
await _fs.default.promises.readFile(sourceFile, 'utf8').then(source => {
zipFile.addBuffer(Buffer.from(source), 'resources/src@' + (0, _utils.calculateSha1)(sourceFile) + '.txt');

@@ -187,3 +186,3 @@ }).catch(() => {});

let contentPromise;
if (attachment.path) contentPromise = fs.promises.readFile(attachment.path).catch(() => undefined);else if (attachment.base64) contentPromise = Promise.resolve(Buffer.from(attachment.base64, 'base64'));
if (attachment.path) contentPromise = _fs.default.promises.readFile(attachment.path).catch(() => undefined);else if (attachment.base64) contentPromise = Promise.resolve(Buffer.from(attachment.base64, 'base64'));
const content = await contentPromise;

@@ -204,3 +203,3 @@ if (content === undefined) continue;

zipFile.end(undefined, () => {
zipFile.outputStream.pipe(fs.createWriteStream(this._generateNextTraceRecordingPath())).on('close', f);
zipFile.outputStream.pipe(_fs.default.createWriteStream(this._generateNextTraceRecordingPath())).on('close', f);
});

@@ -293,5 +292,5 @@ });

async function mergeTraceFiles(fileName, temporaryTraceFiles) {
temporaryTraceFiles = temporaryTraceFiles.filter(file => fs.existsSync(file));
temporaryTraceFiles = temporaryTraceFiles.filter(file => _fs.default.existsSync(file));
if (temporaryTraceFiles.length === 1) {
await fs.promises.rename(temporaryTraceFiles[0], fileName);
await _fs.default.promises.rename(temporaryTraceFiles[0], fileName);
return;

@@ -339,4 +338,4 @@ }

zipFile.end(undefined, () => {
zipFile.outputStream.pipe(fs.createWriteStream(fileName)).on('close', () => {
void Promise.all(temporaryTraceFiles.map(tempFile => fs.promises.unlink(tempFile))).then(() => {
zipFile.outputStream.pipe(_fs.default.createWriteStream(fileName)).on('close', () => {
void Promise.all(temporaryTraceFiles.map(tempFile => _fs.default.promises.unlink(tempFile))).then(() => {
mergePromise.resolve();

@@ -343,0 +342,0 @@ }).catch(error => mergePromise.reject(error));

@@ -289,2 +289,12 @@ "use strict";

testInfo._allowSkips = true;
// Create warning if any of the async calls were not awaited in various stages.
const checkForFloatingPromises = functionDescription => {
if (!testInfo._floatingPromiseScope.hasFloatingPromises()) return;
testInfo.annotations.push({
type: 'warning',
description: `Some async calls were not awaited by the end of ${functionDescription}. This can cause flakiness.`
});
testInfo._floatingPromiseScope.clear();
};
await testInfo._runAsStage({

@@ -336,2 +346,3 @@ title: 'setup and test'

});
checkForFloatingPromises('beforeAll/beforeEach hooks');
if (testFunctionParams === null) {

@@ -350,2 +361,3 @@ // Fixture setup failed or was skipped, we should not run the test now.

await fn(testFunctionParams, testInfo);
checkForFloatingPromises('the test');
});

@@ -422,2 +434,3 @@ }).catch(() => {}); // Ignore the top-level error, it is already inside TestInfo.errors.

checkForFloatingPromises('afterAll/afterEach hooks');
if (testInfo._isFailure()) this._isStopped = true;

@@ -424,0 +437,0 @@ if (this._isStopped) {

{
"name": "playwright",
"version": "1.51.0-alpha-2025-02-19",
"version": "1.51.0-alpha-2025-02-26",
"description": "A high-level API to automate web browsers",

@@ -59,3 +59,3 @@ "repository": {

"dependencies": {
"playwright-core": "1.51.0-alpha-2025-02-19"
"playwright-core": "1.51.0-alpha-2025-02-26"
},

@@ -62,0 +62,0 @@ "optionalDependencies": {

# 🎭 Playwright
[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-134.0.6998.15-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-135.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-18.2-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-infomational)](https://aka.ms/playwright/discord)
[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-134.0.6998.23-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-135.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-18.2-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-infomational)](https://aka.ms/playwright/discord)

@@ -11,3 +11,3 @@ ## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)

| :--- | :---: | :---: | :---: |
| Chromium <!-- GEN:chromium-version -->134.0.6998.15<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Chromium <!-- GEN:chromium-version -->134.0.6998.23<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| WebKit <!-- GEN:webkit-version -->18.2<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |

@@ -14,0 +14,0 @@ | Firefox <!-- GEN:firefox-version -->135.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc