Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
08762e7
Added initial binding type aggregation fix
NuroDev Jan 13, 2026
14d9cc6
Minor refactoring
NuroDev Jan 13, 2026
7b808e3
Added aggregate binding types changeset
NuroDev Jan 13, 2026
0515626
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 13, 2026
b60b211
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 13, 2026
d997d61
temporarily disable media binding test (#11900)
emily-shen Jan 13, 2026
40fbf58
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 13, 2026
e1f2631
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 13, 2026
2e2d8e9
Updated changeset description
NuroDev Jan 14, 2026
bf50d2b
Added JSDoc description to `generateEnvTypes`
NuroDev Jan 14, 2026
f9e3d6a
Minor type generation refactoring
NuroDev Jan 14, 2026
40b0744
Minor `collectEnvironmentVars` refactoring
NuroDev Jan 14, 2026
caec5da
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 14, 2026
f061090
Added `getEnvConfig` helper to handle environment config validation
NuroDev Jan 15, 2026
ca229a5
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 15, 2026
103bec4
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 15, 2026
ad03968
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 15, 2026
259614a
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 16, 2026
c6540f6
Minor `generateEnvTypes` refactoring
NuroDev Jan 16, 2026
a41f708
Removed optional syntax from JSDoc parameters
NuroDev Jan 16, 2026
4bcb2e9
Renamed `collectAllBindings` to `collectCoreBindings`
NuroDev Jan 16, 2026
c0387ba
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 16, 2026
2a346ca
Fixed CI test inline snapshots
NuroDev Jan 16, 2026
7a1733a
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 17, 2026
65784fd
Fixed invalid config parsing errors
NuroDev Jan 19, 2026
6394f51
Minor refactoring
NuroDev Jan 19, 2026
8e70f40
Added basic unit tests for `throwMissingBindingError`
NuroDev Jan 19, 2026
24958b2
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 19, 2026
3cfe3a6
Overhauled binding type aggregation logic + added scoped environment …
NuroDev Jan 20, 2026
a4ecf12
Added changeset
NuroDev Jan 20, 2026
71a81d3
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 20, 2026
626caf9
Minor type generation test cleanup
NuroDev Jan 20, 2026
43cd235
Minor type generation test cleanup
NuroDev Jan 20, 2026
90d268b
Minor JSDoc tweaks
NuroDev Jan 20, 2026
90693e8
Minor type generation logic cleanup
NuroDev Jan 20, 2026
94e549a
Minor refactoring test fixes
NuroDev Jan 20, 2026
07bad81
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 20, 2026
7c14aec
Merge branch 'main' into NuroDev/aggregate-binding-env-types
NuroDev Jan 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .changeset/tall-hairs-send.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"wrangler": minor
---

`wrangler types` now generates per-environment TypeScript interfaces when named environments exist in your configuration.

When your configuration has named environments (an `env` object), `wrangler types` now generates both:

- **Per-environment interfaces** (e.g., `StagingEnv`, `ProductionEnv`) containing only the bindings explicitly declared in each environment, plus inherited secrets
- **An aggregated `Env` interface** with all bindings from all environments (top-level + named environments), where:
- Bindings present in **all** environments are required
- Bindings not present in all environments are optional
- Secrets are always required (since they're inherited everywhere)
- Conflicting binding types across environments produce union types (e.g., `KVNamespace | R2Bucket`)

However, if your config does not contain any environments, or you manually specify an environment via `--env`, `wrangler types` will continue to generate a single interface as before.
Loading
Loading