Skip to content

🐛 BUG: wrangler types + DurableObjects + a build process + typescript #6905

@zwily

Description

@zwily

Which Cloudflare product(s) does this pertain to?

Wrangler

What version(s) of the tool(s) are you using?

3.80.0 [wrangler]

What version of Node are you using?

20

What operating system and version are you using?

Mac Sequoia

Describe the Bug

I have a remix app using wrangler+static assets, and am also using a DurableObject. I have the DurableObject defined in my wrangler.toml, and then run wrangler types to generate worker-configuration.d.ts. That ends up looking something like this:

interface Env {
	DO: DurableObjectNamespace<import("./build/index").DrizzleTestDO>;
}

That's great, except, Env["DO"] actually is typed as DurableObjectNamespace<any> because import("./build/index") is reading from my built javascript file and has no types. If I manually change that to import("./server.ts").DrizzleTestDO then typing works fine, but the change would be erased the next time I run wrangler types.

Expected behavior

I'm not sure what the right thing to do here is. As a workaround, I am running wrangler types --env-namespace EnvBeforeFixup, and then in my env.d.ts overriding with the appropriate type:

interface Env extends EnvBeforeFixup {
  DO: DurableObjectNamespace<import("./app/do").DrizzleTestDO>;
}

This lets me have the correct type and not worry about overwriting it when I run npm run typegen in the future.

Example repo here: https://github.com/zwily/test-drizzle-durable-objects

Steps to reproduce

Please provide the following:

  • A minimal working subset of your worker code
  • A minimal working subset of your wrangler.toml
  • Commands used to start your local dev server, including custom env and cli args
  • Steps to be performed in the browser, curl commands, or a test we can run that reliably fails (at least a percent of the time)

A git repo we can clone and run a test suite on, or which has a README with step-by-step instructions, is even better. In this case, please use the field below to provide a link to the minimal repro.

Please provide a link to a minimal reproduction

https://github.com/zwily/test-drizzle-durable-objects

Please provide any relevant error logs

No response

Metadata

Metadata

Labels

typesTypes issues to do with wrangler type generation

Type

No fields configured for Bug.

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions