Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(adapter-cloudflare): add metafile option and print bundle stats #12923

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

d3lm
Copy link

@d3lm d3lm commented Oct 31, 2024

This PR adds a new metafile option to the Cloudflare adapter. The metafile can be useful if you wanna analyze the bundle size.

I also decided to print the size of the worker bundle which is pretty handy to see as part of the build output.

Fixes #12921

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.

Tests

  • Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

  • If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

  • Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

Copy link

changeset-bot bot commented Oct 31, 2024

🦋 Changeset detected

Latest commit: e1270b4

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

This PR includes changesets to release 1 package
Name Type
@sveltejs/adapter-cloudflare Minor

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

@Rich-Harris
Copy link
Member

Thank you, though this seems like a slightly unusual thing to add to one specific adapter, or even for that matter all adapters that just happen to use esbuild (and obviously it would be bad to duplicate the code to different adapters). Can you elaborate on why this is helpful? Feels like something that potentially belongs in the adapter API

@d3lm
Copy link
Author

d3lm commented Oct 31, 2024

Can you elaborate on why this is helpful?

The stats itself were just helpful for me to keep an eye on the bundle size because I noticed that my bundle was pretty big and printing it as part of the build step allows for quicker feedback loops. I then started optimizing the bundle and removing dependencies which are client-only.

And for that, the metafile comes in handy because it allows you to analyze the bundle via https://esbuild.github.io/analyze.

I agree, that we may wanna add this to the adapter API instead if all adapters use esbuild. Otherwise, we'd be duplicating the code. Alternatively, we could have some util functions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add metafile option for Cloudflare adapeter
3 participants