doc-detective 4.2.2 → 4.2.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../src/core/tests.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAmN1C,iBAAe,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAW,EAAE,EAAE;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA4GhI;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAe,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,gBAmdhE;AAGD,iBAAe,OAAO,CAAC,EACrB,MAAW,EACX,OAAY,EACZ,IAAI,EACJ,MAAM,EACN,UAAe,EACf,OAAY,GACb,EAAE;IACD,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,GAAG,OAAO,CAAC,GAAG,CAAC,CAuGf;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAe,SAAS,CAAC,OAAO,GAAE,GAAQ;;;;;GA2FzC"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../src/core/tests.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAmN1C,iBAAe,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAW,EAAE,EAAE;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA4GhI;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAe,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,gBAydhE;AAGD,iBAAe,OAAO,CAAC,EACrB,MAAW,EACX,OAAY,EACZ,IAAI,EACJ,MAAM,EACN,UAAe,EACf,OAAY,GACb,EAAE;IACD,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,GAAG,OAAO,CAAC,GAAG,CAAC,CAuGf;AAmFD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAe,SAAS,CAAC,OAAO,GAAE,GAAQ;;;;;GA2FzC"}
@@ -28,6 +28,7 @@ import { resolveExpression } from "./expressions.js";
28
28
  import { getEnvironment, getAvailableApps } from "./config.js";
29
29
  import { uploadChangedFiles } from "./integrations/index.js";
30
30
  import http from "node:http";
31
+ import net from "node:net";
31
32
  import https from "node:https";
32
33
  import { fileURLToPath } from "node:url";
