Support service bindings from Pages projects to workers in a single workerd instance#7715
Support service bindings from Pages projects to workers in a single workerd instance#7715
workerd instance#7715Conversation
🦋 Changeset detectedLatest commit: a4fa6bb The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
67e5d95 to
08bc217
Compare
|
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/12754855934/npm-package-wrangler-7715You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/7715/npm-package-wrangler-7715Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-wrangler-7715 dev path/to/script.jsAdditional artifacts:cloudflare-workers-bindings-extension: wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-workers-bindings-extension-7715 -O ./cloudflare-workers-bindings-extension.0.0.0-vd1a1f78d3.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-vd1a1f78d3.vsixcreate-cloudflare: npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-create-cloudflare-7715 --no-auto-update@cloudflare/kv-asset-handler: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-kv-asset-handler-7715miniflare: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-miniflare-7715@cloudflare/pages-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-pages-shared-7715@cloudflare/unenv-preset: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-unenv-preset-7715@cloudflare/vitest-pool-workers: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-vitest-pool-workers-7715@cloudflare/workers-editor-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-workers-editor-shared-7715@cloudflare/workers-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-workers-shared-7715@cloudflare/workflows-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12754855934/npm-package-cloudflare-workflows-shared-7715Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
emily-shen
left a comment
There was a problem hiding this comment.
can we error helpfully if someone tries to run wrangler dev and one of the provided config files is a pages config?
otherwise very excited about pages going through start_dev!
Added! |
| testMode: false, | ||
| watch: true, | ||
| enableIpc: true, | ||
| const devServer = await run( |
There was a problem hiding this comment.
is there any risk to moving pages dev off unstable_dev? as far as i can tell its just a wrapper around startDev but not sure if there's some context I'm missing around why it's been unstable_dev until now.
There was a problem hiding this comment.
unstable_dev used to be a different code path, and was refactored to be startDev() based when --x-dev-env was stabilised. As it stands today, unstable_dev is just a wrapper around startDev
Fixes #5918
As of #7251, Wrangler has supported configuring multiple Workers to run in the same
workerdinstance (with service bindings between them) using multiple-cflags. However, this didn't work for Pages.This PR adds support for Pages, using the same API as for regular Workers:
wrangler pages dev -c wrangler.toml ../other-worker/wrangler.toml. However, a slight difference with Pages (compared to regular Workers) is that you can't customise the location of the Pages config file. As such, the first-cargument must point to the config file for the Pages project, and must be located in the project root. We could've omitted this entirely, but it felt like it would be more confusing to implicitly read a config file that wasn't mentioned—open to dissenting opinions here!This PR also shifts
wrangler pages devto usestartDev()directly rather than going throughunstable_dev(), opening the door to removingunstable_dev()entirely in the future.