@cotestdev/mcp_playwright 0.0.16 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/lib/common/config.js +281 -0
  2. package/lib/common/configLoader.js +344 -0
  3. package/lib/common/esmLoaderHost.js +104 -0
  4. package/lib/common/expectBundle.js +43 -0
  5. package/lib/common/expectBundleImpl.js +407 -0
  6. package/lib/common/fixtures.js +302 -0
  7. package/lib/common/globals.js +58 -0
  8. package/lib/common/ipc.js +60 -0
  9. package/lib/common/poolBuilder.js +85 -0
  10. package/lib/common/process.js +132 -0
  11. package/lib/common/suiteUtils.js +140 -0
  12. package/lib/common/test.js +322 -0
  13. package/lib/common/testLoader.js +101 -0
  14. package/lib/common/testType.js +298 -0
  15. package/lib/common/validators.js +68 -0
  16. package/lib/mcp/browser/tools/common.js +1 -1
  17. package/lib/mcp/browser/tools/console.js +1 -1
  18. package/lib/mcp/browser/tools/dialogs.js +1 -1
  19. package/lib/mcp/browser/tools/evaluate.js +1 -1
  20. package/lib/mcp/browser/tools/files.js +1 -1
  21. package/lib/mcp/browser/tools/form.js +1 -1
  22. package/lib/mcp/browser/tools/install.js +1 -1
  23. package/lib/mcp/browser/tools/keyboard.js +1 -1
  24. package/lib/mcp/browser/tools/mouse.js +1 -1
  25. package/lib/mcp/browser/tools/navigate.js +1 -1
  26. package/lib/mcp/browser/tools/network.js +1 -1
  27. package/lib/mcp/browser/tools/pdf.js +1 -1
  28. package/lib/mcp/browser/tools/runCode.js +1 -1
  29. package/lib/mcp/browser/tools/screenshot.js +1 -1
  30. package/lib/mcp/browser/tools/script.js +1 -1
  31. package/lib/mcp/browser/tools/snapshot.js +1 -1
  32. package/lib/mcp/browser/tools/tabs.js +1 -1
  33. package/lib/mcp/browser/tools/tracing.js +1 -1
  34. package/lib/mcp/browser/tools/verify.js +1 -1
  35. package/lib/mcp/browser/tools/wait.js +1 -1
  36. package/lib/mcp/index.js +1 -1
  37. package/lib/mcp/sdk/http.js +1 -1
  38. package/lib/mcp/sdk/server.js +1 -1
  39. package/lib/mcp/sdk/tool.js +1 -1
  40. package/lib/mcp/test/generatorTools.js +1 -1
  41. package/lib/mcp/test/plannerTools.js +1 -1
  42. package/lib/mcp/test/seed.js +1 -1
  43. package/lib/mcp/test/testBackend.js +1 -1
  44. package/lib/mcp/test/testContext.js +4 -4
  45. package/lib/mcp/test/testTools.js +2 -2
  46. package/lib/mcp/vscode/host.js +1 -1
  47. package/lib/third_party/pirates.js +62 -0
  48. package/lib/third_party/tsconfig-loader.js +103 -0
  49. package/lib/transform/babelBundle.js +43 -0
  50. package/lib/transform/babelBundleImpl.js +461 -0
  51. package/lib/transform/babelHighlightUtils.js +63 -0
  52. package/lib/transform/compilationCache.js +272 -0
  53. package/lib/transform/esmLoader.js +103 -0
  54. package/lib/transform/portTransport.js +67 -0
  55. package/lib/transform/transform.js +296 -0
  56. package/lib/utilsBundleImpl/index.js +218 -0
  57. package/package.json +1 -1
@@ -31,7 +31,7 @@ __export(testBackend_exports, {
31
31
  TestServerBackend: () => TestServerBackend
32
32
  });
33
33
  module.exports = __toCommonJS(testBackend_exports);
34
- var import_mcpBundle = require("../../mcpBundleImpl");
34
+ var import_mcpBundle = require("playwright-core/lib/mcpBundle");
35
35
  var mcp = __toESM(require("../sdk/exports"));
36
36
  var import_testContext = require("./testContext");
37
37
  var testTools = __toESM(require("./testTools.js"));
@@ -37,14 +37,14 @@ var import_fs = __toESM(require("fs"));
37
37
  var import_os = __toESM(require("os"));
38
38
  var import_path = __toESM(require("path"));
39
39
  var import_utils = require("playwright-core/lib/utils");
40
- var import_base = require("../../reporters/base");
41
- var import_list = __toESM(require("../../reporters/list"));
40
+ var import_base = require("playwright-core/lib/reporters/base");
41
+ var import_list = __toESM(require("playwright-core/lib/reporters/list"));
42
42
  var import_streams = require("./streams");
43
43
  var import_util = require("../../util");
44
- var import_testRunner = require("../../runner/testRunner");
44
+ var import_testRunner = require("playwright-core/lib/runner/testRunner");
45
45
  var import_seed = require("./seed");
46
46
  var import_exports = require("../sdk/exports");
47
- var import_configLoader = require("../../common/configLoader");
47
+ var import_configLoader = require("playwright-core/lib/common/configLoader");
48
48
  var import_response = require("../browser/response");
49
49
  var import_log = require("../log");
50
50
  class GeneratorJournal {
@@ -33,8 +33,8 @@ __export(testTools_exports, {
33
33
  runTests: () => runTests
34
34
  });
35
35
  module.exports = __toCommonJS(testTools_exports);
36
- var import_mcpBundle = require("../../mcpBundleImpl");
37
- var import_listModeReporter = __toESM(require("../../reporters/listModeReporter"));
36
+ var import_mcpBundle = require("playwright-core/lib/mcpBundle");
37
+ var import_listModeReporter = __toESM(require("playwright-core/lib/reporters/listModeReporter"));
38
38
  var import_testTool = require("./testTool");
39
39
  const listTests = (0, import_testTool.defineTestTool)({
40
40
  schema: {
@@ -37,7 +37,7 @@ var mcpServer = __toESM(require("../sdk/server"));
37
37
  var import_log = require("../log");
38
38
  var import_browserServerBackend = require("../browser/browserServerBackend");
39
39
  var import_browserContextFactory = require("../browser/browserContextFactory");
40
- const packageJSON = require("../../../package.json");
40
+ const packageJSON = require("playwright-core/lib/../package.json");
41
41
  const { z, zodToJsonSchema } = mcpBundle;
42
42
  const contextSwitchOptions = z.object({
43
43
  connectionString: z.string().optional().describe("The connection string to use to connect to the browser"),
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var pirates_exports = {};
30
+ __export(pirates_exports, {
31
+ addHook: () => addHook
32
+ });
33
+ module.exports = __toCommonJS(pirates_exports);
34
+ var import_module = __toESM(require("module"));
35
+ var import_path = __toESM(require("path"));
36
+ function addHook(transformHook, shouldTransform, extensions) {
37
+ const extensionsToOverwrite = extensions.filter((e) => e !== ".cjs");
38
+ const allSupportedExtensions = new Set(extensions);
39
+ const loaders = import_module.default._extensions;
40
+ const jsLoader = loaders[".js"];
41
+ for (const extension of extensionsToOverwrite) {
42
+ let newLoader2 = function(mod, filename, ...loaderArgs) {
43
+ if (allSupportedExtensions.has(import_path.default.extname(filename)) && shouldTransform(filename)) {
44
+ let newCompile2 = function(code, file, ...ignoredArgs) {
45
+ mod._compile = oldCompile;
46
+ return oldCompile.call(this, transformHook(code, filename), file);
47
+ };
48
+ var newCompile = newCompile2;
49
+ const oldCompile = mod._compile;
50
+ mod._compile = newCompile2;
51
+ }
52
+ originalLoader.call(this, mod, filename, ...loaderArgs);
53
+ };
54
+ var newLoader = newLoader2;
55
+ const originalLoader = loaders[extension] || jsLoader;
56
+ loaders[extension] = newLoader2;
57
+ }
58
+ }
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ addHook
62
+ });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var tsconfig_loader_exports = {};
30
+ __export(tsconfig_loader_exports, {
31
+ loadTsConfig: () => loadTsConfig
32
+ });
33
+ module.exports = __toCommonJS(tsconfig_loader_exports);
34
+ var import_path = __toESM(require("path"));
35
+ var import_fs = __toESM(require("fs"));
36
+ var import_utilsBundle = require("../utilsBundle");
37
+ function loadTsConfig(configPath) {
38
+ try {
39
+ const references = [];
40
+ const config = innerLoadTsConfig(configPath, references);
41
+ return [config, ...references];
42
+ } catch (e) {
43
+ throw new Error(`Failed to load tsconfig file at ${configPath}:
44
+ ${e.message}`);
45
+ }
46
+ }
47
+ function resolveConfigFile(baseConfigFile, referencedConfigFile) {
48
+ if (!referencedConfigFile.endsWith(".json"))
49
+ referencedConfigFile += ".json";
50
+ const currentDir = import_path.default.dirname(baseConfigFile);
51
+ let resolvedConfigFile = import_path.default.resolve(currentDir, referencedConfigFile);
52
+ if (referencedConfigFile.includes("/") && referencedConfigFile.includes(".") && !import_fs.default.existsSync(resolvedConfigFile))
53
+ resolvedConfigFile = import_path.default.join(currentDir, "node_modules", referencedConfigFile);
54
+ return resolvedConfigFile;
55
+ }
56
+ function innerLoadTsConfig(configFilePath, references, visited = /* @__PURE__ */ new Map()) {
57
+ if (visited.has(configFilePath))
58
+ return visited.get(configFilePath);
59
+ let result = {
60
+ tsConfigPath: configFilePath
61
+ };
62
+ visited.set(configFilePath, result);
63
+ if (!import_fs.default.existsSync(configFilePath))
64
+ return result;
65
+ const configString = import_fs.default.readFileSync(configFilePath, "utf-8");
66
+ const cleanedJson = StripBom(configString);
67
+ const parsedConfig = import_utilsBundle.json5.parse(cleanedJson);
68
+ const extendsArray = Array.isArray(parsedConfig.extends) ? parsedConfig.extends : parsedConfig.extends ? [parsedConfig.extends] : [];
69
+ for (const extendedConfig of extendsArray) {
70
+ const extendedConfigPath = resolveConfigFile(configFilePath, extendedConfig);
71
+ const base = innerLoadTsConfig(extendedConfigPath, references, visited);
72
+ Object.assign(result, base, { tsConfigPath: configFilePath });
73
+ }
74
+ if (parsedConfig.compilerOptions?.allowJs !== void 0)
75
+ result.allowJs = parsedConfig.compilerOptions.allowJs;
76
+ if (parsedConfig.compilerOptions?.paths !== void 0) {
77
+ result.paths = {
78
+ mapping: parsedConfig.compilerOptions.paths,
79
+ pathsBasePath: import_path.default.dirname(configFilePath)
80
+ };
81
+ }
82
+ if (parsedConfig.compilerOptions?.baseUrl !== void 0) {
83
+ result.absoluteBaseUrl = import_path.default.resolve(import_path.default.dirname(configFilePath), parsedConfig.compilerOptions.baseUrl);
84
+ }
85
+ for (const ref of parsedConfig.references || [])
86
+ references.push(innerLoadTsConfig(resolveConfigFile(configFilePath, ref.path), references, visited));
87
+ if (import_path.default.basename(configFilePath) === "jsconfig.json" && result.allowJs === void 0)
88
+ result.allowJs = true;
89
+ return result;
90
+ }
91
+ function StripBom(string) {
92
+ if (typeof string !== "string") {
93
+ throw new TypeError(`Expected a string, got ${typeof string}`);
94
+ }
95
+ if (string.charCodeAt(0) === 65279) {
96
+ return string.slice(1);
97
+ }
98
+ return string;
99
+ }
100
+ // Annotate the CommonJS export names for ESM import in node:
101
+ 0 && (module.exports = {
102
+ loadTsConfig
103
+ });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var babelBundle_exports = {};
20
+ __export(babelBundle_exports, {
21
+ babelParse: () => babelParse,
22
+ babelTransform: () => babelTransform,
23
+ codeFrameColumns: () => codeFrameColumns,
24
+ declare: () => declare,
25
+ traverse: () => traverse,
26
+ types: () => types
27
+ });
28
+ module.exports = __toCommonJS(babelBundle_exports);
29
+ const codeFrameColumns = require("./babelBundleImpl").codeFrameColumns;
30
+ const declare = require("./babelBundleImpl").declare;
31
+ const types = require("./babelBundleImpl").types;
32
+ const traverse = require("./babelBundleImpl").traverse;
33
+ const babelTransform = require("./babelBundleImpl").babelTransform;
34
+ const babelParse = require("./babelBundleImpl").babelParse;
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ babelParse,
38
+ babelTransform,
39
+ codeFrameColumns,
40
+ declare,
41
+ traverse,
42
+ types
43
+ });