@browsermation/test 0.0.3 → 0.0.4

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.
package/dist/bin/cli.js CHANGED
@@ -42626,6 +42626,9 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
42626
42626
  if (env.TERM === "xterm-ghostty") {
42627
42627
  return 3;
42628
42628
  }
42629
+ if (env.TERM === "wezterm") {
42630
+ return 3;
42631
+ }
42629
42632
  if ("TERM_PROGRAM" in env) {
42630
42633
  const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
42631
42634
  switch (env.TERM_PROGRAM) {
@@ -42869,12 +42872,11 @@ var {
42869
42872
  // package.json
42870
42873
  var package_default = {
42871
42874
  name: "@browsermation/test",
42872
- version: "0.0.3",
42875
+ version: "0.0.4",
42873
42876
  description: "The testing platform for Playwright by Browsermation.",
42874
42877
  main: "dist/index.js",
42875
42878
  exports: {
42876
- ".": "./dist/index.js",
42877
- "./package.json": "./package.json"
42879
+ ".": "./dist/index.js"
42878
42880
  },
42879
42881
  bin: {
42880
42882
  browsermation: "dist/bin/cli.js"
@@ -42884,8 +42886,8 @@ var package_default = {
42884
42886
  ],
42885
42887
  publisher: "@browsermation",
42886
42888
  scripts: {
42887
- "build:cli": "esbuild src/bin/cli.ts --bundle --platform=node --target=node22 --outfile=dist/bin/cli.js ",
42888
- "build:index": "esbuild src/index.ts --bundle --platform=node --target=node22 --outfile=dist/index.js ",
42889
+ "build:cli": "esbuild src/bin/cli.ts --bundle --platform=node --external:playwright --target=node22 --outfile=dist/bin/cli.js ",
42890
+ "build:index": "esbuild src/index.ts --bundle --platform=node --external:playwright --target=node22 --outfile=dist/index.js ",
42889
42891
  build: "npm run build:cli && npm run build:index",
42890
42892
  start: "node dist/bin/cli.js",
42891
42893
  "build:start": "npm run build && npm start",
@@ -42914,6 +42916,9 @@ var package_default = {
42914
42916
  ora: "^8.2.0",
42915
42917
  "ts-morph": "^26.0.0",
42916
42918
  "ts-node": "^10.9.2"
42919
+ },
42920
+ peerDependencies: {
42921
+ playwright: "^1.40.0"
42917
42922
  }
42918
42923
  };
42919
42924
 
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
21
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
22
  // If the importer is in node compatibility mode or this is not an ESM
22
23
  // file that has been converted to a CommonJS file using a Babel-
@@ -30,7 +31,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
31
  // src/index.ts
31
32
  var index_exports = {};
32
33
  __export(index_exports, {
33
- defineConfig: () => defineConfig
34
+ defineConfig: () => defineConfig,
35
+ test: () => test
34
36
  });
35
37
  module.exports = __toCommonJS(index_exports);
36
38
 
@@ -66,7 +68,81 @@ async function defineConfig(config) {
66
68
  }
67
69
  };
68
70
  }
71
+
72
+ // ../../node_modules/@playwright/test/index.mjs
73
+ var test_exports = {};
74
+ __export(test_exports, {
75
+ default: () => import_test.default
76
+ });
77
+ __reExport(test_exports, require("playwright/test"));
78
+ var import_test = __toESM(require("playwright/test"), 1);
79
+
80
+ // src/test.ts
81
+ var import_node_https2 = __toESM(require("node:https"));
82
+ async function fetchEndpoint2() {
83
+ console.log("fetching endpoint");
84
+ return new Promise((resolve, reject) => {
85
+ import_node_https2.default.get(process.env.SERVER_URL || "https://localhost:3000", (res) => {
86
+ res.on("data", (chunk) => {
87
+ const parsedData = JSON.parse(chunk.toString());
88
+ if (parsedData.type === "tunnel-domain") {
89
+ console.log(`Tunnel domain found: ${parsedData.tunnelDomain}`);
90
+ resolve(`https://${parsedData.tunnelDomain}`);
91
+ res.destroy();
92
+ }
93
+ });
94
+ }).on("error", (err) => {
95
+ console.log("err", err);
96
+ reject(err);
97
+ });
98
+ });
99
+ }
100
+ var test = test_exports.test.extend({
101
+ page: async ({ page }, use) => {
102
+ const endpointUrl = await fetchEndpoint2();
103
+ let isConnected = false;
104
+ while (!isConnected) {
105
+ try {
106
+ const response = await fetch(endpointUrl);
107
+ if (response.ok && response.status === 200) {
108
+ isConnected = true;
109
+ break;
110
+ }
111
+ console.log("Waiting for browser to be ready...");
112
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
113
+ } catch (error) {
114
+ console.error("Error connecting to browser:", error);
115
+ }
116
+ }
117
+ console.log("Connected to browser:", endpointUrl);
118
+ const browser = await test_exports.chromium.connectOverCDP(endpointUrl, {});
119
+ const context = await browser.newContext(test.info().project.use);
120
+ const newPage = await context.newPage();
121
+ await use(newPage);
122
+ await newPage.close();
123
+ await browser.close();
124
+ },
125
+ browser: async ({}, use) => {
126
+ const endpointUrl = await fetchEndpoint2();
127
+ let isConnected = false;
128
+ while (!isConnected) {
129
+ try {
130
+ const response = await fetch(endpointUrl);
131
+ if (response.ok && response.status === 200) {
132
+ isConnected = true;
133
+ }
134
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
135
+ } catch (error) {
136
+ console.error("Error connecting to browser:", error);
137
+ }
138
+ }
139
+ const browser = await test_exports.chromium.connectOverCDP(endpointUrl);
140
+ await use(browser);
141
+ await browser.close();
142
+ }
143
+ });
69
144
  // Annotate the CommonJS export names for ESM import in node:
70
145
  0 && (module.exports = {
71
- defineConfig
146
+ defineConfig,
147
+ test
72
148
  });
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@browsermation/test",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "The testing platform for Playwright by Browsermation.",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
7
- ".": "./dist/index.js",
8
- "./package.json": "./package.json"
7
+ ".": "./dist/index.js"
9
8
  },
10
9
  "bin": {
11
10
  "browsermation": "dist/bin/cli.js"
@@ -15,8 +14,8 @@
15
14
  ],
16
15
  "publisher": "@browsermation",
17
16
  "scripts": {
18
- "build:cli": "esbuild src/bin/cli.ts --bundle --platform=node --target=node22 --outfile=dist/bin/cli.js ",
19
- "build:index": "esbuild src/index.ts --bundle --platform=node --target=node22 --outfile=dist/index.js ",
17
+ "build:cli": "esbuild src/bin/cli.ts --bundle --platform=node --external:playwright --target=node22 --outfile=dist/bin/cli.js ",
18
+ "build:index": "esbuild src/index.ts --bundle --platform=node --external:playwright --target=node22 --outfile=dist/index.js ",
20
19
  "build": "npm run build:cli && npm run build:index",
21
20
  "start": "node dist/bin/cli.js",
22
21
  "build:start": "npm run build && npm start",
@@ -45,5 +44,8 @@
45
44
  "ora": "^8.2.0",
46
45
  "ts-morph": "^26.0.0",
47
46
  "ts-node": "^10.9.2"
47
+ },
48
+ "peerDependencies": {
49
+ "playwright": "^1.40.0"
48
50
  }
49
51
  }