33
34
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -386,12 +387,18 @@ async function runSpecs({ resolvedTests }) {
386
387
  if (appiumRequired) {
387
388
  // Set Appium home directory
388
389
  setAppiumHome();
390
+ // Ensure the Appium port is not still bound by a zombie from a prior
391
+ // runTests() call in this process before spawning a fresh one.
392
+ await waitForPortFree(4723);
389
393
  // Start Appium server
390
394
  appium = spawn("npx", ["appium"], {
391
395
  shell: true,
392
396
  windowsHide: true,
393
397
  cwd: path.join(__dirname, "../.."),
394
398
  });
399
+ appium.on("error", (err) => {
400
+ log(config, "warning", `Appium process error: ${err?.stack ?? err?.message ?? String(err)}`);
401
+ });
395
402
  appium.stdout.on("data", (data) => {
396
403
  // console.log(`stdout: ${data}`);
397
404
  });
@@ -847,6 +854,40 @@ async function runStep({ config = {}, context = {}, step, driver, metaValues = {
847
854
  }
848
855
  return actionResult;
849
856
  }
857
+ // Wait until the given TCP port is not bound by anything on 127.0.0.1.
858
+ // Between per-test runTests() calls, a prior Appium on port 4723 can still
859
+ // be tearing down while the new one is about to spawn. On Windows + Node 24
860
+ // the teardown window is wide enough for the new Appium's spawn to race the
861
+ // old one's exit and confuse wdio's POST /session. Blocking until the port
862
+ // is free makes the handoff deterministic.
863
+ async function waitForPortFree(port, timeoutMs = 30000) {
864
+ const start = Date.now();
865
+ while (Date.now() - start < timeoutMs) {
866
+ const result = await new Promise((resolve) => {
867
+ const server = net.createServer();
868
+ server.once("error", (err) => {
869
+ // Only EADDRINUSE means "keep polling". Any other bind failure
870
+ // (EACCES, invalid host, etc.) is a real problem and must surface.
871
+ if (err && err.code === "EADDRINUSE")
872
+ resolve("busy");
873
+ else
874
+ resolve(err instanceof Error ? err : new Error(String(err)));
875
+ });
876
+ server.once("listening", () => {
877
+ server.close(() => resolve("free"));
878
+ });
879
+ server.listen(port, "127.0.0.1");
880
+ });
881
+ if (result === "free")
882
+ return;
883
+ if (result instanceof Error)
884
+ throw result;
885
+ await new Promise((r) => setTimeout(r, 250));
886
+ }
887
+ throw new Error(`Timed out after ${timeoutMs}ms waiting for 127.0.0.1:${port} to become free. ` +
888
+ `A prior Appium instance is still bound to the port; the next session create ` +
889
+ `would race the teardown and fail with an opaque ECONNREFUSED.`);
890
+ }
850
891
  // Delay execution until Appium server is available.
851
892
  async function appiumIsReady(timeoutMs = 120000) {
852
893
  let isReady = false;
@@ -866,19 +907,37 @@ async function appiumIsReady(timeoutMs = 120000) {
866
907
  return isReady;
867
908
  }
868
909
  // Start the Appium driver specified in `capabilities`.
869
- async function driverStart(capabilities) {
870
- const driver = await wdio.remote({
871
- protocol: "http",
872
- hostname: "127.0.0.1",
873
- port: 4723,
874
- path: "/",
875
- logLevel: "error",
876
- capabilities,
877
- connectionRetryTimeout: 120000, // 2 minutes
878
- waitforTimeout: 120000, // 2 minutes
879
- });
880
- driver.state = { url: "", x: null, y: null };
881
- return driver;
910
+ async function driverStart(capabilities, maxAttempts = 4) {
911
+ // POST /session can race a just-spawned-or-still-dying Appium on Windows:
912
+ // /status may already return 200 from the outgoing process while /session
913
+ // is no longer accepting. Retry with linear backoff ONLY on ECONNREFUSED --
914
+ // any other error is a real session-creation failure and propagates.
915
+ let lastError;
916
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
917
+ try {
918
+ const driver = await wdio.remote({
919
+ protocol: "http",
920
+ hostname: "127.0.0.1",
921
+ port: 4723,
922
+ path: "/",
923
+ logLevel: "error",
924
+ capabilities,
925
+ connectionRetryTimeout: 120000, // 2 minutes
926
+ waitforTimeout: 120000, // 2 minutes
927
+ });
928
+ driver.state = { url: "", x: null, y: null };
929
+ return driver;
930
+ }
931
+ catch (err) {
932
+ lastError = err;
933
+ if (!/ECONNREFUSED/.test(String(err && err.message)))
934
+ throw err;
935
+ if (attempt < maxAttempts) {
936
+ await new Promise((r) => setTimeout(r, 500 * attempt));
937
+ }
938
+ }
939
+ }
940
+ throw lastError;
882
941
  }
883
942
  /**
884
943
  * Creates and returns a Chrome WebDriver instance with an Appium server.
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/core/tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/core/tests.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -137466,6 +137466,7 @@ function getIntegrationConfig(config, sourceIntegration) {
137466
137466
 
137467
137467
  // dist/core/tests.js
137468
137468
  var import_node_http2 = __toESM(require("node:http"), 1);
137469
+ var import_node_net2 = __toESM(require("node:net"), 1);
137469
137470
  var import_node_https2 = __toESM(require("node:https"), 1);
137470
137471
  var import_node_url3 = require("node:url");
137471
137472
  var __dirname3 = import_node_path15.default.dirname((0, import_node_url3.fileURLToPath)(importMetaUrl));
@@ -137757,11 +137758,15 @@ async function runSpecs({ resolvedTests }) {
137757
137758
  const appiumRequired = isAppiumRequired(specs);
137758
137759
  if (appiumRequired) {
137759
137760
  setAppiumHome();
137761
+ await waitForPortFree(4723);
137760
137762
  appium = (0, import_node_child_process3.spawn)("npx", ["appium"], {
137761
137763
  shell: true,
137762
137764
  windowsHide: true,
137763
137765
  cwd: import_node_path15.default.join(__dirname3, "../..")
137764
137766
  });
137767
+ appium.on("error", (err) => {
137768
+ log(config, "warning", `Appium process error: ${err?.stack ?? err?.message ?? String(err)}`);
137769
+ });
137765
137770
  appium.stdout.on("data", (data) => {
137766
137771
  });
137767
137772
  appium.stderr.on("data", (data) => {
@@ -138130,6 +138135,30 @@ async function runStep({ config = {}, context = {}, step, driver, metaValues = {
138130
138135
  }
138131
138136
  return actionResult;
138132
138137
  }
138138
+ async function waitForPortFree(port, timeoutMs = 3e4) {
138139
+ const start = Date.now();
138140
+ while (Date.now() - start < timeoutMs) {
138141
+ const result = await new Promise((resolve) => {
138142
+ const server = import_node_net2.default.createServer();
138143
+ server.once("error", (err) => {
138144
+ if (err && err.code === "EADDRINUSE")
138145
+ resolve("busy");
138146
+ else
138147
+ resolve(err instanceof Error ? err : new Error(String(err)));
138148
+ });
138149
+ server.once("listening", () => {
138150
+ server.close(() => resolve("free"));
138151
+ });
138152
+ server.listen(port, "127.0.0.1");
138153
+ });
138154
+ if (result === "free")
138155
+ return;
138156
+ if (result instanceof Error)
138157
+ throw result;
138158
+ await new Promise((r) => setTimeout(r, 250));
138159
+ }
138160
+ throw new Error(`Timed out after ${timeoutMs}ms waiting for 127.0.0.1:${port} to become free. A prior Appium instance is still bound to the port; the next session create would race the teardown and fail with an opaque ECONNREFUSED.`);
138161
+ }
138133
138162
  async function appiumIsReady(timeoutMs = 12e4) {
138134
138163
  let isReady = false;
138135
138164
  const start = Date.now();
@@ -138147,21 +138176,34 @@ async function appiumIsReady(timeoutMs = 12e4) {
138147
138176
  }
138148
138177
  return isReady;
138149
138178
  }
138150
- async function driverStart(capabilities) {
138151
- const driver = await wdio.remote({
138152
- protocol: "http",
138153
- hostname: "127.0.0.1",
138154
- port: 4723,
138155
- path: "/",
138156
- logLevel: "error",
138157
- capabilities,
138158
- connectionRetryTimeout: 12e4,
138159
- // 2 minutes
138160
- waitforTimeout: 12e4
138161
- // 2 minutes
138162
- });
138163
- driver.state = { url: "", x: null, y: null };
138164
- return driver;
138179
+ async function driverStart(capabilities, maxAttempts = 4) {
138180
+ let lastError;
138181
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
138182
+ try {
138183
+ const driver = await wdio.remote({
138184
+ protocol: "http",
138185
+ hostname: "127.0.0.1",
138186
+ port: 4723,
138187
+ path: "/",
138188
+ logLevel: "error",
138189
+ capabilities,
138190
+ connectionRetryTimeout: 12e4,
138191
+ // 2 minutes
138192
+ waitforTimeout: 12e4
138193
+ // 2 minutes
138194
+ });
138195
+ driver.state = { url: "", x: null, y: null };
138196
+ return driver;
138197
+ } catch (err) {
138198
+ lastError = err;
138199
+ if (!/ECONNREFUSED/.test(String(err && err.message)))
138200
+ throw err;
138201
+ if (attempt < maxAttempts) {
138202
+ await new Promise((r) => setTimeout(r, 500 * attempt));
138203
+ }
138204
+ }
138205
+ }
138206
+ throw lastError;
138165
138207
  }
138166
138208
  async function getRunner(options = {}) {
138167
138209
  const environment = getEnvironment();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doc-detective",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "Treat doc content as testable assertions to validate doc accuracy and product UX.",
5
5
  "bin": {
6
6
  "doc-detective": "bin/doc-detective.js"
@@ -70,33 +70,33 @@
70
70
  },
71
71
  "homepage": "https://github.com/doc-detective/doc-detective#readme",
72
72
  "dependencies": {
73
- "@apidevtools/json-schema-ref-parser": "^15.3.1",
73
+ "@apidevtools/json-schema-ref-parser": "^15.3.5",
74
74
  "@ffmpeg-installer/ffmpeg": "^1.1.0",
75
- "@inquirer/prompts": "^8.4.1",
75
+ "@inquirer/prompts": "^8.4.2",
76
76
  "@puppeteer/browsers": "^2.13.0",
77
- "adm-zip": "^0.5.16",
78
- "ajv": "^8.18.0",
77
+ "adm-zip": "^0.5.17",
78
+ "ajv": "^8.20.0",
79
79
  "ajv-errors": "^3.0.0",
80
80
  "ajv-formats": "^3.0.1",
81
81
  "ajv-keywords": "^5.1.0",
82
- "appium": "^3.2.2",
83
- "appium-chromium-driver": "^2.1.6",
84
- "appium-geckodriver": "^2.2.0",
85
- "appium-safari-driver": "^4.1.9",
86
- "axios": "^1.13.6",
87
- "dotenv": "^17.3.1",
88
- "fast-xml-parser": "^5.3.3",
82
+ "appium": "^3.3.1",
83
+ "appium-chromium-driver": "^2.2.1",
84
+ "appium-geckodriver": "^2.2.1",
85
+ "appium-safari-driver": "^4.1.12",
86
+ "axios": "^1.15.2",
87
+ "dotenv": "^17.4.2",
88
+ "fast-xml-parser": "^5.7.2",
89
89
  "geckodriver": "^6.1.0",
90
90
  "jq-web": "^0.6.2",
91
91
  "json-schema-faker": "^0.6.0",
92
92
  "pixelmatch": "^7.1.0",
93
93
  "pngjs": "^7.0.0",
94
- "posthog-node": "^5.28.4",
94
+ "posthog-node": "^5.30.6",
95
95
  "sharp": "^0.34.5",
96
96
  "tree-kill": "^1.2.2",
97
- "webdriverio": "^9.26.1",
98
- "yaml": "^2.8.2",
99
- "yargs": "^17.7.2"
97
+ "webdriverio": "^9.27.0",
98
+ "yaml": "^2.8.3",
99
+ "yargs": "^18.0.0"
100
100
  },
101
101
  "optionalDependencies": {
102
102
  "@ffmpeg-installer/darwin-arm64": "4.1.5",
@@ -133,30 +133,30 @@
133
133
  "@img/sharp-win32-x64": "^0.34.5"
134
134
  },
135
135
  "devDependencies": {
136
- "@commitlint/cli": "^19.6.0",
137
- "@commitlint/config-conventional": "^19.6.0",
136
+ "@commitlint/cli": "^20.5.2",
137
+ "@commitlint/config-conventional": "^20.5.0",
138
138
  "@semantic-release/changelog": "^6.0.3",
139
- "@semantic-release/commit-analyzer": "^13.0.0",
140
- "@semantic-release/exec": "^6.0.3",
139
+ "@semantic-release/commit-analyzer": "^13.0.1",
140
+ "@semantic-release/exec": "^7.1.0",
141
141
  "@semantic-release/git": "^10.0.1",
142
- "@semantic-release/github": "^11.0.1",
143
- "@semantic-release/npm": "^12.0.1",
144
- "@semantic-release/release-notes-generator": "^14.0.2",
142
+ "@semantic-release/github": "^12.0.6",
143
+ "@semantic-release/npm": "^13.1.5",
144
+ "@semantic-release/release-notes-generator": "^14.1.0",
145
145
  "@types/adm-zip": "^0.5.8",
146
- "@types/node": "^25.5.0",
146
+ "@types/node": "^25.6.0",
147
147
  "@types/yargs": "^17.0.35",
148
148
  "body-parser": "^2.2.2",
149
149
  "chai": "^6.2.2",
150
150
  "depcheck": "^1.4.7",
151
- "esbuild": "^0.27.4",
151
+ "esbuild": "^0.28.0",
152
152
  "express": "^5.2.1",
153
153
  "husky": "^9.1.7",
154
154
  "json-schema-to-typescript": "^15.0.4",
155
155
  "mocha": "^11.7.5",
156
156
  "nodemon": "^3.1.14",
157
- "semantic-release": "^24.2.0",
157
+ "semantic-release": "^25.0.3",
158
158
  "semver": "^7.7.4",
159
- "sinon": "^21.0.3",
160
- "typescript": "^5.9.3"
159
+ "sinon": "^21.1.2",
160
+ "typescript": "^6.0.3"
161
161
  }
162
162
  }