@crawlee/playwright 3.17.1-beta.54 → 3.17.1-beta.56

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
@@ -54,6 +54,7 @@ export const RequestQueue = mod.RequestQueue;
54
54
  export const RequestQueueV1 = mod.RequestQueueV1;
55
55
  export const RequestQueueV2 = mod.RequestQueueV2;
56
56
  export const RequestState = mod.RequestState;
57
+ export const RequestValidationError = mod.RequestValidationError;
57
58
  export const RetryRequestError = mod.RetryRequestError;
58
59
  export const Router = mod.Router;
59
60
  export const STATE_PERSISTENCE_KEY = mod.STATE_PERSISTENCE_KEY;
@@ -85,6 +86,7 @@ export const createEventLoopLoadSignal = mod.createEventLoopLoadSignal;
85
86
  export const createPlaywrightRouter = mod.createPlaywrightRouter;
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;
@@ -109,5 +111,6 @@ export const tryAbsoluteURL = mod.tryAbsoluteURL;
109
111
  export const updateEnqueueLinksPatternCache = mod.updateEnqueueLinksPatternCache;
110
112
  export const useState = mod.useState;
111
113
  export const validateGlobPattern = mod.validateGlobPattern;
114
+ export const validateUserData = mod.validateUserData;
112
115
  export const validators = mod.validators;
113
116
  export const withCheckedStorageAccess = mod.withCheckedStorageAccess;
@@ -1,4 +1,4 @@
1
- import type { BrowserHook, LoadedContext, RouterHandler } from '@crawlee/browser';
1
+ import type { BrowserHook, LoadedContext, RequestHandler, RouterHandler, RouteSchemas, RoutesFromSchemas } from '@crawlee/browser';
2
2
  import type { BaseHttpResponseData, EnqueueLinksOptions, GetUserDataFromRequest, RestrictedCrawlingContext, RouterRoutes, StatisticsOptions, StatisticState } from '@crawlee/core';
3
3
  import { Configuration, RequestHandlerResult, Statistics } from '@crawlee/core';
4
4
  import type { Awaitable, BatchAddRequestsResult, Dictionary } from '@crawlee/types';
@@ -194,6 +194,11 @@ export declare class AdaptivePlaywrightCrawler extends PlaywrightCrawler {
194
194
  */
195
195
  // @ts-ignore optional peer dependency or compatibility with es2022
196
196
  readonly router: RouterHandler<AdaptivePlaywrightCrawlerContext>;
197
+ /**
198
+ * The `requestHandler` never reaches `BrowserCrawler` here — it is kept as `adaptiveRequestHandler` and
199
+ * invoked through a proxy — so router-aware metadata has to resolve against it.
200
+ */
201
+ protected get userRequestHandler(): RequestHandler<PlaywrightCrawlingContext>;
197
202
  constructor(options?: AdaptivePlaywrightCrawlerOptions, config?: Configuration);
198
203
  /**
199
204
  * Returns the number of rendering type detections currently in progress.
@@ -213,4 +218,5 @@ export declare class AdaptivePlaywrightCrawler extends PlaywrightCrawler {
213
218
  }
214
219
  export declare function createAdaptivePlaywrightRouter<Context extends AdaptivePlaywrightCrawlerContext = AdaptivePlaywrightCrawlerContext, Routes extends Record<keyof Routes, Dictionary> = Record<string, GetUserDataFromRequest<Context['request']>>>(routes?: RouterRoutes<Context, Routes>): RouterHandler<Context, Routes>;
215
220
  export declare function createAdaptivePlaywrightRouter<Context extends AdaptivePlaywrightCrawlerContext = AdaptivePlaywrightCrawlerContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, Record<string, UserData>>): RouterHandler<Context, Record<string, UserData>>;
221
+ export declare function createAdaptivePlaywrightRouter<Context extends AdaptivePlaywrightCrawlerContext = AdaptivePlaywrightCrawlerContext, const Schemas extends RouteSchemas = RouteSchemas>(schemas: Schemas): RouterHandler<Context, RoutesFromSchemas<Schemas>>;
216
222
  export {};
@@ -94,6 +94,13 @@ const proxyLogMethods = [
94
94
  * @experimental
95
95
  */
96
96
  class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
97
+ /**
98
+ * The `requestHandler` never reaches `BrowserCrawler` here — it is kept as `adaptiveRequestHandler` and
99
+ * invoked through a proxy — so router-aware metadata has to resolve against it.
100
+ */
101
+ get userRequestHandler() {
102
+ return this.adaptiveRequestHandler;
103
+ }
97
104
  constructor(options = {}, config = core_1.Configuration.getGlobalConfig()) {
98
105
  const { requestHandler, renderingTypeDetectionRatio = 0.1, renderingTypePredictor, resultChecker, shouldPropagateError, resultComparator, statisticsOptions, preventDirectStorageAccess = true, ...rest } = options;
99
106
  super(rest, config);
@@ -478,6 +485,6 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
478
485
  }
479
486
  }
480
487
  exports.AdaptivePlaywrightCrawler = AdaptivePlaywrightCrawler;
481
- function createAdaptivePlaywrightRouter(routes) {
482
- return core_1.Router.create(routes);
488
+ function createAdaptivePlaywrightRouter(routesOrSchemas) {
489
+ return core_1.Router.create(routesOrSchemas);
483
490
  }
@@ -1,4 +1,4 @@
1
- import type { BrowserCrawlerOptions, BrowserCrawlingContext, BrowserHook, BrowserRequestHandler, GetUserDataFromRequest, LoadedContext, RouterHandler, RouterRoutes } from '@crawlee/browser';
1
+ import type { BrowserCrawlerOptions, BrowserCrawlingContext, BrowserHook, BrowserRequestHandler, GetUserDataFromRequest, LoadedContext, RouterHandler, RouterRoutes, RouteSchemas, RoutesFromSchemas } from '@crawlee/browser';
2
2
  import { BrowserCrawler, Configuration } from '@crawlee/browser';
3
3
  import type { CommonPage, PlaywrightController, PlaywrightPlugin } from '@crawlee/browser-pool';
4
4
  import type { Dictionary } from '@crawlee/types';
@@ -297,3 +297,4 @@ export declare class PlaywrightCrawler extends BrowserCrawler<{
297
297
  */
298
298
  export declare function createPlaywrightRouter<Context extends PlaywrightCrawlingContext = PlaywrightCrawlingContext, Routes extends Record<keyof Routes, Dictionary> = Record<string, GetUserDataFromRequest<Context['request']>>>(routes?: RouterRoutes<Context, Routes>): RouterHandler<Context, Routes>;
299
299
  export declare function createPlaywrightRouter<Context extends PlaywrightCrawlingContext = PlaywrightCrawlingContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, Record<string, UserData>>): RouterHandler<Context, Record<string, UserData>>;
300
+ export declare function createPlaywrightRouter<Context extends PlaywrightCrawlingContext = PlaywrightCrawlingContext, const Schemas extends RouteSchemas = RouteSchemas>(schemas: Schemas): RouterHandler<Context, RoutesFromSchemas<Schemas>>;
@@ -134,6 +134,6 @@ Object.defineProperty(PlaywrightCrawler, "optionsShape", {
134
134
  launcher: ow_1.default.optional.object,
135
135
  }
136
136
  });
137
- function createPlaywrightRouter(routes) {
138
- return browser_1.Router.create(routes);
137
+ function createPlaywrightRouter(routesOrSchemas) {
138
+ return browser_1.Router.create(routesOrSchemas);
139
139
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/playwright",
3
- "version": "3.17.1-beta.54",
3
+ "version": "3.17.1-beta.56",
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"
@@ -56,11 +56,11 @@
56
56
  "@apify/datastructures": "^2.0.0",
57
57
  "@apify/log": "^2.4.0",
58
58
  "@apify/timeout": "^0.3.1",
59
- "@crawlee/browser": "3.17.1-beta.54",
60
- "@crawlee/browser-pool": "3.17.1-beta.54",
61
- "@crawlee/core": "3.17.1-beta.54",
62
- "@crawlee/types": "3.17.1-beta.54",
63
- "@crawlee/utils": "3.17.1-beta.54",
59
+ "@crawlee/browser": "3.17.1-beta.56",
60
+ "@crawlee/browser-pool": "3.17.1-beta.56",
61
+ "@crawlee/core": "3.17.1-beta.56",
62
+ "@crawlee/types": "3.17.1-beta.56",
63
+ "@crawlee/utils": "3.17.1-beta.56",
64
64
  "cheerio": "1.0.0-rc.12",
65
65
  "jquery": "^3.6.0",
66
66
  "lodash.isequal": "^4.5.0",
@@ -90,5 +90,5 @@
90
90
  }
91
91
  }
92
92
  },
93
- "gitHead": "45d0756fd5f016539d6e2f80f72340a652ddc48f"
93
+ "gitHead": "aaf56f1d6905d06fe18a93bbd2d7695a581d57cf"
94
94
  }