firecrawl-cli 1.0.1-beta.2 → 1.0.2

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 (44) hide show
  1. package/README.md +1 -2
  2. package/dist/__tests__/commands/search.test.d.ts +5 -0
  3. package/dist/__tests__/commands/search.test.d.ts.map +1 -0
  4. package/dist/__tests__/commands/search.test.js +542 -0
  5. package/dist/__tests__/commands/search.test.js.map +1 -0
  6. package/dist/__tests__/utils/auth.test.d.ts +5 -0
  7. package/dist/__tests__/utils/auth.test.d.ts.map +1 -0
  8. package/dist/__tests__/utils/auth.test.js +119 -0
  9. package/dist/__tests__/utils/auth.test.js.map +1 -0
  10. package/dist/__tests__/utils/credentials.test.d.ts +5 -0
  11. package/dist/__tests__/utils/credentials.test.d.ts.map +1 -0
  12. package/dist/__tests__/utils/credentials.test.js +189 -0
  13. package/dist/__tests__/utils/credentials.test.js.map +1 -0
  14. package/dist/__tests__/utils/options.test.d.ts +5 -0
  15. package/dist/__tests__/utils/options.test.d.ts.map +1 -0
  16. package/dist/__tests__/utils/options.test.js +266 -0
  17. package/dist/__tests__/utils/options.test.js.map +1 -0
  18. package/dist/__tests__/utils/output.test.d.ts +5 -0
  19. package/dist/__tests__/utils/output.test.d.ts.map +1 -0
  20. package/dist/__tests__/utils/output.test.js +335 -0
  21. package/dist/__tests__/utils/output.test.js.map +1 -0
  22. package/dist/__tests__/utils/url.test.d.ts +5 -0
  23. package/dist/__tests__/utils/url.test.d.ts.map +1 -0
  24. package/dist/__tests__/utils/url.test.js +118 -0
  25. package/dist/__tests__/utils/url.test.js.map +1 -0
  26. package/dist/commands/scrape.d.ts.map +1 -1
  27. package/dist/commands/scrape.js +1 -1
  28. package/dist/commands/scrape.js.map +1 -1
  29. package/dist/commands/version.d.ts +5 -2
  30. package/dist/commands/version.d.ts.map +1 -1
  31. package/dist/commands/version.js +8 -3
  32. package/dist/commands/version.js.map +1 -1
  33. package/dist/index.js +19 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/types/scrape.d.ts +2 -0
  36. package/dist/types/scrape.d.ts.map +1 -1
  37. package/dist/utils/options.d.ts.map +1 -1
  38. package/dist/utils/options.js +1 -0
  39. package/dist/utils/options.js.map +1 -1
  40. package/dist/utils/output.d.ts +2 -1
  41. package/dist/utils/output.d.ts.map +1 -1
  42. package/dist/utils/output.js +34 -1
  43. package/dist/utils/output.js.map +1 -1
  44. package/package.json +3 -2
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ /**
3
+ * Tests for output utilities
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const vitest_1 = require("vitest");
40
+ const fs = __importStar(require("fs"));
41
+ const output_1 = require("../../utils/output");
42
+ // Mock fs module
43
+ vitest_1.vi.mock('fs', () => ({
44
+ existsSync: vitest_1.vi.fn(),
45
+ writeFileSync: vitest_1.vi.fn(),
46
+ mkdirSync: vitest_1.vi.fn(),
47
+ }));
48
+ (0, vitest_1.describe)('Output Utilities', () => {
49
+ let consoleErrorSpy;
50
+ let processExitSpy;
51
+ let stdoutWriteSpy;
52
+ (0, vitest_1.beforeEach)(() => {
53
+ vitest_1.vi.clearAllMocks();
54
+ consoleErrorSpy = vitest_1.vi.spyOn(console, 'error').mockImplementation(() => { });
55
+ processExitSpy = vitest_1.vi
56
+ .spyOn(process, 'exit')
57
+ .mockImplementation(() => undefined);
58
+ stdoutWriteSpy = vitest_1.vi
59
+ .spyOn(process.stdout, 'write')
60
+ .mockImplementation(() => true);
61
+ });
62
+ (0, vitest_1.afterEach)(() => {
63
+ vitest_1.vi.restoreAllMocks();
64
+ });
65
+ (0, vitest_1.describe)('writeOutput', () => {
66
+ (0, vitest_1.it)('should write content to stdout when no output path is provided', () => {
67
+ (0, output_1.writeOutput)('Test content');
68
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('Test content\n');
69
+ });
70
+ (0, vitest_1.it)('should add newline to content if not present', () => {
71
+ (0, output_1.writeOutput)('Test content without newline');
72
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('Test content without newline\n');
73
+ });
74
+ (0, vitest_1.it)('should not add extra newline if content already ends with newline', () => {
75
+ (0, output_1.writeOutput)('Test content with newline\n');
76
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('Test content with newline\n');
77
+ });
78
+ (0, vitest_1.it)('should write content to file when output path is provided', () => {
79
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
80
+ (0, output_1.writeOutput)('Test content', '/output/test.txt');
81
+ (0, vitest_1.expect)(fs.writeFileSync).toHaveBeenCalledWith('/output/test.txt', 'Test content', 'utf-8');
82
+ });
83
+ (0, vitest_1.it)('should create directory if it does not exist', () => {
84
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(false);
85
+ (0, output_1.writeOutput)('Test content', '/output/subdir/test.txt');
86
+ (0, vitest_1.expect)(fs.mkdirSync).toHaveBeenCalledWith('/output/subdir', {
87
+ recursive: true,
88
+ });
89
+ (0, vitest_1.expect)(fs.writeFileSync).toHaveBeenCalledWith('/output/subdir/test.txt', 'Test content', 'utf-8');
90
+ });
91
+ (0, vitest_1.it)('should print file confirmation when not silent', () => {
92
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
93
+ (0, output_1.writeOutput)('Test content', '/output/test.txt', false);
94
+ (0, vitest_1.expect)(consoleErrorSpy).toHaveBeenCalledWith('Output written to: /output/test.txt');
95
+ });
96
+ (0, vitest_1.it)('should not print file confirmation when silent', () => {
97
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
98
+ (0, output_1.writeOutput)('Test content', '/output/test.txt', true);
99
+ (0, vitest_1.expect)(consoleErrorSpy).not.toHaveBeenCalled();
100
+ });
101
+ });
102
+ (0, vitest_1.describe)('handleScrapeOutput', () => {
103
+ (0, vitest_1.it)('should output error and exit when result is not successful', () => {
104
+ (0, output_1.handleScrapeOutput)({ success: false, error: 'API Error' }, ['markdown']);
105
+ (0, vitest_1.expect)(consoleErrorSpy).toHaveBeenCalledWith('Error:', 'API Error');
106
+ (0, vitest_1.expect)(processExitSpy).toHaveBeenCalledWith(1);
107
+ });
108
+ (0, vitest_1.it)('should output raw markdown for single markdown format', () => {
109
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
110
+ (0, output_1.handleScrapeOutput)({
111
+ success: true,
112
+ data: { markdown: '# Test Content\n\nParagraph here.' },
113
+ }, ['markdown']);
114
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('# Test Content\n\nParagraph here.\n');
115
+ });
116
+ (0, vitest_1.it)('should output raw HTML for single html format', () => {
117
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
118
+ (0, output_1.handleScrapeOutput)({
119
+ success: true,
120
+ data: { html: '<html><body>Test</body></html>' },
121
+ }, ['html']);
122
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('<html><body>Test</body></html>\n');
123
+ });
124
+ (0, vitest_1.it)('should output raw HTML for single rawHtml format', () => {
125
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
126
+ (0, output_1.handleScrapeOutput)({
127
+ success: true,
128
+ data: { rawHtml: '<!DOCTYPE html><html><body>Raw</body></html>' },
129
+ }, ['rawHtml']);
130
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('<!DOCTYPE html><html><body>Raw</body></html>\n');
131
+ });
132
+ (0, vitest_1.it)('should output newline-separated links for single links format', () => {
133
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
134
+ (0, output_1.handleScrapeOutput)({
135
+ success: true,
136
+ data: {
137
+ links: [
138
+ 'https://example.com/1',
139
+ 'https://example.com/2',
140
+ 'https://example.com/3',
141
+ ],
142
+ },
143
+ }, ['links']);
144
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('https://example.com/1\nhttps://example.com/2\nhttps://example.com/3\n');
145
+ });
146
+ (0, vitest_1.it)('should output newline-separated images for single images format', () => {
147
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
148
+ (0, output_1.handleScrapeOutput)({
149
+ success: true,
150
+ data: {
151
+ images: [
152
+ 'https://example.com/img1.jpg',
153
+ 'https://example.com/img2.png',
154
+ ],
155
+ },
156
+ }, ['images']);
157
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('https://example.com/img1.jpg\nhttps://example.com/img2.png\n');
158
+ });
159
+ (0, vitest_1.it)('should output summary for single summary format', () => {
160
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
161
+ (0, output_1.handleScrapeOutput)({
162
+ success: true,
163
+ data: { summary: 'This is a summary of the page content.' },
164
+ }, ['summary']);
165
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('This is a summary of the page content.\n');
166
+ });
167
+ (0, vitest_1.it)('should output formatted screenshot info for single screenshot format', () => {
168
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
169
+ (0, output_1.handleScrapeOutput)({
170
+ success: true,
171
+ data: {
172
+ screenshot: 'https://example.com/screenshot.png',
173
+ metadata: {
174
+ title: 'Test Page',
175
+ sourceURL: 'https://example.com',
176
+ description: 'A test page',
177
+ },
178
+ },
179
+ }, ['screenshot']);
180
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining('Screenshot: https://example.com/screenshot.png'));
181
+ });
182
+ (0, vitest_1.it)('should output JSON for multiple formats', () => {
183
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
184
+ (0, output_1.handleScrapeOutput)({
185
+ success: true,
186
+ data: {
187
+ markdown: '# Test',
188
+ links: ['https://example.com'],
189
+ metadata: { title: 'Test' },
190
+ },
191
+ }, ['markdown', 'links']);
192
+ const output = stdoutWriteSpy.mock.calls[0][0];
193
+ const parsed = JSON.parse(output);
194
+ (0, vitest_1.expect)(parsed.markdown).toBe('# Test');
195
+ (0, vitest_1.expect)(parsed.links).toEqual(['https://example.com']);
196
+ });
197
+ (0, vitest_1.it)('should output pretty JSON when pretty flag is true', () => {
198
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
199
+ (0, output_1.handleScrapeOutput)({
200
+ success: true,
201
+ data: {
202
+ markdown: '# Test',
203
+ links: ['https://example.com'],
204
+ },
205
+ }, ['markdown', 'links'], undefined, true);
206
+ const output = stdoutWriteSpy.mock.calls[0][0];
207
+ (0, vitest_1.expect)(output).toContain('\n'); // Pretty print has newlines
208
+ });
209
+ (0, vitest_1.it)('should write to file when output path is provided', () => {
210
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
211
+ (0, output_1.handleScrapeOutput)({
212
+ success: true,
213
+ data: { markdown: '# Test Content' },
214
+ }, ['markdown'], '/output/test.md');
215
+ (0, vitest_1.expect)(fs.writeFileSync).toHaveBeenCalledWith('/output/test.md', '# Test Content', 'utf-8');
216
+ });
217
+ (0, vitest_1.it)('should handle missing data gracefully', () => {
218
+ (0, output_1.handleScrapeOutput)({
219
+ success: true,
220
+ data: undefined,
221
+ }, ['markdown']);
222
+ // Should not throw, just return early
223
+ (0, vitest_1.expect)(stdoutWriteSpy).not.toHaveBeenCalled();
224
+ });
225
+ (0, vitest_1.it)('should fallback to rawHtml when html requested but only rawHtml available', () => {
226
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
227
+ (0, output_1.handleScrapeOutput)({
228
+ success: true,
229
+ data: { rawHtml: '<html>Content</html>' },
230
+ }, ['html']);
231
+ (0, vitest_1.expect)(stdoutWriteSpy).toHaveBeenCalledWith('<html>Content</html>\n');
232
+ });
233
+ (0, vitest_1.it)('should include metadata in JSON output when present', () => {
234
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
235
+ (0, output_1.handleScrapeOutput)({
236
+ success: true,
237
+ data: {
238
+ markdown: '# Test',
239
+ links: [],
240
+ metadata: {
241
+ title: 'Test Page',
242
+ description: 'A test',
243
+ sourceURL: 'https://example.com',
244
+ },
245
+ },
246
+ }, ['markdown', 'links']);
247
+ const output = stdoutWriteSpy.mock.calls[0][0];
248
+ const parsed = JSON.parse(output);
249
+ (0, vitest_1.expect)(parsed.metadata).toBeDefined();
250
+ (0, vitest_1.expect)(parsed.metadata.title).toBe('Test Page');
251
+ });
252
+ (0, vitest_1.it)('should output JSON when --json flag is true even for single text format', () => {
253
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
254
+ (0, output_1.handleScrapeOutput)({
255
+ success: true,
256
+ data: { markdown: '# Test Content' },
257
+ }, ['markdown'], undefined, false, true // json flag
258
+ );
259
+ const output = stdoutWriteSpy.mock.calls[0][0];
260
+ const parsed = JSON.parse(output);
261
+ (0, vitest_1.expect)(parsed.markdown).toBe('# Test Content');
262
+ });
263
+ (0, vitest_1.it)('should output JSON when --json flag is true for screenshot format', () => {
264
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
265
+ (0, output_1.handleScrapeOutput)({
266
+ success: true,
267
+ data: {
268
+ screenshot: 'https://example.com/screenshot.png',
269
+ metadata: {
270
+ title: 'Test Page',
271
+ sourceURL: 'https://example.com',
272
+ },
273
+ },
274
+ }, ['screenshot'], undefined, false, true // json flag
275
+ );
276
+ const output = stdoutWriteSpy.mock.calls[0][0];
277
+ const parsed = JSON.parse(output);
278
+ (0, vitest_1.expect)(parsed.screenshot).toBe('https://example.com/screenshot.png');
279
+ (0, vitest_1.expect)(parsed.metadata.title).toBe('Test Page');
280
+ });
281
+ (0, vitest_1.it)('should infer JSON output when output file has .json extension', () => {
282
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
283
+ (0, output_1.handleScrapeOutput)({
284
+ success: true,
285
+ data: {
286
+ screenshot: 'https://example.com/screenshot.png',
287
+ metadata: {
288
+ title: 'Test Page',
289
+ },
290
+ },
291
+ }, ['screenshot'], '/output/result.json', // .json extension
292
+ false, false // no explicit json flag
293
+ );
294
+ // Should write JSON to file
295
+ (0, vitest_1.expect)(fs.writeFileSync).toHaveBeenCalled();
296
+ const content = fs.writeFileSync.mock.calls[0][1];
297
+ const parsed = JSON.parse(content);
298
+ (0, vitest_1.expect)(parsed.screenshot).toBe('https://example.com/screenshot.png');
299
+ });
300
+ (0, vitest_1.it)('should NOT infer JSON for non-.json extensions', () => {
301
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
302
+ (0, output_1.handleScrapeOutput)({
303
+ success: true,
304
+ data: {
305
+ screenshot: 'https://example.com/screenshot.png',
306
+ metadata: {
307
+ title: 'Test Page',
308
+ sourceURL: 'https://example.com',
309
+ },
310
+ },
311
+ }, ['screenshot'], '/output/result.md', // .md extension
312
+ false, false // no explicit json flag
313
+ );
314
+ // Should write formatted text, not JSON
315
+ (0, vitest_1.expect)(fs.writeFileSync).toHaveBeenCalled();
316
+ const content = fs.writeFileSync.mock.calls[0][1];
317
+ (0, vitest_1.expect)(content).toContain('Screenshot: https://example.com/screenshot.png');
318
+ (0, vitest_1.expect)(() => JSON.parse(content)).toThrow(); // Not valid JSON
319
+ });
320
+ (0, vitest_1.it)('should output pretty JSON when both json and pretty flags are true', () => {
321
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
322
+ (0, output_1.handleScrapeOutput)({
323
+ success: true,
324
+ data: { markdown: '# Test' },
325
+ }, ['markdown'], undefined, true, // pretty flag
326
+ true // json flag
327
+ );
328
+ const output = stdoutWriteSpy.mock.calls[0][0];
329
+ (0, vitest_1.expect)(output).toContain('\n'); // Pretty print has newlines
330
+ const parsed = JSON.parse(output);
331
+ (0, vitest_1.expect)(parsed.markdown).toBe('# Test');
332
+ });
333
+ });
334
+ });
335
+ //# sourceMappingURL=output.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/output.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for URL utilities
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=url.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/url.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * Tests for URL utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const url_1 = require("../../utils/url");
8
+ (0, vitest_1.describe)('URL Utilities', () => {
9
+ (0, vitest_1.describe)('isUrl', () => {
10
+ (0, vitest_1.describe)('URLs with protocol', () => {
11
+ (0, vitest_1.it)('should return true for valid http URLs', () => {
12
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://example.com')).toBe(true);
13
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://www.example.com')).toBe(true);
14
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://example.com/path')).toBe(true);
15
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://example.com/path?query=value')).toBe(true);
16
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://example.com:8080')).toBe(true);
17
+ });
18
+ (0, vitest_1.it)('should return true for valid https URLs', () => {
19
+ (0, vitest_1.expect)((0, url_1.isUrl)('https://example.com')).toBe(true);
20
+ (0, vitest_1.expect)((0, url_1.isUrl)('https://www.example.com')).toBe(true);
21
+ (0, vitest_1.expect)((0, url_1.isUrl)('https://example.com/path')).toBe(true);
22
+ (0, vitest_1.expect)((0, url_1.isUrl)('https://example.com/path?query=value')).toBe(true);
23
+ (0, vitest_1.expect)((0, url_1.isUrl)('https://api.firecrawl.dev')).toBe(true);
24
+ });
25
+ (0, vitest_1.it)('should be case-insensitive for protocol', () => {
26
+ (0, vitest_1.expect)((0, url_1.isUrl)('HTTP://example.com')).toBe(true);
27
+ (0, vitest_1.expect)((0, url_1.isUrl)('HTTPS://example.com')).toBe(true);
28
+ (0, vitest_1.expect)((0, url_1.isUrl)('Http://example.com')).toBe(true);
29
+ });
30
+ });
31
+ (0, vitest_1.describe)('URLs without protocol (domain detection)', () => {
32
+ (0, vitest_1.it)('should return true for domain-like strings', () => {
33
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.com')).toBe(true);
34
+ (0, vitest_1.expect)((0, url_1.isUrl)('www.example.com')).toBe(true);
35
+ (0, vitest_1.expect)((0, url_1.isUrl)('sub.domain.example.com')).toBe(true);
36
+ (0, vitest_1.expect)((0, url_1.isUrl)('firecrawl.dev')).toBe(true);
37
+ });
38
+ (0, vitest_1.it)('should return true for domains with paths', () => {
39
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.com/path')).toBe(true);
40
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.com/path/to/page')).toBe(true);
41
+ (0, vitest_1.expect)((0, url_1.isUrl)('docs.firecrawl.dev/api')).toBe(true);
42
+ });
43
+ (0, vitest_1.it)('should return true for domains with various TLDs', () => {
44
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.co.uk')).toBe(true);
45
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.io')).toBe(true);
46
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.org')).toBe(true);
47
+ (0, vitest_1.expect)((0, url_1.isUrl)('example.net')).toBe(true);
48
+ });
49
+ });
50
+ (0, vitest_1.describe)('Non-URLs', () => {
51
+ (0, vitest_1.it)('should return false for plain text without dots', () => {
52
+ (0, vitest_1.expect)((0, url_1.isUrl)('hello')).toBe(false);
53
+ (0, vitest_1.expect)((0, url_1.isUrl)('test')).toBe(false);
54
+ (0, vitest_1.expect)((0, url_1.isUrl)('search query')).toBe(false);
55
+ });
56
+ (0, vitest_1.it)('should return false for flags and options', () => {
57
+ (0, vitest_1.expect)((0, url_1.isUrl)('--help')).toBe(false);
58
+ (0, vitest_1.expect)((0, url_1.isUrl)('-h')).toBe(false);
59
+ (0, vitest_1.expect)((0, url_1.isUrl)('--format')).toBe(false);
60
+ (0, vitest_1.expect)((0, url_1.isUrl)('-o.txt')).toBe(false);
61
+ });
62
+ (0, vitest_1.it)('should return false for strings with spaces', () => {
63
+ (0, vitest_1.expect)((0, url_1.isUrl)('hello world')).toBe(false);
64
+ (0, vitest_1.expect)((0, url_1.isUrl)('example .com')).toBe(false);
65
+ (0, vitest_1.expect)((0, url_1.isUrl)('www. example.com')).toBe(false);
66
+ });
67
+ (0, vitest_1.it)('should return false for empty string', () => {
68
+ (0, vitest_1.expect)((0, url_1.isUrl)('')).toBe(false);
69
+ });
70
+ (0, vitest_1.it)('should return false for just dots', () => {
71
+ (0, vitest_1.expect)((0, url_1.isUrl)('.')).toBe(false);
72
+ (0, vitest_1.expect)((0, url_1.isUrl)('..')).toBe(false);
73
+ });
74
+ });
75
+ (0, vitest_1.describe)('Edge cases', () => {
76
+ (0, vitest_1.it)('should handle localhost-like strings', () => {
77
+ // localhost without TLD is not detected as URL without protocol
78
+ (0, vitest_1.expect)((0, url_1.isUrl)('localhost')).toBe(false);
79
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://localhost')).toBe(true);
80
+ (0, vitest_1.expect)((0, url_1.isUrl)('http://localhost:3000')).toBe(true);
81
+ });
82
+ (0, vitest_1.it)('should handle subdomains', () => {
83
+ (0, vitest_1.expect)((0, url_1.isUrl)('api.example.com')).toBe(true);
84
+ (0, vitest_1.expect)((0, url_1.isUrl)('v2.api.example.com')).toBe(true);
85
+ (0, vitest_1.expect)((0, url_1.isUrl)('https://api.firecrawl.dev/v2')).toBe(true);
86
+ });
87
+ });
88
+ });
89
+ (0, vitest_1.describe)('normalizeUrl', () => {
90
+ (0, vitest_1.it)('should add https:// to URLs without protocol', () => {
91
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('example.com')).toBe('https://example.com');
92
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('www.example.com')).toBe('https://www.example.com');
93
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('firecrawl.dev')).toBe('https://firecrawl.dev');
94
+ });
95
+ (0, vitest_1.it)('should add https:// to URLs with paths', () => {
96
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('example.com/path')).toBe('https://example.com/path');
97
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('example.com/path?query=value')).toBe('https://example.com/path?query=value');
98
+ });
99
+ (0, vitest_1.it)('should not modify URLs that already have http://', () => {
100
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('http://example.com')).toBe('http://example.com');
101
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('http://www.example.com/path')).toBe('http://www.example.com/path');
102
+ });
103
+ (0, vitest_1.it)('should not modify URLs that already have https://', () => {
104
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('https://example.com')).toBe('https://example.com');
105
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('https://www.example.com/path')).toBe('https://www.example.com/path');
106
+ });
107
+ (0, vitest_1.it)('should be case-insensitive for existing protocols', () => {
108
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('HTTP://example.com')).toBe('HTTP://example.com');
109
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('HTTPS://example.com')).toBe('HTTPS://example.com');
110
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('Http://example.com')).toBe('Http://example.com');
111
+ });
112
+ (0, vitest_1.it)('should handle complex URLs', () => {
113
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('api.firecrawl.dev/v2/scrape?url=test')).toBe('https://api.firecrawl.dev/v2/scrape?url=test');
114
+ (0, vitest_1.expect)((0, url_1.normalizeUrl)('example.com:8080/api')).toBe('https://example.com:8080/api');
115
+ });
116
+ });
117
+ });
118
+ //# sourceMappingURL=url.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/url.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAoCzB;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAqEvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAoCzB;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAqEvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -93,6 +93,6 @@ async function handleScrapeCommand(options) {
93
93
  if (options.screenshot && !effectiveFormats.includes('screenshot')) {
94
94
  effectiveFormats.push('screenshot');
95
95
  }
96
- (0, output_1.handleScrapeOutput)(result, effectiveFormats, options.output, options.pretty);
96
+ (0, output_1.handleScrapeOutput)(result, effectiveFormats, options.output, options.pretty, options.json);
97
97
  }
98
98
  //# sourceMappingURL=scrape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/commands/scrape.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  /**
2
2
  * Version command implementation
3
- * Displays the CLI version
3
+ * Displays the CLI version and optionally auth status
4
4
  */
