Unable to bind durable objects on Remix + Vite project
Hello, I'm trying to incorporate a durable object into my project that I have recently moved to Vite (from the classic Remix compiler). However I think this issue may be more relevant to Wrangler due to the nature of the error. I'm on MacOS and using Node 21.6.2.
When running
My object, which is exported from my
binding:
When running
wrangler typeswrangler types (which in turn runs my Vite build process):% npx wrangler types
⛅️ wrangler 3.63.1
-------------------
Running custom build: npm run build
> project@3.0.0 build
> remix vite:build
Using vars defined in .dev.vars
service core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER: Worker "core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER"'s binding "BasicDurableObject" refers to a service "core:user:worker", but no such service is defined.
MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.
at #assembleAndUpdateConfig (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9178:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Mutex.runWith (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:3521:16)
at async #waitForReady (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9235:5)
at async Miniflare2._getProxyClient (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9359:5)
at async Miniflare2.getBindings (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9378:25)
at async getPlatformProxy (/Users/shay/Documents/GitHub/project/packages/site/node_modules/wrangler/wrangler-dist/cli.js:210460:20)
at async configureServer (/Users/shay/Documents/GitHub/project/packages/site/node_modules/@remix-run/dev/dist/vite/cloudflare-proxy-plugin.js:55:11)
at async _createServer (file:///Users/shay/Documents/GitHub/project/node_modules/vite/dist/node/chunks/dep-CzJTQ5q7.js:63370:20)
at async configResolved (/Users/shay/Documents/GitHub/project/packages/site/node_modules/@remix-run/dev/dist/vite/plugin.js:750:27) {
code: 'ERR_RUNTIME_FAILURE',
cause: undefined
}
npm ERR! Lifecycle script `build` failed with error:
npm ERR! Error: command failed
npm ERR! in workspace: project@3.0.0
npm ERR! at location: /Users/shay/Documents/GitHub/project/packages/site
✘ [ERROR] Running custom build `npm run build` failed. There are likely more logs from your build command above.% npx wrangler types
⛅️ wrangler 3.63.1
-------------------
Running custom build: npm run build
> project@3.0.0 build
> remix vite:build
Using vars defined in .dev.vars
service core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER: Worker "core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER"'s binding "BasicDurableObject" refers to a service "core:user:worker", but no such service is defined.
MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.
at #assembleAndUpdateConfig (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9178:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Mutex.runWith (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:3521:16)
at async #waitForReady (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9235:5)
at async Miniflare2._getProxyClient (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9359:5)
at async Miniflare2.getBindings (/Users/shay/Documents/GitHub/project/packages/site/node_modules/miniflare/dist/src/index.js:9378:25)
at async getPlatformProxy (/Users/shay/Documents/GitHub/project/packages/site/node_modules/wrangler/wrangler-dist/cli.js:210460:20)
at async configureServer (/Users/shay/Documents/GitHub/project/packages/site/node_modules/@remix-run/dev/dist/vite/cloudflare-proxy-plugin.js:55:11)
at async _createServer (file:///Users/shay/Documents/GitHub/project/node_modules/vite/dist/node/chunks/dep-CzJTQ5q7.js:63370:20)
at async configResolved (/Users/shay/Documents/GitHub/project/packages/site/node_modules/@remix-run/dev/dist/vite/plugin.js:750:27) {
code: 'ERR_RUNTIME_FAILURE',
cause: undefined
}
npm ERR! Lifecycle script `build` failed with error:
npm ERR! Error: command failed
npm ERR! in workspace: project@3.0.0
npm ERR! at location: /Users/shay/Documents/GitHub/project/packages/site
✘ [ERROR] Running custom build `npm run build` failed. There are likely more logs from your build command above.Am I defining my binding incorrectly? I don't really understand what to do with this information and I couldn't find anything online.service core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER: Worker "core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER"'s binding "BasicDurableObject" refers to a service "core:user:worker", but no such service is defined.service core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER: Worker "core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER"'s binding "BasicDurableObject" refers to a service "core:user:worker", but no such service is defined.
My object, which is exported from my
mainmain file: export class BasicDurableObject extends DurableObject {
constructor(state, env) {
super();
}
async fetch(request) {
return new Response(undefined, { status: 204 });
}
}export class BasicDurableObject extends DurableObject {
constructor(state, env) {
super();
}
async fetch(request) {
return new Response(undefined, { status: 204 });
}
}binding:
[[durable_objects.bindings]]
name = "BASIC_DO"
class_name = "BasicDurableObject"[[durable_objects.bindings]]
name = "BASIC_DO"
class_name = "BasicDurableObject"