Skip to content

[wrangler] Add local Flagship development commands - #15329

Merged
NuroDev merged 1 commit into
cloudflare:mainfrom
akshitsinha:asinha/flagship-wrangler
Sep 18, 2026
Merged

NuroDev merged 1 commit into
cloudflare:mainfrom
akshitsinha:asinha/flagship-wrangler

Conversation

@akshitsinha

@akshitsinha akshitsinha commented Aug 24, 2026 •

Copy link
Copy Markdown
Member

Second PR in the stacked Flagship local-development series. Depends on #15268 and is followed by #15330.

Summary

  • Uses the Miniflare Flagship store by default during local development.
  • Adds wrangler flagship flags pull <APP_ID> and local flag-management commands.
  • Preserves remote development through the binding dev.remote option.
  • Reports whether each Flagship binding is local or remote.

Tests

  • Tests included/updated
  • Automated tests not possible - manual testing has been completed as follows:
  • Additional testing not necessary because:

Public documentation

@changeset-bot

changeset-bot Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8a29f8b

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

This PR includes changesets to release 10 packages
Name Type
@cloudflare/vite-plugin Minor
@cloudflare/workers-utils Patch
wrangler Minor
@cloudflare/autoconfig Patch
@cloudflare/cli-shared-helpers Patch
@cloudflare/containers-shared Patch
@cloudflare/deploy-helpers Patch
@cloudflare/remote-bindings Patch
@cloudflare/vitest-plugin Patch
@cloudflare/workers-auth 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

@github-project-automation github-project-automation Bot moved this to Untriaged in workers-sdk Aug 24, 2026
@workers-devprod
workers-devprod requested review from a team and jamesopstad and removed request for a team August 24, 2026 06:49
@workers-devprod

Copy link
Copy Markdown
Contributor

Codeowners approval required for this PR:

  • @cloudflare/wrangler
Show detailed file reviewers
  • .changeset/local-flagship-runtime.md: [@cloudflare/wrangler]
  • .changeset/local-flagship-wrangler.md: [@cloudflare/wrangler]
  • fixtures/worker-with-resources/wrangler.jsonc: [@cloudflare/wrangler]
  • packages/config/src/bindings.ts: [@cloudflare/wrangler]
  • packages/deploy-helpers/src/deploy/helpers/print-bindings.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/index.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/plugins/flagship/index.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/workers/flagship/admin.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/workers/flagship/binding.worker.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/workers/flagship/constants.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/workers/flagship/evaluate.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/workers/flagship/flags.ts: [@cloudflare/wrangler]
  • packages/miniflare/src/workers/flagship/object.worker.ts: [@cloudflare/wrangler]
  • packages/miniflare/test/plugins/flagship/evaluate.spec.ts: [@cloudflare/wrangler]
  • packages/miniflare/test/plugins/flagship/index.spec.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/binding-local-support.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/environment.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/dev/remote-bindings.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/dev/start-dev.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/flagship.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/print-bindings.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/dev/miniflare/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/dev/start-dev.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/client.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/create.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/delete.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/enable.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/evaluate.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/get.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/list.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/pull.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rollout.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/delete.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/list.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/reorder.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/update.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/set.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/split.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/update.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/local.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/render.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/store.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/index.ts: [@cloudflare/wrangler]

@pkg-pr-new

pkg-pr-new Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
@cloudflare/autoconfig

npm i https://pkg.pr.new/@cloudflare/autoconfig@15329

@cloudflare/build-output-utils

npm i https://pkg.pr.new/@cloudflare/build-output-utils@15329

@cloudflare/codemods

npm i https://pkg.pr.new/@cloudflare/codemods@15329

@cloudflare/config

npm i https://pkg.pr.new/@cloudflare/config@15329

@cloudflare/containers-shared

npm i https://pkg.pr.new/@cloudflare/containers-shared@15329

create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@15329

@cloudflare/deploy-helpers

npm i https://pkg.pr.new/@cloudflare/deploy-helpers@15329

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@15329

miniflare

npm i https://pkg.pr.new/miniflare@15329

@cloudflare/pages-functions

npm i https://pkg.pr.new/@cloudflare/pages-functions@15329

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@15329

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@15329

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@15329

@cloudflare/vitest-plugin

npm i https://pkg.pr.new/@cloudflare/vitest-plugin@15329

@cloudflare/workers-auth

npm i https://pkg.pr.new/@cloudflare/workers-auth@15329

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@15329

@cloudflare/workers-utils

npm i https://pkg.pr.new/@cloudflare/workers-utils@15329

wrangler

npm i https://pkg.pr.new/wrangler@15329

commit: 8a29f8b

@akshitsinha
akshitsinha marked this pull request as draft August 24, 2026 07:08
@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch 5 times, most recently from edb1df4 to 397fe89 Compare September 1, 2026 07:05
@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch 5 times, most recently from 8f32f03 to 4b7e81d Compare September 10, 2026 05:54
@akshitsinha
akshitsinha marked this pull request as ready for review September 10, 2026 05:56
@workers-devprod

workers-devprod commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Codeowners approval required for this PR:

  • @cloudflare/wrangler
Show detailed file reviewers
  • .changeset/local-flagship-wrangler.md: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/binding-local-support.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/config/environment.ts: [@cloudflare/wrangler]
  • packages/workers-utils/src/print-bindings.ts: [@cloudflare/wrangler]
  • packages/workers-utils/tests/config/binding-local-support.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/dev/remote-bindings.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/flagship.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/print-bindings.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/dev/miniflare/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/client.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/create.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/delete.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/enable.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/evaluate.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/get.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/list.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/pull.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rollout.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/delete.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/list.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/reorder.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/rules/update.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/set.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/split.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/flags/update.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/render.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/flagship/store.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/index.ts: [@cloudflare/wrangler]

devin-ai-integration[bot]

This comment was marked as resolved.

@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch from 4b7e81d to f5ea40f Compare September 10, 2026 06:42
devin-ai-integration[bot]

This comment was marked as resolved.

@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch from f5ea40f to 51a6d23 Compare September 10, 2026 06:56
devin-ai-integration[bot]

This comment was marked as resolved.

@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch from 51a6d23 to 3dae6bf Compare September 10, 2026 07:47
devin-ai-integration[bot]

This comment was marked as resolved.

@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch 2 times, most recently from 8a5348f to cda1993 Compare September 10, 2026 11:04
@akshitsinha
akshitsinha force-pushed the asinha/flagship-wrangler branch from cda1993 to 8a29f8b Compare September 15, 2026 07:39
@workers-devprod

workers-devprod commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

Codeowners approval required for this PR:

  • ✅ @cloudflare/wrangler
Show detailed file reviewers

@jamesopstad
jamesopstad requested review from NuroDev and removed request for jamesopstad September 15, 2026 13:43
@petebacondarwin petebacondarwin added this to the Birthday Week 2026 milestone Sep 16, 2026

@petebacondarwin petebacondarwin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice PR!

@workers-devprod workers-devprod left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codeowners reviews satisfied

@github-project-automation github-project-automation Bot moved this from Untriaged to Approved in workers-sdk Sep 16, 2026
@NuroDev

NuroDev commented Sep 17, 2026

Copy link
Copy Markdown
Member

@akshitsinha am I good to merge this or are you still waiting on any other PR's first?

@akshitsinha

Copy link
Copy Markdown
Member Author

@akshitsinha am I good to merge this or are you still waiting on any other PR's first?

Yeah, we can merge this. #15330 can be reviewed and merged later.

@NuroDev
NuroDev merged commit c4c9b75 into cloudflare:main Sep 18, 2026
57 checks passed
@github-project-automation github-project-automation Bot moved this from Approved to Done in workers-sdk Sep 18, 2026
brandhaug added a commit to brandhaug/b2b-saas-starter that referenced this pull request Sep 21, 2026
## Dependency Updates

| Package | From | To | Type |
| --- | --- | --- | --- |
| `wrangler` | 4.134.0 | 4.135.0 | minor |

## Release Notes

<details>
<summary><b>wrangler</b> (4.134.0 → 4.135.0)</summary>

### Minor Changes

