Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cloudflare/workers-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: miniflare@3.20250224.0
Choose a base ref
...
head repository: cloudflare/workers-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: miniflare@3.20250310.0
Choose a head ref

Commits on Mar 6, 2025

  1. feat(fixtures): Add new fixtures for Workers + Assets with service bi…

    …ndings (#7980)
    
    * feat(fixtures): Add new fixtures Workers + Assets with service bindings
    
    * feedback fixes
    
    * fix tests
    CarmenPopoviciu authored Mar 6, 2025
    Copy the full SHA
    187d887 View commit details
  2. Add type gen command to react + vite + assets template (#8349)

    * rename to jsonc
    
    * add type gen
    
    * changeset
    
    * fix tsconfig
    emily-shen authored Mar 6, 2025
    Copy the full SHA
    ca60010 View commit details
  3. graduate C3 React (Workers) template (#8371)

    Resolves DEVX-1697
    petebacondarwin authored Mar 6, 2025
    Copy the full SHA
    b24497d View commit details
  4. Version Packages (#8370)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
    workers-devprod and github-actions[bot] authored Mar 6, 2025
    Copy the full SHA
    2138fef View commit details
  5. Copy the full SHA
    8461f9b View commit details
  6. add vite + worker to vue experimental template (#8358)

    * add worker to vue template
    
    * add flags
    
    * changeset
    
    * fix js template
    
    * Update tangy-parts-dig.md
    
    * fix tests
    
    * pr feedback
    
    * fix test
    emily-shen authored Mar 6, 2025
    Copy the full SHA
    5875adb View commit details
  7. Change id parameter to name for both bucket lifecycle and r2 bucket l…

    …ock commands (#8367)
    
    * Change id parameter to name for both bucket lifecycle and r2 bucket lock commands
    
    * Added tests for id alias
    
    * Apply suggestions from code review
    
    Co-authored-by: Edmund Hung <edmund@cloudflare.com>
    
    ---------
    
    Co-authored-by: Edmund Hung <edmund@cloudflare.com>
    jonesphillip and edmundhung authored Mar 6, 2025
    Copy the full SHA
    7b6b0c2 View commit details
  8. chore: update changeset (#8381)

    * chore: update changeset
    
    * Update .changeset/whole-dots-smile.md
    
    Co-authored-by: Pete Bacon Darwin <pete@bacondarwin.com>
    
    ---------
    
    Co-authored-by: Pete Bacon Darwin <pete@bacondarwin.com>
    edmundhung and petebacondarwin authored Mar 6, 2025
    Copy the full SHA
    d96fd53 View commit details
  9. Version Packages (#8378)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
    workers-devprod and github-actions[bot] authored Mar 6, 2025
    Copy the full SHA
    56c4ba9 View commit details
  10. Fix workers ai binding for cf vite plugin (#8273)

    * @cloudflare/vite-plugin: Include external AI worker in miniflare options
    
     ## Context
    Hi there o/
    
    At RedwoodJS, we're trying out @cloudflare/vite-plugin alongside Workers AI, but we've run into an issue where the two don't seem to work together.
    
    This is mainly to highlight the issue (its easier to explain with code). Feel free to use or disregard the solution as needed.
    
     ## Problem
    
    When using `@cloudflare/vite-plugin` for a worker with an `[ai]` binding in the `worker.toml`, we end up getting this error:
    
    ```
    workerd/server/workerd-api.c++:753: error: wrapped binding module can't be resolved (internal modules only); moduleName = miniflare-internal:wrapped:__WRANGLER_EXTERNAL_AI_WORKER
    ```
    
    This seems to be because the miniflare options include the wrapped bindings mapping to an internal AI worker script, but the corresponding worker options for this worker are not included in the miniflare options.
    
     ## Solution
    
    * In `wrangler`: Include `externalWorkers` in the results of [`unstable_getMiniflareWorkerOptions`](https://github.com/cloudflare/workers-sdk/blob/a7163b3a21f56c9bd839e34c9d5f31c3099a585a/packages/wrangler/src/api/integrations/platform/index.ts#L273) - it contains the worker options for the AI worker
    * In `@cloudflare/vite-plugin-cloudflare`: For the bindings in `wrappedBindings`, if their corresponding scripts are in `externalWorkers`, add these worker options to the miniflare options
    
    * Attempt to make PR diff less confusing
    
    * Skip e2e test for now until avoid cli interactivity with plugin can be avoided for auth for workers AI API
    
    * Update pnpm lockfile
    
    * Update after merging updates from main
    
    * Fix bad merge
    
    * Add E2E test
    
    * Ensure external workers are discriminated by user-worker name (fixing e.g. multiple workers in a multi-worker setup using an AI binding)
    
    * Remove no longer needed de-duping logic
    
    * Add images & vectorize to the playground
    
    * fix lockfile
    
    * Don't attach external worker for durable objects
    
    * Create green-ties-sit.md
    
    * Use workspace dep for Wrangler
    
    * Address comments
    
    * Support vite preview
    
    * work in preview
    
    * fix lokfile
    
    * Re-add peer dep
    
    * Update packages/vite-plugin-cloudflare/src/miniflare-options.ts
    
    Co-authored-by: James Opstad <13586373+jamesopstad@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Justin van der Merwe <justnvdm@gmail.com>
    Co-authored-by: Justin van der Merwe <justinvderm@gmail.com>
    Co-authored-by: James Opstad <13586373+jamesopstad@users.noreply.github.com>
    4 people authored Mar 6, 2025
    Copy the full SHA
    e3efd68 View commit details

Commits on Mar 7, 2025

  1. chore: graduate nuxt, gatsby, angular, vue templates (#8372)

    * graduate angular
    
    * graduate gatsby
    
    * graduate nuxt
    
    * changeset
    
    * remove brackets
    
    * graduate vue
    
    * update nitro config for nuxt
    
    * fix tests :(
    
    * update changeset
    
    * and pages too
    
    * add nuxt nitro changeset
    emily-shen authored Mar 7, 2025
    Copy the full SHA
    3536670 View commit details
  2. Copy the full SHA
    2044893 View commit details
  3. Workers Assets metafiles in asset-worker (#8279)

    * Tidy up response status codes
    
    * Update tsconfig for workers-shared
    
    * Move rules engine to workers-shared
    
    * Run asset-worker tests in workerd
    
    * Refactor asset-worker in preparation of metafiles
    
    * Headers support in asset-worker
    
    * Redirects support in asset-worker
    
    * Add changeset for headers and redirects in asset-worker
    
    * PR feedback
    GregBrimble authored Mar 7, 2025
    Copy the full SHA
    aba0e9c View commit details
  4. Copy the full SHA
    882b9c2 View commit details
  5. Workers Assets metafiles in wrangler dev (#8390)

    * Tidy up response status codes
    
    * Update tsconfig for workers-shared
    
    * Move rules engine to workers-shared
    
    * Run asset-worker tests in workerd
    
    * Refactor asset-worker in preparation of metafiles
    
    * Headers support in asset-worker
    
    * Redirects support in asset-worker
    
    * Add changeset for headers and redirects in asset-worker
    
    * PR feedback
    
    * Move headers and redirects parsers into workers-shared
    
    * Parse _headers and _redirects in wrangler dev
    
    * PR feedback
    GregBrimble authored Mar 7, 2025
    Copy the full SHA
    53e6323 View commit details
  6. fix: retry zone and route lookup API calls (#8392)

    * fix: retry zone and route lookup API calls
    
    In rare cases, looking up Zone or Route API calls may fail due to
    transient errors. This change improves the reliability of `wrangler
    deploy` when these errors occur.
    
    Also fixes a rare issue where concurrent API requests may fail without
    correctly throwing an error which may cause a deployment to incorrectly
    appear successful.
    
    * Add comments to Promise.all() calls
    jahands authored Mar 7, 2025
    Copy the full SHA
    4d9d9e6 View commit details
  7. Add CF-Cache-Status to Workers Assets (#8373)

    * Move util final op methods to a more appropriate place
    
    * Add CF-Cache-Status header to Workers Assets
    WalshyDev authored Mar 7, 2025
    Copy the full SHA
    08b8c46 View commit details

Commits on Mar 8, 2025

  1. Make kv bulk put --local respect base64:true (#8383)

    The bulk put api has an optional "base64" boolean property for each key.
    Before storing the key, the value should be decoded from base64.
    
    For real (remote) kv, this is handled by the rest api. For local kv, it
    seems the base64 field was ignored, meaning encoded base64 content was
    stored locally rather than the raw values.
    
    To fix, we need to decode each value before putting to the local
    miniflare namespace when base64 is true.
    matthewdavidrodgers authored Mar 8, 2025
    Copy the full SHA
    8d6d722 View commit details

Commits on Mar 10, 2025

  1. Copy the full SHA
    0dc4316 View commit details
  2. Copy the full SHA
    e5fd045 View commit details
  3. Copy the full SHA
    5e8e633 View commit details
  4. Copy the full SHA
    6fb582d View commit details
  5. test: add e2e tests of the build+preview use case (#8384)

    * test: add e2e tests of the build+preview use case
    
    * fixups: refactor tests to avoid boilerplate and make it easier to test all the combinations
    
    * Apply suggestions from code review
    
    Co-authored-by: James Opstad <13586373+jamesopstad@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: James Opstad <13586373+jamesopstad@users.noreply.github.com>
    petebacondarwin and jamesopstad authored Mar 10, 2025
    Copy the full SHA
    54c8094 View commit details
  6. Copy the full SHA
    73e2450 View commit details
  7. Copy the full SHA
    597255f View commit details
  8. Bump @cloudflare@unenv-preset to 2.0.2 (#8427)

    * add e2e test for pages deploy
    
    * fix test
    
    * update unenv-preset dependency to fix bug with Performance global
    
    Fixes #8407
    Fixes #8409
    Fixes #8411
    
    ---------
    
    Co-authored-by: Peter Bacon Darwin <pbacondarwin@cloudflare.com>
    vicb and petebacondarwin authored Mar 10, 2025
    Copy the full SHA
    a352798 View commit details

Commits on Mar 11, 2025

  1. chore: update changeset (#8439)

    Co-authored-by: emily-shen <69125074+emily-shen@users.noreply.github.com>
    edmundhung and emily-shen authored Mar 11, 2025
    Copy the full SHA
    513504c View commit details
  2. .gitignore stuff (#8440)

    * vite-plugin: add .gitignore update to README
    
    * c3: tighten up .gitignore processing
    petebacondarwin authored Mar 11, 2025
    Copy the full SHA
    af1c5c3 View commit details
  3. chore(deps): bump the workerd-and-workers-types group with 2 updates (#…

    …8423)
    
    * chore(deps): bump the workerd-and-workers-types group with 2 updates
    
    Bumps the workerd-and-workers-types group with 2 updates: [@cloudflare/workers-types](https://github.com/cloudflare/workerd) and [workerd](https://github.com/cloudflare/workerd).
    
    
    Updates `@cloudflare/workers-types` from 4.20250224.0 to 4.20250303.0
    - [Release notes](https://github.com/cloudflare/workerd/releases)
    - [Changelog](https://github.com/cloudflare/workerd/blob/main/Dockerfile.release)
    - [Commits](https://github.com/cloudflare/workerd/commits)
    
    Updates `workerd` from 1.20250224.0 to 1.20250303.0
    - [Release notes](https://github.com/cloudflare/workerd/releases)
    - [Changelog](https://github.com/cloudflare/workerd/blob/main/Dockerfile.release)
    - [Commits](cloudflare/workerd@v1.20250224.0...v1.20250303.0)
    
    ---
    updated-dependencies:
    - dependency-name: "@cloudflare/workers-types"
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: workerd-and-workers-types
    - dependency-name: workerd
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: workerd-and-workers-types
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    * chore: update dependencies of "miniflare" package
    
    The following dependency versions have been updated:
    
    | Dependency                | From          | To            |
    | ------------------------- | ------------- | ------------- |
    | workerd                   | 1.20250224.0  | 1.20250310.0  |
    | @cloudflare/workers-types | ^4.20250224.0 | ^4.20250310.0 |
    
    ---------
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Wrangler automated PR updater <wrangler@cloudflare.com>
    dependabot[bot] and Wrangler automated PR updater authored Mar 11, 2025
    Copy the full SHA
    8242e07 View commit details
  4. Try and make unstable dev dev registry more stable (#8429)

    Co-authored-by: emily-shen <69125074+emily-shen@users.noreply.github.com>
    penalosa and emily-shen authored Mar 11, 2025
    Copy the full SHA
    785c391 View commit details
  5. Version Packages (#8386)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    workers-devprod and github-actions[bot] authored Mar 11, 2025
    Copy the full SHA
    5109fdd View commit details
Showing with 5,832 additions and 2,186 deletions.
  1. +11 −1 .github/workflows/e2e.yml
  2. +1 −1 fixtures/additional-modules/package.json
  3. +1 −0 fixtures/asset-config/html-handling.test.ts
  4. +1 −1 fixtures/asset-config/package.json
  5. +1 −0 fixtures/asset-config/redirects.test.ts
  6. +2 −6 fixtures/asset-config/tsconfig.json
  7. +1 −0 fixtures/asset-config/url-normalization.test.ts
  8. +1 −1 fixtures/d1-worker-app/package.json
  9. +1 −1 fixtures/get-platform-proxy/package.json
  10. +1 −1 fixtures/local-mode-tests/package.json
  11. +1 −1 fixtures/node-app-pages/package.json
  12. +1 −1 fixtures/nodejs-als-app/package.json
  13. +1 −1 fixtures/nodejs-hybrid-app/package.json
  14. +1 −1 fixtures/pages-dev-proxy-with-script/package.json
  15. +1 −1 fixtures/pages-functions-app/package.json
  16. +1 −1 fixtures/pages-functions-with-routes-app/package.json
  17. +1 −1 fixtures/pages-plugin-mounted-on-root-app/package.json
  18. +1 −1 fixtures/pages-simple-assets/package.json
  19. +1 −1 fixtures/vitest-pool-workers-examples/package.json
  20. +1 −1 fixtures/worker-ts/package.json
  21. +65 −0 fixtures/workers-with-assets-and-service-bindings/README.md
  22. +21 −0 fixtures/workers-with-assets-and-service-bindings/package.json
  23. +247 −0 fixtures/workers-with-assets-and-service-bindings/tests/index.test.ts
  24. +7 −0 fixtures/workers-with-assets-and-service-bindings/tests/tsconfig.json
  25. +13 −0 fixtures/workers-with-assets-and-service-bindings/tsconfig.json
  26. +30 −0 fixtures/workers-with-assets-and-service-bindings/workerA/src/index.ts
  27. +27 −0 fixtures/workers-with-assets-and-service-bindings/workerA/src/workerB.util.ts
  28. +23 −0 fixtures/workers-with-assets-and-service-bindings/workerA/src/workerC.util.ts
  29. +22 −0 fixtures/workers-with-assets-and-service-bindings/workerA/src/workerD.util.ts
  30. +19 −0 fixtures/workers-with-assets-and-service-bindings/workerA/wrangler.toml
  31. +1 −0 fixtures/workers-with-assets-and-service-bindings/workerB-with-default-export/public/busy-bee.html
  32. +1 −0 fixtures/workers-with-assets-and-service-bindings/workerB-with-default-export/public/index.html
  33. +36 −0 fixtures/workers-with-assets-and-service-bindings/workerB-with-default-export/src/index.ts
  34. +7 −0 fixtures/workers-with-assets-and-service-bindings/workerB-with-default-export/wrangler.toml
  35. +1 −0 ...res/workers-with-assets-and-service-bindings/workerC-with-default-entrypoint/public/busy-bee.html
  36. +1 −0 fixtures/workers-with-assets-and-service-bindings/workerC-with-default-entrypoint/public/index.html
  37. +41 −0 fixtures/workers-with-assets-and-service-bindings/workerC-with-default-entrypoint/src/index.ts
  38. +7 −0 fixtures/workers-with-assets-and-service-bindings/workerC-with-default-entrypoint/wrangler.toml
  39. +1 −0 fixtures/workers-with-assets-and-service-bindings/workerD-with-named-entrypoint/public/busy-bee.html
  40. +1 −0 fixtures/workers-with-assets-and-service-bindings/workerD-with-named-entrypoint/public/index.html
  41. +35 −0 fixtures/workers-with-assets-and-service-bindings/workerD-with-named-entrypoint/src/index.ts
  42. +7 −0 fixtures/workers-with-assets-and-service-bindings/workerD-with-named-entrypoint/wrangler.toml
  43. +1 −1 fixtures/workers-with-assets-only/package.json
  44. +1 −1 fixtures/workers-with-assets-run-worker-first/package.json
  45. +2 −0 fixtures/workers-with-assets/.gitignore
  46. +1 −1 fixtures/workers-with-assets/README.md
  47. +1 −1 fixtures/workers-with-assets/package.json
  48. +1 −0 fixtures/workers-with-assets/public/.assetsignore
  49. +2 −0 fixtures/workers-with-assets/public/_headers
  50. +2 −0 fixtures/workers-with-assets/public/_redirects
  51. +1 −0 fixtures/workers-with-assets/public/_worker.js
  52. +1 −0 fixtures/workers-with-assets/public/bar.html
  53. +1 −0 fixtures/workers-with-assets/public/foo.html
  54. +1 −0 fixtures/workers-with-assets/public/ignore-me.txt
  55. +39 −1 fixtures/workers-with-assets/tests/index.test.ts
  56. +1 −1 fixtures/workflow-multiple/package.json
  57. +1 −1 fixtures/workflow/package.json
  58. +1 −1 package.json
  59. +30 −0 packages/create-cloudflare/CHANGELOG.md
  60. +2 −0 packages/create-cloudflare/e2e-tests/fixtures/astro/src/pages/test.ts
  61. +0 −90 packages/create-cloudflare/e2e-tests/frameworks/framework-test-config-experimental.ts
  62. +109 −8 packages/create-cloudflare/e2e-tests/frameworks/framework-test-config.ts
  63. +2 −2 packages/create-cloudflare/package.json
  64. +3 −3 packages/create-cloudflare/src/__tests__/templates.test.ts
  65. +8 −7 packages/create-cloudflare/src/helpers/__tests__/args.test.ts
  66. +14 −17 packages/create-cloudflare/src/templates.ts
  67. +2 −2 packages/create-cloudflare/templates-experimental/hello-world-with-assets/js/package.json
  68. +2 −2 packages/create-cloudflare/templates-experimental/hello-world-with-assets/ts/package.json
  69. +0 −10 packages/create-cloudflare/templates-experimental/vue/templates/wrangler.jsonc
  70. +5 −129 packages/create-cloudflare/templates/angular/c3.ts
  71. +134 −0 packages/create-cloudflare/templates/angular/pages/c3.ts
  72. 0 packages/create-cloudflare/templates/angular/{ → pages}/templates/src/_routes.json
  73. 0 ...ate-cloudflare/{templates-experimental/angular → templates/angular/pages}/templates/src/server.ts
  74. 0 packages/create-cloudflare/templates/angular/{ → pages}/templates/tools/copy-files.mjs
  75. +2 −2 packages/create-cloudflare/{templates-experimental/angular → templates/angular/workers}/c3.ts
  76. 0 packages/create-cloudflare/templates/angular/{ → workers}/templates/src/server.ts
  77. 0 ...-cloudflare/{templates-experimental/angular → templates/angular/workers}/templates/wrangler.jsonc
  78. +5 −45 packages/create-cloudflare/templates/gatsby/c3.ts
  79. +50 −0 packages/create-cloudflare/templates/gatsby/pages/c3.ts
  80. +2 −2 packages/create-cloudflare/{templates-experimental/gatsby → templates/gatsby/workers}/c3.ts
  81. 0 ...te-cloudflare/{templates-experimental/gatsby → templates/gatsby/workers}/templates/wrangler.jsonc
  82. +2 −2 packages/create-cloudflare/templates/hello-world/js/package.json
  83. +2 −2 packages/create-cloudflare/templates/hello-world/ts/package.json
  84. +5 −130 packages/create-cloudflare/templates/nuxt/c3.ts
  85. +145 −0 packages/create-cloudflare/templates/nuxt/pages/c3.ts
  86. 0 packages/create-cloudflare/{templates-experimental/nuxt → templates/nuxt/pages}/templates/env.d.ts
  87. 0 ...oudflare/{templates-experimental/nuxt → templates/nuxt/pages}/templates/worker-configuration.d.ts
  88. +0 −3 packages/create-cloudflare/templates/nuxt/{ → pages}/templates/wrangler.jsonc
  89. +12 −2 packages/create-cloudflare/{templates-experimental/nuxt → templates/nuxt/workers}/c3.ts
  90. 0 packages/create-cloudflare/templates/nuxt/{ → workers}/templates/env.d.ts
  91. 0 packages/create-cloudflare/templates/nuxt/{ → workers}/templates/worker-configuration.d.ts
  92. 0 ...create-cloudflare/{templates-experimental/nuxt → templates/nuxt/workers}/templates/wrangler.jsonc
  93. +5 −57 packages/create-cloudflare/templates/react/c3.ts
  94. +62 −0 packages/create-cloudflare/templates/react/pages/c3.ts
  95. +4 −3 packages/create-cloudflare/{templates-experimental/react → templates/react/workers}/c3.ts
  96. 0 packages/create-cloudflare/{templates-experimental/react → templates/react/workers}/js/api/index.js
  97. 0 packages/create-cloudflare/{templates-experimental/react → templates/react/workers}/js/src/App.jsx
  98. 0 ...dflare/{templates-experimental/react → templates/react/workers}/js/src/assets/Cloudflare_Logo.svg
  99. 0 ...flare/{templates-experimental/react/js/wrangler.json → templates/react/workers/js/wrangler.jsonc}
  100. +0 −4 packages/create-cloudflare/{templates-experimental/react → templates/react/workers}/ts/api/index.ts
  101. 0 packages/create-cloudflare/{templates-experimental/react → templates/react/workers}/ts/src/App.tsx
  102. 0 ...dflare/{templates-experimental/react → templates/react/workers}/ts/src/assets/Cloudflare_Logo.svg
  103. +1 −1 ...reate-cloudflare/{templates-experimental/react → templates/react/workers}/ts/tsconfig.worker.json
  104. +5 −0 packages/create-cloudflare/templates/react/workers/ts/worker-configuration.d.ts
  105. 0 ...flare/{templates-experimental/react/ts/wrangler.json → templates/react/workers/ts/wrangler.jsonc}
  106. +5 −25 packages/create-cloudflare/templates/vue/c3.ts
  107. +5 −8 packages/create-cloudflare/{templates-experimental/vue → templates/vue/pages}/c3.ts
  108. +98 −0 packages/create-cloudflare/templates/vue/workers/c3.ts
  109. +13 −0 packages/create-cloudflare/templates/vue/workers/js/server/index.js
  110. +107 −0 packages/create-cloudflare/templates/vue/workers/js/src/App.vue
  111. +47 −0 packages/create-cloudflare/templates/vue/workers/js/src/components/HelloWorld.vue
  112. +21 −0 packages/create-cloudflare/templates/vue/workers/js/vite.config.js
  113. +12 −0 packages/create-cloudflare/templates/vue/workers/js/wrangler.jsonc
  114. +13 −0 packages/create-cloudflare/templates/vue/workers/ts/server/index.ts
  115. +107 −0 packages/create-cloudflare/templates/vue/workers/ts/src/App.vue
  116. +44 −0 packages/create-cloudflare/templates/vue/workers/ts/src/components/HelloWorld.vue
  117. +8 −0 packages/create-cloudflare/templates/vue/workers/ts/tsconfig.worker.json
  118. +21 −0 packages/create-cloudflare/templates/vue/workers/ts/vite.config.ts
  119. +6 −0 packages/create-cloudflare/templates/vue/workers/ts/worker-configuration.d.ts
  120. +12 −0 packages/create-cloudflare/templates/vue/workers/ts/wrangler.jsonc
  121. +1 −1 packages/edge-preview-authenticated-proxy/package.json
  122. +1 −1 packages/format-errors/package.json
  123. +1 −1 packages/kv-asset-handler/package.json
  124. +15 −0 packages/miniflare/CHANGELOG.md
  125. +3 −3 packages/miniflare/package.json
  126. +73 −2 packages/miniflare/src/plugins/assets/index.ts
  127. +10 −0 packages/pages-shared/CHANGELOG.md
  128. +1 −1 packages/pages-shared/__tests__/asset-server/handler.test.ts
  129. +1 −1 packages/pages-shared/__tests__/metadata-generator/createMetadataObject.test.ts
  130. +4 −1 packages/pages-shared/asset-server/handler.ts
  131. +6 −160 packages/pages-shared/metadata-generator/createMetadataObject.ts
  132. +4 −47 packages/pages-shared/metadata-generator/types.ts
  133. +3 −2 packages/pages-shared/package.json
  134. +1 −1 packages/playground-preview-worker/package.json
  135. +1 −1 packages/prerelease-registry/package.json
  136. +1 −1 packages/quick-edit-extension/package.json
  137. +12 −0 packages/unenv-preset/CHANGELOG.md
  138. +3 −3 packages/unenv-preset/package.json
  139. +0 −1 packages/unenv-preset/src/preset.ts
  140. +0 −93 packages/unenv-preset/src/runtime/node/perf_hooks.ts
  141. +11 −0 packages/vite-plugin-cloudflare/CHANGELOG.md
  142. +9 −0 packages/vite-plugin-cloudflare/README.md
  143. +15 −0 packages/vite-plugin-cloudflare/e2e/basic.test.ts
  144. +24 −1 packages/vite-plugin-cloudflare/e2e/fixtures/basic/api/index.ts
  145. +4 −1 packages/vite-plugin-cloudflare/e2e/fixtures/basic/wrangler.toml
  146. +0 −1 packages/vite-plugin-cloudflare/e2e/vitest.config.ts
  147. +6 −6 packages/vite-plugin-cloudflare/package.json
  148. +2 −2 packages/vite-plugin-cloudflare/playground/cloudflare-env/package.json
  149. +2 −2 packages/vite-plugin-cloudflare/playground/custom-build-app/package.json
  150. +2 −2 packages/vite-plugin-cloudflare/playground/dev-vars/package.json
  151. +2 −2 packages/vite-plugin-cloudflare/playground/durable-objects/package.json
  152. +2 −2 packages/vite-plugin-cloudflare/playground/dynamic-import-paths/package.json
  153. +2 −2 packages/vite-plugin-cloudflare/playground/external-durable-objects/package.json
  154. +19 −0 packages/vite-plugin-cloudflare/playground/external-workers/package.json
  155. +95 −0 packages/vite-plugin-cloudflare/playground/external-workers/src/index.ts
  156. +7 −0 packages/vite-plugin-cloudflare/playground/external-workers/tsconfig.json
  157. +4 −0 packages/vite-plugin-cloudflare/playground/external-workers/tsconfig.node.json
  158. +4 −0 packages/vite-plugin-cloudflare/playground/external-workers/tsconfig.worker.json
  159. +9 −0 packages/vite-plugin-cloudflare/playground/external-workers/turbo.json
  160. +6 −0 packages/vite-plugin-cloudflare/playground/external-workers/vite.config.ts
  161. +13 −0 packages/vite-plugin-cloudflare/playground/external-workers/wrangler.toml
  162. +2 −2 packages/vite-plugin-cloudflare/playground/external-workflows/package.json
  163. +2 −2 packages/vite-plugin-cloudflare/playground/hot-channel/package.json
  164. +2 −2 packages/vite-plugin-cloudflare/playground/module-resolution/package.json
  165. +2 −2 packages/vite-plugin-cloudflare/playground/multi-worker/package.json
  166. +2 −2 packages/vite-plugin-cloudflare/playground/node-compat/package.json
  167. +2 −2 packages/vite-plugin-cloudflare/playground/partyserver/package.json
  168. +2 −2 packages/vite-plugin-cloudflare/playground/prisma/package.json
  169. +2 −2 packages/vite-plugin-cloudflare/playground/react-spa/package.json
  170. +2 −2 packages/vite-plugin-cloudflare/playground/same-worker-service-bindings/package.json
  171. +2 −2 packages/vite-plugin-cloudflare/playground/spa-with-api/package.json
  172. +2 −2 packages/vite-plugin-cloudflare/playground/static-mpa/package.json
  173. +2 −2 packages/vite-plugin-cloudflare/playground/virtual-modules/package.json
  174. +2 −2 packages/vite-plugin-cloudflare/playground/wasm/package.json
  175. +2 −2 packages/vite-plugin-cloudflare/playground/websockets/package.json
  176. +2 −2 packages/vite-plugin-cloudflare/playground/worker/package.json
  177. +2 −2 packages/vite-plugin-cloudflare/playground/workflows/package.json
  178. +83 −66 packages/vite-plugin-cloudflare/src/miniflare-options.ts
  179. +15 −0 packages/vitest-pool-workers/CHANGELOG.md
  180. +2 −2 packages/vitest-pool-workers/package.json
  181. +10 −0 packages/workers-shared/CHANGELOG.md
  182. +3 −0 packages/workers-shared/asset-worker/src/analytics.ts
  183. +9 −0 packages/workers-shared/asset-worker/src/configuration.ts
  184. +216 −55 packages/workers-shared/asset-worker/src/handler.ts
  185. +24 −58 packages/workers-shared/asset-worker/src/index.ts
  186. +41 −0 packages/workers-shared/asset-worker/src/utils/final-operations.ts
  187. +54 −1 packages/workers-shared/asset-worker/src/utils/headers.ts
  188. 0 ...pages-shared/asset-server/rulesEngine.ts → workers-shared/asset-worker/src/utils/rules-engine.ts}
  189. +2 −5 packages/workers-shared/asset-worker/tests/assets-manifest.test.ts
  190. +1,060 −33 packages/workers-shared/asset-worker/tests/handler.test.ts
  191. +1 −1 ...ests__/asset-server/rulesEngine.test.ts → workers-shared/asset-worker/tests/rules-engine.test.ts}
  192. +5 −1 packages/workers-shared/asset-worker/tests/tsconfig.json
  193. +4 −0 packages/workers-shared/asset-worker/tests/types.d.ts
  194. +12 −11 packages/workers-shared/asset-worker/vitest.config.mts
  195. +6 −4 packages/workers-shared/package.json
  196. +2 −2 packages/workers-shared/router-worker/src/index.ts
  197. +5 −4 packages/workers-shared/router-worker/tests/index.test.ts
  198. +2 −7 packages/workers-shared/router-worker/tests/tsconfig.json
  199. +0 −1 packages/workers-shared/tsconfig.json
  200. +13 −0 packages/workers-shared/utils/configuration/constants.ts
  201. +162 −0 packages/workers-shared/utils/configuration/constructConfiguration.ts
  202. 0 packages/{pages-shared/metadata-generator → workers-shared/utils/configuration}/parseHeaders.ts
  203. 0 packages/{pages-shared/metadata-generator → workers-shared/utils/configuration}/parseRedirects.ts
  204. +44 −0 packages/workers-shared/utils/configuration/types.ts
  205. 0 packages/{pages-shared/metadata-generator → workers-shared/utils/configuration}/validateURL.ts
  206. +4 −0 packages/workers-shared/utils/constants.ts
  207. +72 −1 packages/workers-shared/utils/helpers.ts
  208. +89 −6 packages/workers-shared/utils/responses.ts
  209. +10 −8 packages/{wrangler/src/__tests__/assets.test.ts → workers-shared/utils/tests/helpers.test.ts}
  210. +1 −1 ...es-shared/__tests__/metadata-generator → workers-shared/utils/tests}/parseHeaders.invalid.test.ts
  211. +1 −1 ...ages-shared/__tests__/metadata-generator → workers-shared/utils/tests}/parseHeaders.valid.test.ts
  212. +1 −1 ...-shared/__tests__/metadata-generator → workers-shared/utils/tests}/parseRedirects.invalid.test.ts
  213. +1 −1 ...es-shared/__tests__/metadata-generator → workers-shared/utils/tests}/parseRedirects.valid.test.ts
  214. +41 −0 packages/workers-shared/utils/types.ts
  215. +1 −1 packages/workers.new/package.json
  216. +3 −2 packages/workflows-shared/package.json
  217. +41 −0 packages/wrangler/CHANGELOG.md
  218. +714 −0 packages/wrangler/e2e/assets-multiworker.test.ts
  219. +14 −3 packages/wrangler/e2e/dev-registry.test.ts
  220. +52 −0 packages/wrangler/e2e/dev.test.ts
  221. +1 −2 packages/wrangler/e2e/get-platform-proxy.test.ts
  222. +0 −353 packages/wrangler/e2e/multiworker-dev.test.ts
  223. +51 −0 packages/wrangler/e2e/pages-deploy.test.ts
  224. +6 −7 packages/wrangler/package.json
  225. +19 −0 packages/wrangler/src/__tests__/kv.local.test.ts
  226. +87 −19 packages/wrangler/src/__tests__/r2.test.ts
  227. +10 −4 packages/wrangler/src/api/integrations/platform/index.ts
  228. +22 −43 packages/wrangler/src/assets.ts
  229. +37 −30 packages/wrangler/src/deploy/deploy.ts
  230. +6 −6 packages/wrangler/src/dev/miniflare.ts
  231. +5 −1 packages/wrangler/src/kv/index.ts
  232. +3 −3 packages/wrangler/src/miniflare-cli/assets.ts
  233. +22 −18 packages/wrangler/src/pages/upload.ts
  234. +4 −4 packages/wrangler/src/r2/helpers.ts
  235. +22 −19 packages/wrangler/src/r2/lifecycle.ts
  236. +24 −21 packages/wrangler/src/r2/lock.ts
  237. +1 −1 packages/wrangler/src/sites.ts
  238. +33 −24 packages/wrangler/src/triggers/deploy.ts
  239. +5 −34 packages/wrangler/src/utils/filesystem.ts
  240. +10 −7 packages/wrangler/src/zones.ts
  241. +400 −353 pnpm-lock.yaml
  242. +0 −2 pnpm-workspace.yaml
12 changes: 11 additions & 1 deletion .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -40,7 +40,17 @@ jobs:
NODE_ENV: "production"
CI_OS: ${{ runner.os }}

- name: Run tests
- name: Run Vite E2E tests
run: pnpm test:e2e -F @cloudflare/vite-plugin
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.TEST_CLOUDFLARE_ACCOUNT_ID }}
NODE_OPTIONS: "--max_old_space_size=8192"
WRANGLER_LOG_PATH: ${{ runner.temp }}/wrangler-debug-logs/
TEST_REPORT_PATH: ${{ runner.temp }}/test-report/index.html
CI_OS: ${{ matrix.os }}

- name: Run Wrangler E2E tests
run: pnpm run test:e2e:wrangler
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CLOUDFLARE_API_TOKEN }}
2 changes: 1 addition & 1 deletion fixtures/additional-modules/package.json
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
1 change: 1 addition & 0 deletions fixtures/asset-config/html-handling.test.ts
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ const existsMock = (fileList: Set<string>) => {
if (fileList.has(pathname)) {
return pathname;
}
return null;
}
);
};
2 changes: 1 addition & 1 deletion fixtures/asset-config/package.json
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
"devDependencies": {
"@cloudflare/vitest-pool-workers": "workspace:*",
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"run-script-os": "^1.1.6",
"typescript": "catalog:default",
"undici": "catalog:default",
1 change: 1 addition & 0 deletions fixtures/asset-config/redirects.test.ts
Original file line number Diff line number Diff line change
@@ -15,6 +15,7 @@ const existsMock = (fileList: Set<string>) => {
if (fileList.has(pathname)) {
return pathname;
}
return null;
}
);
};
8 changes: 2 additions & 6 deletions fixtures/asset-config/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
{
"extends": "@cloudflare/workers-tsconfig/tsconfig.json",
"compilerOptions": {
"target": "ES2020",
"module": "ES2020",
"lib": ["ES2020"],
"types": [
"@cloudflare/workers-types/experimental",
"@cloudflare/vitest-pool-workers"
],
"moduleResolution": "bundler",
"noEmit": true,
"skipLibCheck": true
"moduleResolution": "bundler"
},
"include": ["**/*.ts"]
}
1 change: 1 addition & 0 deletions fixtures/asset-config/url-normalization.test.ts
Original file line number Diff line number Diff line change
@@ -15,6 +15,7 @@ const existsMock = (fileList: Set<string>) => {
if (fileList.has(pathname)) {
return pathname;
}
return null;
}
);
};
2 changes: 1 addition & 1 deletion fixtures/d1-worker-app/package.json
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/get-platform-proxy/package.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/local-mode-tests/package.json
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"@types/node": "catalog:default",
"buffer": "^6.0.3",
"typescript": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/node-app-pages/package.json
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/nodejs-als-app/package.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"undici": "catalog:default",
"vitest": "catalog:default",
"wrangler": "workspace:*"
2 changes: 1 addition & 1 deletion fixtures/nodejs-hybrid-app/package.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"@types/pg": "^8.11.2",
"pg": "8.11.3",
"pg-cloudflare": "^1.1.1",
2 changes: 1 addition & 1 deletion fixtures/pages-dev-proxy-with-script/package.json
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/pages-functions-app/package.json
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"pages-plugin-example": "workspace:*",
"typescript": "catalog:default",
"undici": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/pages-functions-with-routes-app/package.json
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/pages-plugin-mounted-on-root-app/package.json
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"pages-plugin-example": "workspace:*",
"typescript": "catalog:default",
"undici": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/pages-simple-assets/package.json
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
2 changes: 1 addition & 1 deletion fixtures/vitest-pool-workers-examples/package.json
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
},
"devDependencies": {
"@cloudflare/vitest-pool-workers": "workspace:*",
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"@microlabs/otel-cf-workers": "1.0.0-rc.45",
"@types/node": "catalog:default",
"discord-api-types": "0.37.98",
2 changes: 1 addition & 1 deletion fixtures/worker-ts/package.json
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
"start": "wrangler dev"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20250224.0",
"@cloudflare/workers-types": "^4.20250310.0",
"wrangler": "workspace:*"
},
"volta": {
65 changes: 65 additions & 0 deletions fixtures/workers-with-assets-and-service-bindings/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# workers-with-assets-and-service-bindings

`workers-with-assets-and-service-bindings` is a test fixture that showcases [Service Bindings](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/) between a Worker and a [Worker with assets](https://developers.cloudflare.com/workers/static-assets/).

The fixture sets up multiple Workers:

- `worker-A` ➔ a regular Worker without assets
- `worker-B` ➔ a Worker with assets, that exports a default object

```
export default {
async fetch() {}
}
```

- `worker-C` ➔ a Worker with assets, that exports a default entrypoint

```
export default class extends WorkerEntrypoint {
async fetch(){}
}
```

- `worker-D` ➔ a Worker with assets, that exports a named entrypoint

```
export class EntrypointD extends WokrerEntrypoint {}
```

and configures service bindings between `worker-A` and all other Workers:

```
## workerA/wrangler.toml
# service binding to Worker that exports a default object
[[services]]
binding = "DEFAULT_EXPORT"
service = "worker-b"
# service binding to Worker that exports a default entrypoint
[[services]]
binding = "DEFAULT_ENTRYPOINT"
service = "worker-c"
# service binding to Worker that exports a named entrypoint
[[services]]
binding = "NAMED_ENTRYPOINT"
service = "worker-d"
entrypoint = "EntrypointD"
```

## dev

To start a dev session for each Worker individually, run:

```
cd <worker_directory>
wrangler dev
```

## Run tests

```
npm run test:ci
```
21 changes: 21 additions & 0 deletions fixtures/workers-with-assets-and-service-bindings/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "workers-with-assets-and-service-bindings",
"private": true,
"scripts": {
"dev": "wrangler dev",
"test:ci": "vitest run",
"test:watch": "vitest",
"type:tests": "tsc -p ./tests/tsconfig.json"
},
"devDependencies": {
"@cloudflare/workers-tsconfig": "workspace:*",
"@cloudflare/workers-types": "^4.20250310.0",
"typescript": "catalog:default",
"undici": "catalog:default",
"vitest": "catalog:default",
"wrangler": "workspace:*"
},
"volta": {
"extends": "../../package.json"
}
}
Loading