5
+ export interface VersionOptions {
6
+ authStatus?: boolean;
7
+ }
5
8
  /**
6
9
  * Display version information
7
10
  */
8
- export declare function handleVersionCommand(): void;
11
+ export declare function handleVersionCommand(options?: VersionOptions): void;
9
12
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAOvE"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Version command implementation
4
- * Displays the CLI version
4
+ * Displays the CLI version and optionally auth status
5
5
  */
6
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9,10 +9,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.handleVersionCommand = handleVersionCommand;
11
11
  const package_json_1 = __importDefault(require("../../package.json"));
12
+ const auth_1 = require("../utils/auth");
12
13
  /**
13
14
  * Display version information
14
15
  */
15
- function handleVersionCommand() {
16
- console.log(package_json_1.default.version);
16
+ function handleVersionCommand(options = {}) {
17
+ console.log(`version: ${package_json_1.default.version}`);
18
+ if (options.authStatus) {
19
+ const authenticated = (0, auth_1.isAuthenticated)();
20
+ console.log(`authenticated: ${authenticated}`);
21
+ }
17
22
  }
18
23
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAOH,oDAEC;AAPD,sEAA6C;AAE7C;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,CAAC,GAAG,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAYH,oDAOC;AAjBD,sEAA6C;AAC7C,wCAAgD;AAMhD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,UAA0B,EAAE;IAC/D,OAAO,CAAC,GAAG,CAAC,YAAY,sBAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,IAAA,sBAAe,GAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}