Skip to content

Commit

Permalink
Revert "Merge pull request #997 from mendableai/feat/sdk-without-ws"
Browse files Browse the repository at this point in the history
This reverts commit 53cda5f, reversing
changes made to 51f79b5.
  • Loading branch information
nickscamara committed Dec 23, 2024
1 parent 18ceaf1 commit b1a5625
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 62 deletions.
35 changes: 0 additions & 35 deletions apps/js-sdk/firecrawl/src/__tests__/CrawlWatcher.test.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ describe('FirecrawlApp<"v0"> E2E Tests', () => {
});
await expect(
invalidApp.scrapeUrl("https://roastmywebsite.ai")
).rejects.toThrow("Unexpected error occurred while trying to scrape URL. Status code: 401");
).rejects.toThrow("Request failed with status code 401");
}
);

Expand All @@ -46,7 +46,7 @@ describe('FirecrawlApp<"v0"> E2E Tests', () => {
});
const blocklistedUrl = "https://facebook.com/fake-test";
await expect(app.scrapeUrl(blocklistedUrl)).rejects.toThrow(
"Unexpected error occurred while trying to scrape URL. Status code: 403"
"Request failed with status code 403"
);
}
);
Expand Down Expand Up @@ -169,7 +169,7 @@ describe('FirecrawlApp<"v0"> E2E Tests', () => {
});
const blocklistedUrl = "https://twitter.com/fake-test";
await expect(app.crawlUrl(blocklistedUrl)).rejects.toThrow(
"Unexpected error occurred while trying to scrape URL. Status code: 403"
"Request failed with status code 403"
);
}
);
Expand Down Expand Up @@ -242,7 +242,7 @@ describe('FirecrawlApp<"v0"> E2E Tests', () => {
const maxChecks = 15;
let checks = 0;

while ((statusResponse.status === "active" || statusResponse.status === "scraping" ) && checks < maxChecks) {
while (statusResponse.status === "active" && checks < maxChecks) {
await new Promise((resolve) => setTimeout(resolve, 5000));
expect(statusResponse.partial_data).not.toBeNull();
// expect(statusResponse.current).toBeGreaterThanOrEqual(1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ describe('FirecrawlApp E2E Tests', () => {
test.concurrent('should throw error for blocklisted URL on scrape', async () => {
const app = new FirecrawlApp({ apiKey: TEST_API_KEY, apiUrl: API_URL });
const blocklistedUrl = "https://facebook.com/fake-test";
await expect(app.scrapeUrl(blocklistedUrl)).rejects.toThrow("Unexpected error occurred while trying to scrape URL. Status code: 403");
await expect(app.scrapeUrl(blocklistedUrl)).rejects.toThrow("Request failed with status code 403");
});

test.concurrent('should return successful response with valid preview token', async () => {
Expand Down Expand Up @@ -74,7 +74,7 @@ describe('FirecrawlApp E2E Tests', () => {
'https://roastmywebsite.ai', {
formats: ['markdown', 'html', 'rawHtml', 'screenshot', 'links'],
headers: { "x-key": "test" },
// includeTags: ['h1'],
includeTags: ['h1'],
excludeTags: ['h2'],
onlyMainContent: true,
timeout: 30000,
Expand Down Expand Up @@ -224,7 +224,7 @@ describe('FirecrawlApp E2E Tests', () => {
scrapeOptions: {
formats: ['markdown', 'html', 'rawHtml', 'screenshot', 'links'],
headers: { "x-key": "test" },
// includeTags: ['h1'],
includeTags: ['h1'],
excludeTags: ['h2'],
onlyMainContent: true,
waitFor: 1000
Expand Down Expand Up @@ -346,7 +346,7 @@ describe('FirecrawlApp E2E Tests', () => {
expect(statusResponse.data[0].metadata).not.toHaveProperty("error");
}
}
}, 120000); // 120 seconds timeout
}, 60000); // 60 seconds timeout

test.concurrent('should throw error for invalid API key on map', async () => {
if (API_URL.includes('api.firecrawl.dev')) {
Expand Down
20 changes: 1 addition & 19 deletions apps/js-sdk/firecrawl/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,7 @@
import axios, { type AxiosResponse, type AxiosRequestHeaders, AxiosError } from "axios";
import type * as zt from "zod";
import { zodToJsonSchema } from "zod-to-json-schema";

import type { WebSocket as IsowsWebSocket } from 'isows';
/**
* Dynamically imports the WebSocket class from 'isows'.
* If the import fails, WebSocket is set to null.
* This approach is used because some environments, such as Firebase Functions,
* might not support WebSocket natively.
*/
const WebSocket: typeof IsowsWebSocket | null = await (async () => {
try {
const module = await import('isows');
return module.WebSocket;
} catch (error) {
return null;
}
})();

import { WebSocket } from "isows";
import { TypedEventTarget } from "typescript-event-target";

/**
Expand Down Expand Up @@ -961,8 +945,6 @@ export class CrawlWatcher extends TypedEventTarget<CrawlWatcherEvents> {

constructor(id: string, app: FirecrawlApp) {
super();
if(!WebSocket)
throw new FirecrawlError("WebSocket module failed to load. Your system might not support WebSocket.", 500);
this.id = id;
this.ws = new WebSocket(`${app.apiUrl}/v1/crawl/${id}`, app.apiKey);
this.status = "scraping";
Expand Down

0 comments on commit b1a5625

Please sign in to comment.