chore(deps): update devdependency wrangler to v4 - autoclosed #24
+164
−190
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^3.114.1
->^4.0.0
Release Notes
cloudflare/workers-sdk (wrangler)
v4.0.0
Compare Source
Major Changes
#7334
869ec7b
Thanks @penalosa! - Use--local
by default forwrangler kv key
andwrangler r2 object
commands#7334
869ec7b
Thanks @dario-piotrowicz! - chore: remove deprecatedgetBindingsProxy
remove the deprecated
getBindingsProxy
utility which has been replaced withgetPlatformProxy
#7334
869ec7b
Thanks @penalosa! - Remove the deprecated--format
argument onwrangler deploy
andwrangler dev
.Remove deprecated config fields:
type
webpack_config
miniflare
build.upload
zone_id
usage_model
experimental_services
kv-namespaces
#7334
869ec7b
Thanks @rozenmd! - Removewrangler d1 backups
This change removes
wrangler d1 backups
, a set of alpha-only commands that would allow folks to interact with backups of their D1 alpha DBs.For production D1 DBs, you can restore previous versions of your database with
wrangler d1 time-travel
and export it at any time withwrangler d1 export
.Closes #7470
#7334
869ec7b
Thanks @rozenmd! - Remove--batch-size
as an option forwrangler d1 execute
andwrangler d1 migrations apply
This change removes the deprecated
--batch-size
flag, as it is no longer necessary to decrease the number of queries wrangler sends to D1.Closes #7470
#7334
869ec7b
Thanks @rozenmd! - Remove alpha support fromwrangler d1 migrations apply
This change removes code that would take a backup of D1 alpha databases before proceeding with applying a migration.
We can remove this code as alpha DBs have not accepted queries in months.
Closes #7470
#7334
869ec7b
Thanks @penalosa! - Remove the deprecatedwrangler generate
command. Instead, use the C3 CLI to create new projects: https://developers.cloudflare.com/pages/get-started/c3/#7334
869ec7b
Thanks @penalosa! - Remove the deprecatedwrangler init --no-delegate-c3
command.wrangler init
is still available, but will always delegate to C3.#7334
869ec7b
Thanks @penalosa! - Remove support for legacy assets.This removes support for legacy assets using the
--legacy-assets
flag orlegacy_assets
config field. Instead, you should use Workers Assets#7334
869ec7b
Thanks @penalosa! - Remove the deprecatedwrangler publish
command. Instead, usewrangler deploy
, which takes exactly the same arguments.Additionally, remove the following deprecated commands, which are no longer supported.
wrangler config
wrangler preview
wrangler route
wrangler subdomain
Remove the following deprecated command aliases:
wrangler secret:*
, replaced bywrangler secret *
wrangler kv:*
, replaced bywrangler kv *
#7334
869ec7b
Thanks @penalosa! - Remove the deprecatedwrangler version
command. Instead, usewrangler --version
to check the current version of Wrangler.#7334
869ec7b
Thanks @penalosa! - The--node-compat
flag andnode_compat
config properties are no longer supported as of Wrangler v4. Instead, use thenodejs_compat
compatibility flag. This includes the functionality from legacynode_compat
polyfills and natively implemented Node.js APIs. See https://developers.cloudflare.com/workers/runtime-apis/nodejs for more information.If you need to replicate the behaviour of the legacy
node_compat
feature, refer to https://developers.cloudflare.com/workers/wrangler/migration/update-v3-to-v4/ for a detailed guide.#7334
869ec7b
Thanks @threepointone! - chore: update esbuildThis patch updates esbuild from 0.17.19 to 0.24.2. That's a big bump! Lots has gone into esbuild since May '23. All the details are available at https://github.com/evanw/esbuild/blob/main/CHANGELOG.md / https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md.
We now support all modern JavasScript/TypeScript features suported by esbuild (as of December 2024). New additions include standard decorators, auto-accessors, and the
using
syntax.0.18 introduced wider support for configuration specified via
tsconfig.json
https://github.com/evanw/esbuild/issues/3019. After observing the (lack of) any actual broken code over the last year for this release, we feel comfortable releasing this without considering it a breaking change.0.19.3 introduced support for import attributes
While we don't currently expose the esbuild configuration for developers to add their own plugins to customise how modules with import attributes are bundled, we may introduce new "types" ourselves in the future.
0.19.0 introduced support for wildcard imports. Specifics here (https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md#0190). tl;dr -
These 2 patterns will bundle all files that match the glob pattern into a single file.
This pattern will NOT bundle any matching patterns:
You can use
find_additional_modules
to bundle any additional modules that are not referenced in the code but are required by the project.Now, this MAY be a breaking change for some. Specifically, if you were previously using the pattern (that will now include all files matching the glob pattern in the bundle), BUT
find_additional_modules
was NOT configured to include some files, those files would now be included in the bundle. For example, consider this code:Imagine if in that folder, you had these 3 files:
And your
wrangler.toml
was:Before this update:
http://localhost:8787/
would error. For example, a request tohttp://localhost:8787/one.js
would error with No such module "one.js".wrangler.toml
to include all.js
files in thesrc
folder:Now, a request to
http://localhost:8787/one.js
would return the contents ofsrc/one.js
, but a request tohttp://localhost:8787/hidden/secret.js
would error with No such module "hidden/secret.js". To include this file, you could expand therules
array to be:Then, a request to
http://localhost:8787/hidden/secret.js
will return the contents ofsrc/hidden/secret.js
.After this update:
Now, a request to
http://localhost:8787/one.js
will return the contents ofsrc/one.js
, but a request tohttp://localhost:8787/hidden/secret.js
will ALSO return the contents ofsrc/hidden/secret.js
. THIS MAY NOT BE WHAT YOU WANT. You can "fix" this in 2 ways:Now, no extra modules are included in the bundle, and a request to
http://localhost:8787/hidden/secret.js
will throw an error. You can use thefind_additional_modules
feature to include it again.Further, there may be some files that aren't modules (js/ts/wasm/text/binary/etc) that are in the folder being included (For example, a
photo.jpg
file). This pattern will now attempt to include them in the bundle, and throw an error. It will look like this:[ERROR] No loader is configured for ".png" files: src/photo.jpg
To fix this, simply move the offending file to a different folder.
In general, we DO NOT recommend using the wildcard import pattern. If done wrong, it can leak files into your bundle that you don't want, or make your worker slightly slower to start. If you must use it (either with a wildcard import pattern or with
find_additional_modules
) you must be diligent to check that your worker is working as expected and that you are not leaking files into your bundle that you don't want. You can configure eslint to disallow dynamic imports like this:#7334
869ec7b
Thanks @pmiguel! - Remove worker name prefix from KV namespace createWhen running
wrangler kv namespace create <name>
, previously the name of the namespace was automatically prefixed with the worker title, orworker-
when running outside the context of a worker.After this change, KV namespaces will no longer get prefixed, and the name used is the name supplied, verbatim.
#7334
869ec7b
Thanks @penalosa! - Packages in Workers SDK now support the versions of Node that Node itself supports (Current, Active, Maintenance). Currently, that includes Node v18, v20, and v22.Minor Changes
#7334
869ec7b
Thanks @emily-shen! - Include runtime types in the output ofwrangler types
by defaultwrangler types
will now produce one file that contains bothEnv
types and runtime types based on your compatibility date and flags. This is located atworker-configuration.d.ts
by default.This behaviour was previously gated behind
--experimental-include-runtime
. That flag is no longer necessary and has been removed. It has been replaced by--include-runtime
and--include-env
, both of which are set totrue
by default. If you were previously using--x-include-runtime
, you can drop that flag and remove the separateruntime.d.ts
file.If you were previously using
@cloudflare/workers-types
we recommend you run uninstall (e.g.npm uninstall @​cloudflare/workers-types
) and runwrangler types
instead. Note that@cloudflare/workers-types
will continue to be published.#7334
869ec7b
Thanks @penalosa! - feat: prompt users to rerunwrangler types
duringwrangler dev
If a generated types file is found at the default output location of
wrangler types
(worker-configuration.d.ts
), remind users to rerunwrangler types
if it looks like they're out of date.Patch Changes
869ec7b
,869ec7b
]:Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.