workers-sdk
workers-sdk copied to clipboard
feat:`wrangler dev` with dynamic sites + miniflare assets plugin
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.
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
🦋 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
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.