fix(core): append assetQueryParams to inter-chunk JS imports (#15964)#16110
Conversation
🦋 Changeset detectedLatest commit: ebf6975 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 |
|
can we use es-module-lexer for this? we already use it in some places like here: Definitely want to make sure we're getting both static and dynamic imports. |
@matthewp Thanks for the review! I'll refactor to use |
1453e8d to
6256749
Compare
|
Hi, @matthewp |
|
No it's a flaky test, I'll rerun it. |
|
Fixes #14775 |
|
Hi @matthewp |
|
@tmimmanuel Code looks good, can you add a changeset? |
|
@matthewp |
|
@matthewp |
| await init; | ||
| const [imports] = parse(code); | ||
|
|
||
| // Filter to relative JS imports only |
There was a problem hiding this comment.
why filter to only relative imports?
There was a problem hiding this comment.
I think Vite only generates relative paths for inter-chunk references in bundled output. But please let me know if there's a case I might be missing.
There was a problem hiding this comment.
Ah yeah that's right, ok this is good.
|
@matthewp Thanks. |
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [astro](https://astro.build) ([source](https://github.com/withastro/astro/tree/HEAD/packages/astro)) | [`6.1.1` → `6.1.3`](https://renovatebot.com/diffs/npm/astro/6.1.1/6.1.3) |  |  | --- ### Release Notes <details> <summary>withastro/astro (astro)</summary> ### [`v6.1.3`](https://github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#613) [Compare Source](https://github.com/withastro/astro/compare/astro@6.1.2...astro@6.1.3) ##### Patch Changes - [#​16161](withastro/astro#16161) [`b51f297`](withastro/astro@b51f297) Thanks [@​matthewp](https://github.com/matthewp)! - Fixes a dev rendering issue with the Cloudflare adapter where head metadata could be missing and dev CSS/scripts could be injected in the wrong place - [#​16110](withastro/astro#16110) [`de669f0`](withastro/astro@de669f0) Thanks [@​tmimmanuel](https://github.com/tmimmanuel)! - Fixes skew protection query parameters not being appended to inter-chunk JavaScript imports in client bundles, which could cause version mismatches during rolling deployments on Vercel - [#​16162](withastro/astro#16162) [`a0a49e9`](withastro/astro@a0a49e9) Thanks [@​rururux](https://github.com/rururux)! - Fixes an issue where HMR would not trigger when modifying files while using [@​astrojs/cloudflare](https://github.com/astrojs/cloudflare) with prerenderEnvironment: 'node' enabled. - [#​16142](withastro/astro#16142) [`7454854`](withastro/astro@7454854) Thanks [@​rururux](https://github.com/rururux)! - Fixes HTML content being incorrectly escaped as plain text when rendering a MDX component using the `AstroContainer` APIs. - [#​16116](withastro/astro#16116) [`12602a9`](withastro/astro@12602a9) Thanks [@​riderx](https://github.com/riderx)! - Fixes a bug where page-level CSS could leak between unrelated pages when traversing style parents across top-level route boundaries - [#​16178](withastro/astro#16178) [`a7e7567`](withastro/astro@a7e7567) Thanks [@​matthewp](https://github.com/matthewp)! - Fixes SSR builds failing with "No matching renderer found" when a project only has injected routes and no `src/pages/` directory ### [`v6.1.2`](https://github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#612) [Compare Source](https://github.com/withastro/astro/compare/astro@6.1.1...astro@6.1.2) ##### Patch Changes - [#​16104](withastro/astro#16104) [`47a394d`](withastro/astro@47a394d) Thanks [@​matthewp](https://github.com/matthewp)! - Fixes `astro preview` ignoring `vite.preview.allowedHosts` set in `astro.config.mjs` - [#​16047](withastro/astro#16047) [`711f837`](withastro/astro@711f837) Thanks [@​matthewp](https://github.com/matthewp)! - Fixes catch-all routes incorrectly intercepting requests for static assets when using the `@astrojs/node` adapter in middleware mode. - [#​15981](withastro/astro#15981) [`a60cbb6`](withastro/astro@a60cbb6) Thanks [@​moktamd](https://github.com/moktamd)! - Fix Zod v4 validation error formatting to show human-readable messages instead of raw JSON </details> --- ### 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4xIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: Renovate Bot <renovate@zarantonello.dev> Co-committed-by: Renovate Bot <renovate@zarantonello.dev>
Changes
assetQueryParams(e.g.,?dpl=<VERCEL_DEPLOYMENT_ID>), breaking Vercel skew protection for code-split appsrenderChunkplugin (plugin-chunk-imports.ts) that rewrites relative import paths in client chunks to include the configured query parametersassetQueryParamsis not configuredBefore:
After:
Closes #15964
Testing
appends assetQueryParams to relative imports inside client JS chunksasset-query-paramstests pass?dpl=on relativefrom"./..."importsassetQueryParamsconfigured (no regression for non-Vercel builds)Docs
No docs changes needed.