Skip to content

Prebundle dev toolbar entrypoint in client environment - #16480

Merged
matthewp merged 4 commits into
mainfrom
toolbar-optimize-deps
Apr 27, 2026
Merged

matthewp merged 4 commits into
mainfrom
toolbar-optimize-deps

Conversation

@matthewp

@matthewp matthewp commented Apr 24, 2026 •

Copy link
Copy Markdown
Contributor

Changes

  • Adds astro/runtime/client/dev-toolbar/entrypoint.js to the client environment's optimizeDeps.include. That's all

Testing

  • Reproduced on a vanilla Astro project (no adapter): delete node_modules/.vite, start astro dev, navigate to /. Before: new dependencies optimized: astro/runtime/client/dev-toolbar/entrypoint.js + reload.

Docs

  • N/A, bug fix

@github-actions github-actions Bot added the pkg: astro Related to the core `astro` package (scope) label Apr 24, 2026
@changeset-bot

changeset-bot Bot commented Apr 24, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1de85bb

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

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

@matthewp
matthewp marked this pull request as ready for review April 24, 2026 16:50
@codspeed

codspeed Bot commented Apr 24, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 18 untouched benchmarks


Comparing toolbar-optimize-deps (1de85bb) with main (93101cc)

Open in CodSpeed

@matthewp
matthewp marked this pull request as draft April 24, 2026 17:07
@matthewp
matthewp marked this pull request as ready for review April 24, 2026 18:29
'astro': patch
---

Adds the dev toolbar entrypoint to the client `optimizeDeps.include` to prevent a full page reload on first navigation during dev

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reword the changeset to make it user-facing. I don't think users need to know about optimizeDeps.include`

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Package Trust Level Decreased

Caution

Decreased trust levels may indicate a higher risk of supply chain attacks. Please review these changes carefully.

📦 Package 🔒 Before 🔓 After
drizzle-orm trusted-with-provenance provenance

@matthewp
matthewp merged commit 1bcb43b into main Apr 27, 2026
27 checks passed
@matthewp
matthewp deleted the toolbar-optimize-deps branch April 27, 2026 17:28
@astrobot-houston astrobot-houston mentioned this pull request Apr 28, 2026
dadezzz pushed a commit to dadezzz/university_notes that referenced this pull request May 2, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@astrojs/check](https://github.com/withastro/astro/tree/main/packages/language-tools/astro-check) ([source](https://github.com/withastro/astro/tree/HEAD/packages/language-tools/astro-check)) | [`0.9.8` → `0.9.9`](https://renovatebot.com/diffs/npm/@astrojs%2fcheck/0.9.8/0.9.9) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@astrojs%2fcheck/0.9.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@astrojs%2fcheck/0.9.8/0.9.9?slim=true) |
| [astro](https://astro.build) ([source](https://github.com/withastro/astro/tree/HEAD/packages/astro)) | [`6.1.9` → `6.1.10`](https://renovatebot.com/diffs/npm/astro/6.1.9/6.1.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/astro/6.1.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/astro/6.1.9/6.1.10?slim=true) |

---

### Release Notes

<details>
<summary>withastro/astro (@&#8203;astrojs/check)</summary>

### [`v0.9.9`](https://github.com/withastro/astro/blob/HEAD/packages/language-tools/astro-check/CHANGELOG.md#099)

[Compare Source](https://github.com/withastro/astro/compare/@astrojs/check@0.9.8...@astrojs/check@0.9.9)

##### Patch Changes

- [#&#8203;16471](withastro/astro#16471) [`f56bb3f`](withastro/astro@f56bb3f) Thanks [@&#8203;delucis](https://github.com/delucis)! - Adds support for TypeScript v6 to peer dependencies range

- Updated dependencies \[[`8c62159`](withastro/astro@8c62159)]:
  - [@&#8203;astrojs/language-server](https://github.com/astrojs/language-server)@&#8203;2.16.7

</details>

<details>
<summary>withastro/astro (astro)</summary>

### [`v6.1.10`](https://github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#6110)

[Compare Source](https://github.com/withastro/astro/compare/astro@6.1.9...astro@6.1.10)

##### Patch Changes

- [#&#8203;16479](withastro/astro#16479) [`1058428`](withastro/astro@1058428) Thanks [@&#8203;matthewp](https://github.com/matthewp)! - Fixes a spurious `[WARN] [content] Content config not loaded` warning during `astro dev` for projects that don't use content collections

- [#&#8203;16457](withastro/astro#16457) [`3d82220`](withastro/astro@3d82220) Thanks [@&#8203;matthewp](https://github.com/matthewp)! - Hardens server island encryption to prevent encrypted data from one island component being replayed against a different one

- [#&#8203;16481](withastro/astro#16481) [`152700e`](withastro/astro@152700e) Thanks [@&#8203;matthewp](https://github.com/matthewp)! - Fixes a spurious 404 request for a dev toolbar sourcemap during `astro dev` caused by the browser mis-resolving a relative `sourceMappingURL` from the `/@&#8203;id/` URL prefix

- [#&#8203;16480](withastro/astro#16480) [`1bcb43b`](withastro/astro@1bcb43b) Thanks [@&#8203;matthewp](https://github.com/matthewp)! - Fixes an unnecessary full page reload on first navigation during dev

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuNiIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
matthewp added a commit that referenced this pull request Sep 9, 2026
Framework components imported from MDX content entries are only
reachable through the virtual astro:content module, which Vite's dep
scanner cannot follow, so their framework dependencies were never
pre-bundled at cold start. When the browser then requested them at
runtime, Vite re-optimized and sent a full-reload, reloading the page
once shortly after the first load.

Add mdx to optimizeDeps.entries in both the runnable and client
environments, mirroring the .astro entry added in #16480. Plain .md
files cannot import components, so only .mdx needs scanning.
matthewp added a commit that referenced this pull request Sep 9, 2026
… HMR after ClientRouter navigation (#17953)

* fix(content): preserve Vite module ID in content entry CSS propagation for HMR

* test(render): fix SSRResult typing in renderUniqueStylesheet unit test

The test result mock only provided { styles }, which does not satisfy
SSRResult and broke tsc -b during the build. Cast the mock so the test
typechecks.

* test(content): cover content-propagation CSS HMR after ClientRouter navigation

Adds an e2e test that navigates away and back with ClientRouter, then
edits a Svelte component rendered through a content entry and verifies
the change applies via HMR without a full reload. The load counter
starts after the initial page settles so Vite's one-time cold-start
re-optimization reload is not counted against the navigation flow.

* fix(dev): include MDX files in the optimizeDeps scan

Framework components imported from MDX content entries are only
reachable through the virtual astro:content module, which Vite's dep
scanner cannot follow, so their framework dependencies were never
pre-bundled at cold start. When the browser then requested them at
runtime, Vite re-optimized and sent a full-reload, reloading the page
once shortly after the first load.

Add mdx to optimizeDeps.entries in both the runnable and client
environments, mirroring the .astro entry added in #16480. Plain .md
files cannot import components, so only .mdx needs scanning.

---------

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

Labels

pkg: astro Related to the core `astro` package (scope)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants