Setting find_additional_modules to true in your configuration file will now instruct Wrangler to look for files in
your base_dir that match your configured rules, and deploy them as unbundled, external modules with your Worker.
base_dir defaults to the directory containing your main entrypoint.
Wrangler can operate in two modes: the default bundling mode and --no-bundle mode. In bundling mode, dynamic imports
(e.g. await import("./large-dep.mjs")) would be bundled into your entrypoint, making lazy loading less effective.
Additionally, variable dynamic imports (e.g. await import(`./lang/${language}.mjs`)) would always fail at runtime,
as Wrangler would have no way of knowing which modules to upload. The --no-bundle mode sought to address these issues
by disabling Wrangler's bundling entirely, and just deploying code as is. Unfortunately, this also disabled Wrangler's
code transformations (e.g. TypeScript compilation, --assets, --test-scheduled, etc).
With this change, we now additionally support partial bundling. Files are bundled into a single Worker entry-point file
unless find_additional_modules is true, and the file matches one of the configured rules. See
https://developers.cloudflare.com/workers/wrangler/bundling/ for more details and examples.
When using find_additional_modules (or no_bundle) we find files that
will be uploaded to be deployed alongside the Worker.
Previously, if an outDir was specified, only the Worker code was output
to this directory. Now all additional modules are also output there too.
#406731270711 Thanks @mrbbot! - fix: generate valid source maps with wrangler pages dev on macOS
On macOS, wrangler pages dev previously generated source maps with an
incorrect number of ../s in relative paths. This change ensures paths are
always correct, improving support for breakpoint debugging.
#40849a7559b6 Thanks @RamIdeas! - fix: respect the options.local value in unstable_dev (it was being ignored)
Setting find_additional_modules to true in your configuration file will now instruct Wrangler to look for files in
your base_dir that match your configured rules, and deploy them as unbundled, external modules with your Worker.
base_dir defaults to the directory containing your main entrypoint.
Wrangler can operate in two modes: the default bundling mode and --no-bundle mode. In bundling mode, dynamic imports
(e.g. await import("./large-dep.mjs")) would be bundled into your entrypoint, making lazy loading less effective.
Additionally, variable dynamic imports (e.g. await import(`./lang/${language}.mjs`)) would always fail at runtime,
as Wrangler would have no way of knowing which modules to upload. The --no-bundle mode sought to address these issues
by disabling Wrangler's bundling entirely, and just deploying code as is. Unfortunately, this also disabled Wrangler's
code transformations (e.g. TypeScript compilation, --assets, --test-scheduled, etc).
With this change, we now additionally support partial bundling. Files are bundled into a single Worker entry-point file
unless find_additional_modules is true, and the file matches one of the configured rules. See
https://developers.cloudflare.com/workers/wrangler/bundling/ for more details and examples.
When using find_additional_modules (or no_bundle) we find files that
will be uploaded to be deployed alongside the Worker.
Previously, if an outDir was specified, only the Worker code was output
to this directory. Now all additional modules are also output there too.
#406731270711 Thanks @mrbbot! - fix: generate valid source maps with wrangler pages dev on macOS
On macOS, wrangler pages dev previously generated source maps with an
incorrect number of ../s in relative paths. This change ensures paths are
always correct, improving support for breakpoint debugging.
#40849a7559b6 Thanks @RamIdeas! - fix: respect the options.local value in unstable_dev (it was being ignored)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps wrangler from 3.1.1 to 3.11.0.
Release notes
Sourced from wrangler's releases.
... (truncated)
Changelog
Sourced from wrangler's changelog.
... (truncated)
Commits
12a6f5e
Version Packages (#4061)90ee30c
Update patches (#4086)807ab93
[wrangler] chore: bumpminiflare
to3.20231002.1
and fix `find_additional...7d20bdb
Addfind_additional_modules
option to support partial bundling with externa...5fc7a88
fix usage of shell-quote.parse on windows (#4105)c71d8a0
chore: bumpminiflare
to3.20231002.0
(#4093)b54512b
useshell-quote
package (#4080)3127071
fix(pages): userealpath
ed tmp dirs to generate valid source maps (#4067)f585f69
Log token info after authentication errors (#3926)9a7559b
respect options.local in unstable_dev (#4084)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show