firecrawl-cli 1.18.6 → 1.19.0
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/__tests__/commands/doctor.test.d.ts +8 -0
- package/dist/__tests__/commands/doctor.test.d.ts.map +1 -0
- package/dist/__tests__/commands/doctor.test.js +341 -0
- package/dist/__tests__/commands/doctor.test.js.map +1 -0
- package/dist/commands/doctor.d.ts +45 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +680 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/status.d.ts +5 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/agents.d.ts +28 -0
- package/dist/utils/agents.d.ts.map +1 -0
- package/dist/utils/agents.js +195 -0
- package/dist/utils/agents.js.map +1 -0
- package/dist/utils/npm-registry.d.ts +27 -0
- package/dist/utils/npm-registry.d.ts.map +1 -0
- package/dist/utils/npm-registry.js +73 -0
- package/dist/utils/npm-registry.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight npm registry lookup. Used by `doctor` to compare the running
|
|
3
|
+
* CLI version against the latest published version.
|
|
4
|
+
*/
|
|
5
|
+
export interface LatestVersionResult {
|
|
6
|
+
version?: string;
|
|
7
|
+
/** True when the registry could not be reached or returned a non-200. */
|
|
8
|
+
unreachable: boolean;
|
|
9
|
+
error?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Fetch the `latest` dist-tag for a package. Returns `unreachable: true` on
|
|
13
|
+
* any failure so callers can degrade to a warn instead of a fail.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getLatestVersion(packageName: string, timeoutMs?: number): Promise<LatestVersionResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Compare two semver-like version strings. Returns:
|
|
18
|
+
* - negative if a < b
|
|
19
|
+
* - 0 if a === b
|
|
20
|
+
* - positive if a > b
|
|
21
|
+
*
|
|
22
|
+
* Only the numeric major.minor.patch is considered; pre-release suffixes are
|
|
23
|
+
* dropped. Good enough for "is there a newer release on npm" — not a general
|
|
24
|
+
* semver implementation.
|
|
25
|
+
*/
|
|
26
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
27
|
+
//# sourceMappingURL=npm-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../src/utils/npm-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,SAAO,GACf,OAAO,CAAC,mBAAmB,CAAC,CA8B9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB5D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Lightweight npm registry lookup. Used by `doctor` to compare the running
|
|
4
|
+
* CLI version against the latest published version.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getLatestVersion = getLatestVersion;
|
|
8
|
+
exports.compareVersions = compareVersions;
|
|
9
|
+
const REGISTRY_URL = 'https://registry.npmjs.org';
|
|
10
|
+
/**
|
|
11
|
+
* Fetch the `latest` dist-tag for a package. Returns `unreachable: true` on
|
|
12
|
+
* any failure so callers can degrade to a warn instead of a fail.
|
|
13
|
+
*/
|
|
14
|
+
async function getLatestVersion(packageName, timeoutMs = 2000) {
|
|
15
|
+
const controller = new AbortController();
|
|
16
|
+
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
17
|
+
try {
|
|
18
|
+
const response = await fetch(`${REGISTRY_URL}/${packageName}/latest`, {
|
|
19
|
+
signal: controller.signal,
|
|
20
|
+
headers: { Accept: 'application/json' },
|
|
21
|
+
});
|
|
22
|
+
if (!response.ok) {
|
|
23
|
+
return {
|
|
24
|
+
unreachable: true,
|
|
25
|
+
error: `HTTP ${response.status}`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const data = (await response.json());
|
|
29
|
+
if (typeof data.version !== 'string') {
|
|
30
|
+
return { unreachable: true, error: 'Invalid registry response' };
|
|
31
|
+
}
|
|
32
|
+
return { version: data.version, unreachable: false };
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return {
|
|
36
|
+
unreachable: true,
|
|
37
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
clearTimeout(timeout);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Compare two semver-like version strings. Returns:
|
|
46
|
+
* - negative if a < b
|
|
47
|
+
* - 0 if a === b
|
|
48
|
+
* - positive if a > b
|
|
49
|
+
*
|
|
50
|
+
* Only the numeric major.minor.patch is considered; pre-release suffixes are
|
|
51
|
+
* dropped. Good enough for "is there a newer release on npm" — not a general
|
|
52
|
+
* semver implementation.
|
|
53
|
+
*/
|
|
54
|
+
function compareVersions(a, b) {
|
|
55
|
+
const parse = (v) => {
|
|
56
|
+
const stripped = v.replace(/^v/, '').split(/[-+]/)[0];
|
|
57
|
+
return stripped.split('.').map((part) => {
|
|
58
|
+
const n = parseInt(part, 10);
|
|
59
|
+
return Number.isFinite(n) ? n : 0;
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const aParts = parse(a);
|
|
63
|
+
const bParts = parse(b);
|
|
64
|
+
const length = Math.max(aParts.length, bParts.length);
|
|
65
|
+
for (let i = 0; i < length; i++) {
|
|
66
|
+
const ai = aParts[i] ?? 0;
|
|
67
|
+
const bi = bParts[i] ?? 0;
|
|
68
|
+
if (ai !== bi)
|
|
69
|
+
return ai - bi;
|
|
70
|
+
}
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=npm-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../../src/utils/npm-registry.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAeH,4CAiCC;AAYD,0CAmBC;AA7ED,MAAM,YAAY,GAAG,4BAA4B,CAAC;AASlD;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,SAAS,GAAG,IAAI;IAEhB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,IAAI,WAAW,SAAS,EAAE;YACpE,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC7D,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAY,EAAE;QACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/package.json
CHANGED