- [#15609](cloudflare/workers-sdk#15609)
[`1f070c8`](cloudflare/workers-sdk@1f070c8)
Thanks [@<!---->emily-shen](https://github.com/emily-shen)! - Build
Containers when emitting experimental Build Output

Wrangler and the Cloudflare Vite plugin now build Dockerfile-backed
Container images when experimental Build Output is enabled. Container
configs are emitted under `.cloudflare/output/v0/containers` with local
image references, while existing registry references pass through
unchanged.

- [#15329](cloudflare/workers-sdk#15329)
[`c4c9b75`](cloudflare/workers-sdk@c4c9b75)
Thanks [@<!---->akshitsinha](https://github.com/akshitsinha)! - Evaluate
Flagship flags locally during development

Flagship bindings now use the local Miniflare store by default in
Wrangler and the Vite plugin, keeping development offline and isolated
from production flags. Set `remote: true` on a binding to continue using
its remote app.

Use `wrangler flagship flags pull <APP_ID>` to seed the store from a
remote app. Flag management commands also accept `--local` to read and
update the local store directly.

- [#15701](cloudflare/workers-sdk#15701)
[`643e5cc`](cloudflare/workers-sdk@643e5cc)
Thanks [@<!---->WillTaylorDev](https://github.com/WillTaylorDev)! - Pass
Preview intent to `defineWorker` and upload its resolved configuration

Preview builds now evaluate programmatic Worker configuration with
`ctx.isPreview` set to `true` and record that intent in Build Output.
The shared Preview uploader deploys the resolved bindings and settings
while preserving configured Preview base values when it creates a
Preview.

### Patch Changes

- [#15705](cloudflare/workers-sdk#15705)
[`a0485d5`](https://github.com/cloudflare/workers-sd

…[full
notes](https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.135.0)

</details>

---
*This PR was auto-generated by
[catalog-update-action](https://github.com/brandhaug/catalog-update-action).*

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
brandhaug added a commit to brandhaug/b2b-saas-starter that referenced this pull request Sep 22, 2026
## pnpm-workspace.yaml (default)

## Dependency Updates

| Package | From | To | Type |
| --- | --- | --- | --- |
| `wrangler` | 4.134.0 | 4.135.0 | minor |

## Release Notes

<details>
<summary><b>wrangler</b> (4.134.0 → 4.135.0)</summary>

### Minor Changes

- [#15609](cloudflare/workers-sdk#15609)
[`1f070c8`](cloudflare/workers-sdk@1f070c8)
Thanks [@<!---->emily-shen](https://github.com/emily-shen)! - Build
Containers when emitting experimental Build Output

Wrangler and the Cloudflare Vite plugin now build Dockerfile-backed
Container images when experimental Build Output is enabled. Container
configs are emitted under `.cloudflare/output/v0/containers` with local
image references, while existing registry references pass through
unchanged.

- [#15329](cloudflare/workers-sdk#15329)
[`c4c9b75`](cloudflare/workers-sdk@c4c9b75)
Thanks [@<!---->akshitsinha](https://github.com/akshitsinha)! - Evaluate
Flagship flags locally during development

Flagship bindings now use the local Miniflare store by default in
Wrangler and the Vite plugin, keeping development offline and isolated
from production flags. Set `remote: true` on a binding to continue using
its remote app.

Use `wrangler flagship flags pull <APP_ID>` to seed the store from a
remote app. Flag management commands also accept `--local` to read and
update the local store directly.

- [#15701](cloudflare/workers-sdk#15701)
[`643e5cc`](cloudflare/workers-sdk@643e5cc)
Thanks [@<!---->WillTaylorDev](https://github.com/WillTaylorDev)! - Pass
Preview intent to `defineWorker` and upload its resolved configuration

Preview builds now evaluate programmatic Worker configuration with
`ctx.isPreview` set to `true` and record that intent in Build Output.
The shared Preview uploader deploys the resolved bindings and settings
while preserving configured Preview base values when it creates a
Preview.

### Patch Changes

- [#15705](cloudflare/workers-sdk#15705)
[`a0485d5`](https://github.com/cloudflare/workers-sd

…[full
notes](https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.135.0)

</details>

---
*This PR was auto-generated by
[catalog-update-action](https://github.com/brandhaug/catalog-update-action).*

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants