@crawlee/cheerio 3.17.1-beta.7 → 3.17.1-beta.71

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/index.mjs CHANGED
@@ -53,6 +53,7 @@ export const RequestQueue = mod.RequestQueue;
53
53
  export const RequestQueueV1 = mod.RequestQueueV1;
54
54
  export const RequestQueueV2 = mod.RequestQueueV2;
55
55
  export const RequestState = mod.RequestState;
56
+ export const RequestValidationError = mod.RequestValidationError;
56
57
  export const RetryRequestError = mod.RetryRequestError;
57
58
  export const Router = mod.Router;
58
59
  export const STATE_PERSISTENCE_KEY = mod.STATE_PERSISTENCE_KEY;
@@ -85,6 +86,7 @@ export const createFileRouter = mod.createFileRouter;
85
86
  export const createHttpRouter = mod.createHttpRouter;
86
87
  export const createRequestOptions = mod.createRequestOptions;
87
88
  export const createRequests = mod.createRequests;
89
+ export const defaultRoute = mod.defaultRoute;
88
90
  export const deserializeArray = mod.deserializeArray;
89
91
  export const enqueueLinks = mod.enqueueLinks;
90
92
  export const evaluateLoadSignalSample = mod.evaluateLoadSignalSample;
@@ -105,5 +107,6 @@ export const tryAbsoluteURL = mod.tryAbsoluteURL;
105
107
  export const updateEnqueueLinksPatternCache = mod.updateEnqueueLinksPatternCache;
106
108
  export const useState = mod.useState;
107
109
  export const validateGlobPattern = mod.validateGlobPattern;
110
+ export const validateUserData = mod.validateUserData;
108
111
  export const validators = mod.validators;
109
112
  export const withCheckedStorageAccess = mod.withCheckedStorageAccess;
@@ -1,5 +1,5 @@
1
1
  import type { IncomingMessage } from 'node:http';
2
- import type { BasicCrawlingContext, Configuration, EnqueueLinksOptions, ErrorHandler, GetUserDataFromRequest, HttpCrawlerOptions, InternalHttpCrawlingContext, InternalHttpHook, RequestHandler, RequestProvider, RouterRoutes, SkippedRequestCallback } from '@crawlee/http';
2
+ import type { BasicCrawlingContext, Configuration, EnqueueLinksOptions, ErrorHandler, GetUserDataFromRequest, HttpCrawlerOptions, InternalHttpCrawlingContext, InternalHttpHook, RequestHandler, RequestProvider, RouterHandler, RouterRoutes, RouteSchemas, RoutesFromSchemas, SkippedRequestCallback } from '@crawlee/http';
3
3
  import { HttpCrawler } from '@crawlee/http';
4
4
  import type { Dictionary } from '@crawlee/types';
5
5
  import { type CheerioRoot, type RobotsTxtFile } from '@crawlee/utils';
@@ -184,6 +184,7 @@ export declare function cheerioCrawlerEnqueueLinks(options: EnqueueLinksInternal
184
184
  * await crawler.run();
185
185
  * ```
186
186
  */
187
- // @ts-ignore optional peer dependency or compatibility with es2022
188
- export declare function createCheerioRouter<Context extends CheerioCrawlingContext = CheerioCrawlingContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, UserData>): import("@crawlee/http").RouterHandler<Context>;
187
+ export declare function createCheerioRouter<Context extends CheerioCrawlingContext = CheerioCrawlingContext, Routes extends Record<keyof Routes, Dictionary> = Record<string, GetUserDataFromRequest<Context['request']>>>(routes?: RouterRoutes<Context, Routes>): RouterHandler<Context, Routes>;
188
+ export declare function createCheerioRouter<Context extends CheerioCrawlingContext = CheerioCrawlingContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, Record<string, UserData>>): RouterHandler<Context, Record<string, UserData>>;
189
+ export declare function createCheerioRouter<Context extends CheerioCrawlingContext = CheerioCrawlingContext, const Schemas extends RouteSchemas = RouteSchemas>(schemas: Schemas): RouterHandler<Context, RoutesFromSchemas<Schemas>>;
189
190
  export {};
@@ -174,8 +174,8 @@ async function cheerioCrawlerEnqueueLinks(options) {
174
174
  if (containsEnqueueLinks(options)) {
175
175
  return options.enqueueLinks({
176
176
  urls,
177
- baseUrl,
178
177
  ...enqueueLinksOptions,
178
+ baseUrl,
179
179
  });
180
180
  }
181
181
  return (0, http_1.enqueueLinks)({
@@ -183,34 +183,10 @@ async function cheerioCrawlerEnqueueLinks(options) {
183
183
  robotsTxtFile: options.robotsTxtFile,
184
184
  onSkippedRequest: options.onSkippedRequest,
185
185
  urls,
186
- baseUrl,
187
186
  ...enqueueLinksOptions,
187
+ baseUrl,
188
188
  });
189
189
  }
190
- /**
191
- * Creates new {@link Router} instance that works based on request labels.
192
- * This instance can then serve as a `requestHandler` of your {@link CheerioCrawler}.
193
- * Defaults to the {@link CheerioCrawlingContext}.
194
- *
195
- * > Serves as a shortcut for using `Router.create<CheerioCrawlingContext>()`.
196
- *
197
- * ```ts
198
- * import { CheerioCrawler, createCheerioRouter } from 'crawlee';
199
- *
200
- * const router = createCheerioRouter();
201
- * router.addHandler('label-a', async (ctx) => {
202
- * ctx.log.info('...');
203
- * });
204
- * router.addDefaultHandler(async (ctx) => {
205
- * ctx.log.info('...');
206
- * });
207
- *
208
- * const crawler = new CheerioCrawler({
209
- * requestHandler: router,
210
- * });
211
- * await crawler.run();
212
- * ```
213
- */
214
- function createCheerioRouter(routes) {
215
- return http_1.Router.create(routes);
190
+ function createCheerioRouter(routesOrSchemas) {
191
+ return http_1.Router.create(routesOrSchemas);
216
192
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/cheerio",
3
- "version": "3.17.1-beta.7",
3
+ "version": "3.17.1-beta.71",
4
4
  "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
@@ -53,9 +53,9 @@
53
53
  "access": "public"
54
54
  },
55
55
  "dependencies": {
56
- "@crawlee/http": "3.17.1-beta.7",
57
- "@crawlee/types": "3.17.1-beta.7",
58
- "@crawlee/utils": "3.17.1-beta.7",
56
+ "@crawlee/http": "3.17.1-beta.71",
57
+ "@crawlee/types": "3.17.1-beta.71",
58
+ "@crawlee/utils": "3.17.1-beta.71",
59
59
  "cheerio": "1.0.0-rc.12",
60
60
  "htmlparser2": "^9.0.0",
61
61
  "tslib": "^2.4.0"
@@ -67,5 +67,5 @@
67
67
  }
68
68
  }
69
69
  },
70
- "gitHead": "541c9687ee7f8421189d489ea817aaa08cb9b4ec"
70
+ "gitHead": "94c4c029140e4068184ad3f03d0a71fd8d6984dc"
71
71
  }