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

feat(wrangler): watch mode for Workers + Assets

Open CarmenPopoviciu opened this issue 1 year ago • 2 comments

What this PR solves / how to test

This PR implements watch mode for Workers with assets, more specifically:

  • it watches the static assets directory for changes (add/delete files or directories)
  • it reacts to config file changes and ensures we're still watching for the relevant asset directory

Fixes WC-2554

Clean commit history is caring 🫶 so pls review per commit

How this was tested

Beside e2e tests, these changes were also manually tested in the following scenarios:

[wrangler dev | wrangler dev --x-dev-env]

  • add/remove files & directories in the assets directory Screenshot 2024-08-28 at 12 37 21

  • change the assets folder in wrangler.toml + file changes in new assets directory + file changes in old assets directory to ensure it is not watched anymore Screenshot 2024-08-28 at 12 38 12

[wrangler dev --x-assets="dist" | wrangler dev --x-dev-env --x-assets="dist"]

  • add/remove files & directories in the assets directory
  • change the assets folder in wrangler.toml + file changes in that assets directory to ensure we are still watching the assets dir specified by --x-assets Screenshot 2024-08-28 at 12 46 40

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)
    • [ ] TODO (before merge)
    • [x] Included
    • [ ] Not necessary because:
  • Public documentation
    • [ ] TODO (before merge)
    • [ ] Cloudflare docs PR(s):
    • [x] Not necessary because: Workers + Assets is not documented yet

CarmenPopoviciu avatar Aug 23 '24 15:08 CarmenPopoviciu

🦋 Changeset detected

Latest commit: ee6ff15a4bf32dc5e0681e0d0fba2c591c4363e8

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

This PR includes changesets to release 2 packages
Name Type
wrangler Minor
@cloudflare/vitest-pool-workers 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 15: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/10629771784/npm-package-wrangler-6574

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

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

Or you can use npx with this latest build directly:

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

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 15:08 github-actions[bot]