playwright
Advanced tools
Comparing version 1.51.0-alpha-2025-02-19 to 1.51.0-alpha-2025-02-26
@@ -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 | ||
[](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[](https://webkit.org/)<!-- GEN:stop --> [](https://aka.ms/playwright/discord) | ||
[](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[](https://webkit.org/)<!-- GEN:stop --> [](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
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
109
36807
184
3196569
+ Addedplaywright-core@1.51.0-alpha-2025-02-26(transitive)
- Removedplaywright-core@1.51.0-alpha-2025-02-19(transitive)