-
Notifications
You must be signed in to change notification settings - Fork 29
Description
Description
I am trying to use the weaviate-client
library in a Cloudflare Worker, but I am encountering issues related to the http2
module. The error message suggests that the http2
package is built into Node.js and is not available in the Cloudflare Workers environment.
Context
I have added the following configuration to my wrangler.toml
file to enable Node.js compatibility:
compatibility_date = "2023-12-01"
node_compat = true
However, even with this configuration, I am still facing the http2
related error.
Steps to Reproduce
- Set up a new Cloudflare Worker project.
- Install the
weaviate-client
library using npm or yarn. - Configure
wrangler.toml
with the appropriatecompatibility_date
andnode_compat
settings. - Write code that uses the
weaviate-client
library to make requests to a Weaviate instance. - Attempt to run the Worker using
wrangler dev
.
Expected Behavior
The Cloudflare Worker should be able to use the weaviate-client
library to make requests to a Weaviate instance without any issues related to the http2
module.
Actual Behavior
The Worker fails to execute due to the missing http2
module, which is not available in the Cloudflare Workers environment.
✘ [ERROR] Could not resolve "http2"
../../node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/transport.js:20:22:
20 │ const http2 = require("http2");
╵ ~~~~~~~
The package "http2" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
Possible Solution
One potential solution is to use the native fetch
API provided by Cloudflare Workers instead of relying on the http2
module used by the weaviate-client
library.
Additional Information
- I'm using Weaviate Cloud
weaviate-client
library version:3.0.0-rc.3