Open sc0h0 opened 4 months ago
Hey, also having this issue. Any updates on a potential fix?
root@dev-server-ubuntu:/opt/gpt-crawler# npm start
> @builder.io/gpt-crawler@1.4.0 start
> npm run start:dev
> @builder.io/gpt-crawler@1.4.0 start:dev
> cross-env NODE_ENV=development npm run build && node dist/src/main.js
> @builder.io/gpt-crawler@1.4.0 build
> tsc
src/core.ts:88:46 - error TS2322: Type '(data: ReadonlyDeep<Dictionary | Dictionary[]>, datasetIdOrName?: string | undefined) => Promise<void>' is not assignable to type '(args_0: any, ...args_1: unknown[]) => Promise<void>'.
Types of parameters 'datasetIdOrName' and 'args_1' are incompatible.
Type 'unknown' is not assignable to type 'string | undefined'.
88 await config.onVisitPage({ page, pushData });
~~~~~~~~
src/config.ts:66:9
66 pushData: z.function().args(z.any()).returns(z.promise(z.void())),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The expected type comes from property 'pushData' which is declared here on type '{ page: Page; pushData: (args_0: any, ...args_1: unknown[]) => Promise<void>; }'
Found 1 error in src/core.ts:88
Same error here, the newest build seems to be broken.
Anyone receiving this error message? Trying to run on Windows.
src/core.ts:87:44 - error TS2322: Type '(data: ReadonlyDeep<Dictionary | Dictionary[]>, datasetIdOrName?: string | undefined) => Promise<void>' is not assignable to type '(args_0: any, ...args_1: unknown[]) => Promise<void>'. Types of parameters 'datasetIdOrName' and 'args_1' are incompatible. Type 'unknown' is not assignable to type 'string | undefined'. 87 await config.onVisitPage({ page, pushData }); ~~~~~~~~ src/config.ts:66:9 66 pushData: z.function().args(z.any()).returns(z.promise(z.void())), ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The expected type comes from property 'pushData' which is declared here on type '{ page: Page; pushData: (args_0: any, ...args_1: unknown[]) => Promise<void>; }' Found 1 error in src/core.ts:87
This is the config I am using to test:
v1.3.0 seems to work fine for me. https://github.com/BuilderIO/gpt-crawler/archive/refs/tags/v1.3.0.zip
I have the same issue if I update the dependancies with a "npm update/upgrade", otherwise, it works well.
Can confirm that this also happens to me on latest version. I have a temporary fix; unsure if this is correct though because so many .any()
.
I found out that this happens because the Zod schema for the Config file (in the config.ts
file was slightly wrong). Specifically, the pushData
function that is passed in await config.onVisitPage({ page, pushData })
comes from PlaywrightCrawler and should have 2 arguments.
Therefore, I fixed it in the config.ts
file so that it also reflects the "pushData function have 2 args" in the Config type:
onVisitPage: z
.function()
.args(
z.object({
page: Page,
pushData: z.function().args(z.any(), z.any().optional()).returns(z.promise(z.void())), // Two function args
}),
)
.returns(z.promise(z.void()))
.optional(),
Same issues
Anyone receiving this error message? Trying to run on Windows.
This is the config I am using to test: