1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"use strict";
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __create = Object.create;
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __defProp = Object.defineProperty;
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __getOwnPropNames = Object.getOwnPropertyNames;
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __getProtoOf = Object.getPrototypeOf;
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __hasOwnProp = Object.prototype.hasOwnProperty;
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __export = (target, all) => {
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (var name in all)
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__defProp(target, name, { get: all[name], enumerable: true });
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __copyProps = (to, from, except, desc) => {
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (from && typeof from === "object" || typeof from === "function") {
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (let key of __getOwnPropNames(from))
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!__hasOwnProp.call(to, key) && key !== except)
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return to;
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// If the importer is in node compatibility mode or this is not an ESM
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// file that has been converted to a CommonJS file using a Babel-
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// compatible transform (i.e. "__esModule" has not been set), then set
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// "default" to the CommonJS "module.exports" for node compatibility.
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
mod
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
));
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var config_exports = {};
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__export(config_exports, {
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
commaSeparatedList: () => commaSeparatedList,
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
configFromCLIOptions: () => configFromCLIOptions,
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
defaultConfig: () => defaultConfig,
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
dotenvFileLoader: () => dotenvFileLoader,
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
enumParser: () => enumParser,
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
headerParser: () => headerParser,
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
numberParser: () => numberParser,
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
outputDir: () => outputDir,
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
outputFile: () => outputFile,
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolutionParser: () => resolutionParser,
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolveCLIConfig: () => resolveCLIConfig,
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolveConfig: () => resolveConfig,
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
semicolonSeparatedList: () => semicolonSeparatedList
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
module.exports = __toCommonJS(config_exports);
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_fs = __toESM(require("fs"));
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_os = __toESM(require("os"));
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_path = __toESM(require("path"));
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_playwright_core = require("playwright-core");
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_utilsBundle = require("playwright-core/lib/utilsBundle");
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_util = require("../../util");
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
var import_server = require("../sdk/server");
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const defaultConfig = {
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browser: {
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browserName: "chromium",
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
launchOptions: {
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
channel: "chrome",
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
headless: import_os.default.platform() === "linux" && !process.env.DISPLAY,
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chromiumSandbox: true
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions: {
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
viewport: null
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
console: {
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
level: "info"
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
network: {
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
allowedOrigins: void 0,
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
blockedOrigins: void 0
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
server: {},
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
saveTrace: false,
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
snapshot: {
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
mode: "incremental",
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
output: "stdout"
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
timeouts: {
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
action: 5e3,
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navigation: 6e4
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function resolveConfig(config) {
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return mergeConfig(defaultConfig, config);
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function resolveCLIConfig(cliOptions) {
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const configInFile = await loadConfig(cliOptions.config);
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const envOverrides = configFromEnv();
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const cliOverrides = configFromCLIOptions(cliOptions);
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
let result = defaultConfig;
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
result = mergeConfig(result, configInFile);
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
result = mergeConfig(result, envOverrides);
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
result = mergeConfig(result, cliOverrides);
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
await validateConfig(result);
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return result;
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function validateConfig(config) {
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (config.browser.initScript) {
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (const script of config.browser.initScript) {
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!await (0, import_util.fileExistsAsync)(script))
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Init script file does not exist: ${script}`);
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (config.browser.initPage) {
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
for (const page of config.browser.initPage) {
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!await (0, import_util.fileExistsAsync)(page))
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Init page file does not exist: ${page}`);
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (config.sharedBrowserContext && config.saveVideo)
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error("saveVideo is not supported when sharedBrowserContext is true");
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function configFromCLIOptions(cliOptions) {
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
let browserName;
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
let channel;
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
switch (cliOptions.browser) {
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "chrome":
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "chrome-beta":
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "chrome-canary":
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "chrome-dev":
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "chromium":
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "msedge":
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "msedge-beta":
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "msedge-canary":
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "msedge-dev":
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browserName = "chromium";
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
channel = cliOptions.browser;
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "firefox":
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browserName = "firefox";
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
case "webkit":
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browserName = "webkit";
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
break;
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const launchOptions = {
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
channel,
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
executablePath: cliOptions.executablePath,
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
headless: cliOptions.headless
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.sandbox === false)
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
launchOptions.chromiumSandbox = false;
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.proxyServer) {
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
launchOptions.proxy = {
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
server: cliOptions.proxyServer
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.proxyBypass)
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
launchOptions.proxy.bypass = cliOptions.proxyBypass;
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.device && cliOptions.cdpEndpoint)
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error("Device emulation is not supported with cdpEndpoint.");
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const contextOptions = cliOptions.device ? import_playwright_core.devices[cliOptions.device] : {};
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.storageState)
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions.storageState = cliOptions.storageState;
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.userAgent)
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions.userAgent = cliOptions.userAgent;
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.viewportSize)
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions.viewport = cliOptions.viewportSize;
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.ignoreHttpsErrors)
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions.ignoreHTTPSErrors = true;
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.blockServiceWorkers)
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions.serviceWorkers = "block";
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (cliOptions.grantPermissions)
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions.permissions = cliOptions.grantPermissions;
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const result = {
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browser: {
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browserName,
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
isolated: cliOptions.isolated,
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
userDataDir: cliOptions.userDataDir,
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
launchOptions,
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions,
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cdpEndpoint: cliOptions.cdpEndpoint,
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cdpHeaders: cliOptions.cdpHeader,
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
initPage: cliOptions.initPage,
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
initScript: cliOptions.initScript
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
server: {
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
port: cliOptions.port,
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
host: cliOptions.host,
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
allowedHosts: cliOptions.allowedHosts
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
capabilities: cliOptions.caps,
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
console: {
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
level: cliOptions.consoleLevel
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
network: {
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
allowedOrigins: cliOptions.allowedOrigins,
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
blockedOrigins: cliOptions.blockedOrigins
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
allowUnrestrictedFileAccess: cliOptions.allowUnrestrictedFileAccess,
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
codegen: cliOptions.codegen,
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
saveSession: cliOptions.saveSession,
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
saveTrace: cliOptions.saveTrace,
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
saveVideo: cliOptions.saveVideo,
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
secrets: cliOptions.secrets,
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
sharedBrowserContext: cliOptions.sharedBrowserContext,
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
snapshot: cliOptions.snapshotMode ? { mode: cliOptions.snapshotMode } : void 0,
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
outputMode: cliOptions.outputMode,
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
outputDir: cliOptions.outputDir,
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
imageResponses: cliOptions.imageResponses,
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
testIdAttribute: cliOptions.testIdAttribute,
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
timeouts: {
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
action: cliOptions.timeoutAction,
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navigation: cliOptions.timeoutNavigation
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return result;
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function configFromEnv() {
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const options = {};
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.allowedHosts = commaSeparatedList(process.env.PLAYWRIGHT_MCP_ALLOWED_HOSTNAMES);
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.allowedOrigins = semicolonSeparatedList(process.env.PLAYWRIGHT_MCP_ALLOWED_ORIGINS);
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.allowUnrestrictedFileAccess = envToBoolean(process.env.PLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESS);
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.blockedOrigins = semicolonSeparatedList(process.env.PLAYWRIGHT_MCP_BLOCKED_ORIGINS);
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.blockServiceWorkers = envToBoolean(process.env.PLAYWRIGHT_MCP_BLOCK_SERVICE_WORKERS);
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.browser = envToString(process.env.PLAYWRIGHT_MCP_BROWSER);
217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.caps = commaSeparatedList(process.env.PLAYWRIGHT_MCP_CAPS);
218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.cdpEndpoint = envToString(process.env.PLAYWRIGHT_MCP_CDP_ENDPOINT);
219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.cdpHeader = headerParser(process.env.PLAYWRIGHT_MCP_CDP_HEADERS, {});
220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.config = envToString(process.env.PLAYWRIGHT_MCP_CONFIG);
221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (process.env.PLAYWRIGHT_MCP_CONSOLE_LEVEL)
222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.consoleLevel = enumParser("--console-level", ["error", "warning", "info", "debug"], process.env.PLAYWRIGHT_MCP_CONSOLE_LEVEL);
223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.device = envToString(process.env.PLAYWRIGHT_MCP_DEVICE);
224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.executablePath = envToString(process.env.PLAYWRIGHT_MCP_EXECUTABLE_PATH);
225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.grantPermissions = commaSeparatedList(process.env.PLAYWRIGHT_MCP_GRANT_PERMISSIONS);
226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.headless = envToBoolean(process.env.PLAYWRIGHT_MCP_HEADLESS);
227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.host = envToString(process.env.PLAYWRIGHT_MCP_HOST);
228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.ignoreHttpsErrors = envToBoolean(process.env.PLAYWRIGHT_MCP_IGNORE_HTTPS_ERRORS);
229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const initPage = envToString(process.env.PLAYWRIGHT_MCP_INIT_PAGE);
230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (initPage)
231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.initPage = [initPage];
232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const initScript = envToString(process.env.PLAYWRIGHT_MCP_INIT_SCRIPT);
233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (initScript)
234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.initScript = [initScript];
235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.isolated = envToBoolean(process.env.PLAYWRIGHT_MCP_ISOLATED);
236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (process.env.PLAYWRIGHT_MCP_IMAGE_RESPONSES)
237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.imageResponses = enumParser("--image-responses", ["allow", "omit"], process.env.PLAYWRIGHT_MCP_IMAGE_RESPONSES);
238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.sandbox = envToBoolean(process.env.PLAYWRIGHT_MCP_SANDBOX);
239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.outputDir = envToString(process.env.PLAYWRIGHT_MCP_OUTPUT_DIR);
240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.port = numberParser(process.env.PLAYWRIGHT_MCP_PORT);
241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.proxyBypass = envToString(process.env.PLAYWRIGHT_MCP_PROXY_BYPASS);
242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.proxyServer = envToString(process.env.PLAYWRIGHT_MCP_PROXY_SERVER);
243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.saveTrace = envToBoolean(process.env.PLAYWRIGHT_MCP_SAVE_TRACE);
244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.saveVideo = resolutionParser("--save-video", process.env.PLAYWRIGHT_MCP_SAVE_VIDEO);
245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.secrets = dotenvFileLoader(process.env.PLAYWRIGHT_MCP_SECRETS_FILE);
246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.storageState = envToString(process.env.PLAYWRIGHT_MCP_STORAGE_STATE);
247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.testIdAttribute = envToString(process.env.PLAYWRIGHT_MCP_TEST_ID_ATTRIBUTE);
248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.timeoutAction = numberParser(process.env.PLAYWRIGHT_MCP_TIMEOUT_ACTION);
249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.timeoutNavigation = numberParser(process.env.PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION);
250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.userAgent = envToString(process.env.PLAYWRIGHT_MCP_USER_AGENT);
251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.userDataDir = envToString(process.env.PLAYWRIGHT_MCP_USER_DATA_DIR);
252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
options.viewportSize = resolutionParser("--viewport-size", process.env.PLAYWRIGHT_MCP_VIEWPORT_SIZE);
253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return configFromCLIOptions(options);
254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function loadConfig(configFile) {
256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!configFile)
257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return {};
258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
try {
259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return JSON.parse(await import_fs.default.promises.readFile(configFile, "utf8"));
260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
} catch (error) {
261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Failed to load config file: ${configFile}, ${error}`);
262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function tmpDir() {
265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return import_path.default.join(process.env.PW_TMPDIR_FOR_TEST ?? import_os.default.tmpdir(), "playwright-mcp-output");
266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function outputDir(config, clientInfo) {
268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const rootPath = (0, import_server.firstRootPath)(clientInfo);
269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return config.outputDir ?? (rootPath ? import_path.default.join(rootPath, ".playwright-mcp") : void 0) ?? import_path.default.join(tmpDir(), String(clientInfo.timestamp));
270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function outputFile(config, clientInfo, fileName, options) {
272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const file = await resolveFile(config, clientInfo, fileName, options);
273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
await import_fs.default.promises.mkdir(import_path.default.dirname(file), { recursive: true });
274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
(0, import_utilsBundle.debug)("pw:mcp:file")(options.title, file);
275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return file;
276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
async function resolveFile(config, clientInfo, fileName, options) {
278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const dir = outputDir(config, clientInfo);
279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (options.origin === "code")
280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return import_path.default.resolve(dir, fileName);
281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (options.origin === "llm") {
282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
fileName = fileName.split("\\").join("/");
283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const resolvedFile = import_path.default.resolve(dir, fileName);
284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!resolvedFile.startsWith(import_path.default.resolve(dir) + import_path.default.sep))
285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Resolved file path ${resolvedFile} is outside of the output directory ${dir}. Use relative file names to stay within the output directory.`);
286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return resolvedFile;
287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return import_path.default.join(dir, sanitizeForFilePath(fileName));
289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function pickDefined(obj) {
291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return Object.fromEntries(
292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Object.entries(obj ?? {}).filter(([_, v]) => v !== void 0)
293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
);
294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function mergeConfig(base, overrides) {
296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const browser = {
297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.browser),
298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.browser),
299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browserName: overrides.browser?.browserName ?? base.browser?.browserName ?? "chromium",
300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
isolated: overrides.browser?.isolated ?? base.browser?.isolated ?? false,
301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
launchOptions: {
302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.browser?.launchOptions),
303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.browser?.launchOptions),
304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...{ assistantMode: true }
305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
contextOptions: {
307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.browser?.contextOptions),
308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.browser?.contextOptions)
309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (browser.browserName !== "chromium" && browser.launchOptions)
312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
delete browser.launchOptions.channel;
313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return {
314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base),
315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides),
316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
browser,
317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
console: {
318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.console),
319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.console)
320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
network: {
322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.network),
323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.network)
324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
server: {
326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.server),
327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.server)
328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
snapshot: {
330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.snapshot),
331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.snapshot)
332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
timeouts: {
334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(base.timeouts),
335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...pickDefined(overrides.timeouts)
336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
};
338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function semicolonSeparatedList(value) {
340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!value)
341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return void 0;
342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return value.split(";").map((v) => v.trim());
343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function commaSeparatedList(value) {
345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!value)
346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return void 0;
347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return value.split(",").map((v) => v.trim());
348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function dotenvFileLoader(value) {
350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!value)
351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return void 0;
352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return import_utilsBundle.dotenv.parse(import_fs.default.readFileSync(value, "utf8"));
353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function numberParser(value) {
355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!value)
356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return void 0;
357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return +value;
358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function resolutionParser(name, value) {
360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!value)
361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return void 0;
362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (value.includes("x")) {
363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const [width, height] = value.split("x").map((v) => +v);
364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (isNaN(width) || isNaN(height) || width <= 0 || height <= 0)
365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Invalid resolution format: use ${name}="800x600"`);
366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return { width, height };
367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (value.includes(",")) {
369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const [width, height] = value.split(",").map((v) => +v);
370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (isNaN(width) || isNaN(height) || width <= 0 || height <= 0)
371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Invalid resolution format: use ${name}="800x600"`);
372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return { width, height };
373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Invalid resolution format: use ${name}="800x600"`);
375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function headerParser(arg, previous) {
377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!arg)
378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return previous || {};
379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const result = previous || {};
380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const [name, value] = arg.split(":").map((v) => v.trim());
381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
result[name] = value;
382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return result;
383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function enumParser(name, options, value) {
385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (!options.includes(value))
386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
throw new Error(`Invalid ${name}: ${value}. Valid values are: ${options.join(", ")}`);
387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return value;
388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function envToBoolean(value) {
390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (value === "true" || value === "1")
391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return true;
392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (value === "false" || value === "0")
393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return false;
394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return void 0;
395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function envToString(value) {
397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return value ? value.trim() : void 0;
398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
function sanitizeForFilePath(s) {
400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const sanitize = (s2) => s2.replace(/[\x00-\x2C\x2E-\x2F\x3A-\x40\x5B-\x60\x7B-\x7F]+/g, "-");
401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
const separator = s.lastIndexOf(".");
402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
if (separator === -1)
403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return sanitize(s);
404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
return sanitize(s.substring(0, separator)) + "." + sanitize(s.substring(separator + 1));
405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
// Annotate the CommonJS export names for ESM import in node:
407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
0 && (module.exports = {
408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
commaSeparatedList,
409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
configFromCLIOptions,
410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
defaultConfig,
411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
dotenvFileLoader,
412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
enumParser,
413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
headerParser,
414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
numberParser,
415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
outputDir,
416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
outputFile,
417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolutionParser,
418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolveCLIConfig,
419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
resolveConfig,
420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
semicolonSeparatedList
421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
});
422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!