Skip to content

feat: add internal DO support with getPlatformProxy - #8267

Closed
emily-shen wants to merge 11 commits into
mainfrom
emily/do-assets
Closed

feat: add internal DO support with getPlatformProxy#8267
emily-shen wants to merge 11 commits into
mainfrom
emily/do-assets

Conversation

@emily-shen

@emily-shen emily-shen commented Feb 26, 2025

Copy link
Copy Markdown
Contributor

yet another attempt - mostly based off #7292 with a minor change to let frameworks override the entrypoint in config.main, so that a file that exports DOs etc. can be passed in.

allows for a DO, named entrypoints, workflows etc in the main worker

framework adaptors will have to pass in an exports file which could just have the DO etc. and not the main worker.

the fixture has a worker AND a durable object
then if you run node adaptor.js, you can see you get back the DO proxy on the getplatformproxy env object as well, and you can use that to access the DO, including RPC methods.


  • Tests
    • TODO (before merge)
    • Tests included
    • Tests not necessary because:
  • Wrangler E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)
    • I don't know
    • Required
    • Not required because:
  • Public documentation
    • TODO (before merge)
    • Cloudflare docs PR(s):
    • Documentation not necessary because:

fixes the external DO worker error:

service core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER: Worker "core:user:__WRANGLER_EXTERNAL_DURABLE_OBJECTS_WORKER"'s binding "MyDurableObject" refers to a service "core:user:worker", but no such service is defined.
@changeset-bot

changeset-bot Bot commented Feb 26, 2025

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: e8b0f73

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Feb 26, 2025

Copy link
Copy Markdown
Contributor

A wrangler prerelease is available for testing. You can install this latest build in your project with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-wrangler-8267

You can reference the automatically updated head of this PR with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/8267/npm-package-wrangler-8267

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-wrangler-8267 dev path/to/script.js
Additional artifacts:

cloudflare-workers-bindings-extension:

wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-workers-bindings-extension-8267 -O ./cloudflare-workers-bindings-extension.0.0.0-vfb5c204a9.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-vfb5c204a9.vsix

create-cloudflare:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-create-cloudflare-8267 --no-auto-update

@cloudflare/kv-asset-handler:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-kv-asset-handler-8267

miniflare:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-miniflare-8267

@cloudflare/pages-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-pages-shared-8267

@cloudflare/unenv-preset:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-unenv-preset-8267

@cloudflare/vite-plugin:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-vite-plugin-8267

@cloudflare/vitest-pool-workers:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-vitest-pool-workers-8267

@cloudflare/workers-editor-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-workers-editor-shared-8267

@cloudflare/workers-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-workers-shared-8267

@cloudflare/workflows-shared:

npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13653464138/npm-package-cloudflare-workflows-shared-8267

Note that these links will no longer work once the GitHub Actions artifact expires.


wrangler@3.112.0 includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20250214.2
workerd 1.20250214.0 1.20250214.0
workerd --version 1.20250214.0 2025-02-14

Please ensure constraints are pinned, and miniflare/workerd minor versions match.

Comment thread packages/wrangler/src/api/integrations/platform/index.ts Outdated
@emily-shen emily-shen added the ci:c3-e2e Run C3 E2E tests on a pull request label Feb 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:c3-e2e Run C3 E2E tests on a pull request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants