Skip to content

test(hosting): pin standalone-hosting-nuxt toolchain - #3358

Closed
sarayev wants to merge 1 commit into
aws-amplify:mainfrom
sarayev:fix/standalone-hosting-nuxt-pin-toolchain
Closed

sarayev wants to merge 1 commit into
aws-amplify:mainfrom
sarayev:fix/standalone-hosting-nuxt-pin-toolchain

Conversation

@sarayev

@sarayev sarayev commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Problem

The standalone-hosting-nuxt e2e fixture floated its entire Nuxt toolchain on caret ranges (nuxt ^4.4.5, vue ^3.5.34, vue-router ^5.0.6, @nuxt/image ^2.0.0). The test setup copies the fixture to a fresh tmpdir and runs a plain npm install, so each CI run can resolve a different nuxt / @nuxt/nitro-server / vue-bundle-renderer combination.

A drifted combination made nuxt build fail during Nitro prerender of the /about route on the windows-2025 runner:

[error] [GET] /__nuxt_error ... statusCode=500 ... Server Error
  Either manifest or precomputed data must be provided
    at createRendererContext (node_modules/vue-bundle-renderer/dist/runtime.mjs:52:39)
Errors prerendering:
  ├─ /about  [500] Server Error
[error] Exiting due to prerender errors.
[BackendBuildError] Unable to deploy due to CDK Assembly Error
  ∟ [NitroBuildError] Framework build failed.
    ∟ Command failed (exit code 1): npm run build

The build dies during CDK synth, before any deploy runs, failing the standalone_hosting_nuxt deployment e2e (stages 2/2b/2c/2d, and 3's SWR check cascades on the missing URL).

Fix

Pin the four direct deps to exact versions and add a vue-bundle-renderer override. vue-bundle-renderer is the transitive dep implicated in the prerender failure, and it is pulled with a loose range that pinning nuxt alone does not lock, so the override pins it directly. This keeps the change to a single reviewable file and relies on the exact pins for deterministic resolution, rather than committing a full lockfile.

Verification

  • Pinned package.json installs and nuxt build completes successfully on Linux (prerender passes, build exits 0).
  • @aws-amplify/integration-tests is private, so no changeset is required.
  • The Windows-only prerender failure could not be reproduced in a Linux environment, so this needs a windows-2025 e2e run to confirm the fix. Opened as draft for that reason.

Notes

Unrelated to the backend-deployer release PR #3357 - that failure chain surfaced this pre-existing fixture flake, but the deployer change is never reached (the build fails before deploy).

@changeset-bot

changeset-bot Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4fee626

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

The standalone-hosting-nuxt e2e fixture floated its Nuxt toolchain on caret
ranges (nuxt ^4.4.5, vue ^3.5.34, vue-router ^5.0.6, @nuxt/image ^2.0.0). The
setup copies the fixture to a fresh tmpdir and runs a plain `npm install`, so
each CI run could resolve a different nuxt/@nuxt/nitro-server/vue-bundle-renderer
combination. A drifted combination made `nuxt build` fail during Nitro prerender
of the /about route on the windows-2025 runner (vue-bundle-renderer "Either
manifest or precomputed data must be provided"), surfacing as a NitroBuildError
before any deploy ran.

Pin the four direct deps to exact versions and add a vue-bundle-renderer
override. vue-bundle-renderer is the transitive dep implicated in the prerender
failure and is pulled with a loose range that pinning nuxt alone does not lock,
so the override pins it directly. This keeps the fix to a single reviewable file
and relies on the exact pins for deterministic resolution.
@sarayev
sarayev force-pushed the fix/standalone-hosting-nuxt-pin-toolchain branch from 40862a7 to 4fee626 Compare October 7, 2026 15:20
@sarayev sarayev changed the title test(hosting): pin standalone-hosting-nuxt toolchain and commit lockfile test(hosting): pin standalone-hosting-nuxt toolchain Oct 7, 2026
@sarayev

sarayev commented Oct 7, 2026

Copy link
Copy Markdown
Contributor Author

Reopening from an internal branch (aws-amplify/amplify-backend) instead of my fork so the deployment e2e can obtain the AWS OIDC credentials fork PRs can't get. Same commit.

@sarayev sarayev closed this Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant