workers-sdk icon indicating copy to clipboard operation
workers-sdk copied to clipboard

feat:`wrangler dev` with dynamic sites + miniflare assets plugin

Open emily-shen opened this issue 1 year ago • 2 comments

What this PR solves / how to test

This creates a new assets miniflare plugin. The Asset Worker and Router Worker are imported from workers-shared and used as miniflare services. If assets are detected, the miniflare entry worker will always point towards the Router Worker instead of the User Worker like it usually does.

We also add in a config object that can be passed to Router Worker. Currently this only contains {hasUserWorker: boolean}, but will be used later for other routing config.

User Worker + Assets diagram. If there is no UW, this remains the same except wrangler provides a no-op worker that cannot be reached.

diagram

Author has addressed the following

  • Tests
    • [ ] TODO (before merge)
    • [x] Included
    • [ ] Not necessary because:
  • E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)
    • [ ] I don't know
    • [x] Required / Maybe required
    • [ ] Not required because:
  • Changeset (Changeset guidelines)
    • [x] TODO (before merge)
    • [ ] Included
    • [ ] Not necessary because:
  • Public documentation
    • [ ] TODO (before merge)
    • [ ] Cloudflare docs PR(s):
    • [x] Not necessary because: unreleased feature

emily-shen avatar Aug 23 '24 08:08 emily-shen

🦋 Changeset detected

Latest commit: 3b4d90f5425a35a6b3afbd4e4b86a811840b140c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
miniflare Patch
@cloudflare/pages-shared Patch
@cloudflare/vitest-pool-workers Patch
wrangler Patch

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

changeset-bot[bot] avatar Aug 23 '24 08:08 changeset-bot[bot]

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/10634012860/npm-package-wrangler-6564

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

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

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-wrangler-6564 dev path/to/script.js
Additional artifacts:
npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-create-cloudflare-6564 --no-auto-update
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-cloudflare-kv-asset-handler-6564
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-miniflare-6564
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-cloudflare-pages-shared-6564
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-cloudflare-vitest-pool-workers-6564
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-cloudflare-workers-editor-shared-6564
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/10634012860/npm-package-cloudflare-workers-shared-6564

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


[email protected] includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20240821.0
workerd 1.20240821.1 1.20240821.1
workerd --version 1.20240821.1 2024-08-21

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

github-actions[bot] avatar Aug 23 '24 10:08 github-actions[bot]